class Translatomatic::ResourceFile::Plist
Property list resource file @see en.wikipedia.org/wiki/Property_list
Constants
- EMPTY_DOC
- PlistNode
@private
Public Class Methods
extensions()
click to toggle source
(see Base.extensions
)
# File lib/translatomatic/resource_file/plist.rb, line 11 def self.extensions %w[plist] end
key_value?()
click to toggle source
(see Base.key_value?
)
# File lib/translatomatic/resource_file/plist.rb, line 16 def self.key_value? true end
Private Instance Methods
create_node(key, value)
click to toggle source
# File lib/translatomatic/resource_file/plist.rb, line 36 def create_node(key, value) # add properties to first dict found dict = @doc.xpath('//dict') # TODO: not sure sure what to do if dict is missing raise 'missing top level dictionary' unless dict.present? dict = dict[0] # add xml: <data name="key"><value>value</value></data> key_node = Nokogiri::XML::Node.new('key', @doc) key_node.content = key value_node = Nokogiri::XML::Node.new('string', @doc) value_node.content = value dict.add_child(key_node) dict.add_child(value_node) @nodemap[key] = value_node @properties[key] = value end
empty_doc()
click to toggle source
# File lib/translatomatic/resource_file/plist.rb, line 55 def empty_doc Nokogiri::XML(EMPTY_DOC) end
init_nodemap()
click to toggle source
# File lib/translatomatic/resource_file/plist.rb, line 22 def init_nodemap result = Parser.new.parse(@doc) # puts "parser result:" # p result @flattened_data = flatten(result) @nodemap = @flattened_data.transform_values(&:node) # puts "nodemap:" # p @nodemap end
init_properties()
click to toggle source
# File lib/translatomatic/resource_file/plist.rb, line 32 def init_properties @properties = @flattened_data.transform_values(&:content) end