Class: SafeYAML::SyckResolver

Inherits:
Resolver
  • Object
show all
Defined in:
lib/safe_yaml/syck_resolver.rb

Constant Summary collapse

QUOTE_STYLES =
[
  :quote1,
  :quote2
].freeze
NODE_TYPES =
{
  Hash   => :map,
  Array  => :seq,
  String => :scalar
}.freeze

Instance Method Summary collapse

Methods inherited from Resolver

#get_and_check_node_tag, #options, #resolve_map, #resolve_node, #resolve_scalar, #resolve_seq, #tag_is_whitelisted?

Constructor Details

#initialize(options = {}) ⇒ SyckResolver

Returns a new instance of SyckResolver.



14
15
16
# File 'lib/safe_yaml/syck_resolver.rb', line 14

def initialize(options={})
  super
end

Instance Method Details

#get_node_tag(node) ⇒ Object



26
27
28
# File 'lib/safe_yaml/syck_resolver.rb', line 26

def get_node_tag(node)
  node.type_id
end

#get_node_type(node) ⇒ Object



22
23
24
# File 'lib/safe_yaml/syck_resolver.rb', line 22

def get_node_type(node)
  NODE_TYPES[node.value.class]
end

#get_node_value(node) ⇒ Object



30
31
32
# File 'lib/safe_yaml/syck_resolver.rb', line 30

def get_node_value(node)
  node.value
end

#native_resolve(node) ⇒ Object



18
19
20
# File 'lib/safe_yaml/syck_resolver.rb', line 18

def native_resolve(node)
  node.transform(self.options)
end

#value_is_quoted?(node) ⇒ Boolean

Returns:

  • (Boolean)


34
35
36
# File 'lib/safe_yaml/syck_resolver.rb', line 34

def value_is_quoted?(node)
  QUOTE_STYLES.include?(node.instance_variable_get(:@style))
end