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, #resolve_map, #resolve_node, #resolve_scalar, #resolve_seq, #tag_is_whitelisted?

Constructor Details

#initializeSyckResolver

Returns a new instance of SyckResolver.



11
12
13
# File 'lib/safe_yaml/syck_resolver.rb', line 11

def initialize
  super()
end

Instance Method Details

#get_node_tag(node) ⇒ Object



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

def get_node_tag(node)
  node.type_id
end

#get_node_type(node) ⇒ Object



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

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

#get_node_value(node) ⇒ Object



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

def get_node_value(node)
  node.value
end

#native_resolve(node) ⇒ Object



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

def native_resolve(node)
  node.transform
end

#value_is_quoted?(node) ⇒ Boolean

Returns:

  • (Boolean)


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

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