Sha256: d5d2a3a1bf0822ce6e4491263721d60d92c63a6a6242af5c54ae426b9cbc51f7
Contents?: true
Size: 1.36 KB
Versions: 1
Compression:
Stored size: 1.36 KB
Contents
require 'psych' require_relative 'yaml_ast_proxy/node' require_relative 'yaml_ast_proxy/mapping' require_relative 'yaml_ast_proxy/sequence' module I18nFlow::YamlAstProxy def self.create(node, parent: nil, scopes: [], file_path: nil) case node when NilClass nil when Node if node.parent == parent \ && node.scopes == scopes \ && node.file_path == file_path node else node.class.new(node.node, parent: parent, scopes: scopes, file_path: file_path, ) end when Psych::Nodes::Stream, Psych::Nodes::Document Node.new(node.children.first, parent: node, scopes: scopes, file_path: file_path, ) when Psych::Nodes::Mapping Mapping.new(node, parent: parent, scopes: scopes, file_path: file_path, ) when Psych::Nodes::Sequence Sequence.new(node, parent: parent, scopes: scopes, file_path: file_path, ) else Node.new(node, parent: parent, scopes: scopes, file_path: file_path, ) end end def self.new_root doc = Psych::Nodes::Document.new([], [], true) doc.children << Psych::Nodes::Mapping.new stream = Psych::Nodes::Stream.new stream.children << doc create(stream) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
i18n_flow-0.1.0 | lib/i18n_flow/yaml_ast_proxy.rb |