class EacRubyUtils::Yaml::Sanitizer
Constants
- RESULT_TYPES
Attributes
source[R]
Public Class Methods
new(source)
click to toggle source
# File lib/eac_ruby_utils/yaml.rb, line 52 def initialize(source) @source = source end
Public Instance Methods
result()
click to toggle source
# File lib/eac_ruby_utils/yaml.rb, line 56 def result RESULT_TYPES.each do |type| return send("result_#{type}") if send("result_#{type}?") end source.to_s end
Private Instance Methods
result_enumerableable()
click to toggle source
# File lib/eac_ruby_utils/yaml.rb, line 70 def result_enumerableable source.to_a.map { |child| sanitize_value(child) } end
result_enumerableable?()
click to toggle source
# File lib/eac_ruby_utils/yaml.rb, line 66 def result_enumerableable? source.respond_to?(:to_a) && !source.is_a?(::Hash) end
result_hashable()
click to toggle source
# File lib/eac_ruby_utils/yaml.rb, line 78 def result_hashable source.to_h.map { |k, v| [k.to_sym, sanitize_value(v)] }.to_h end
result_hashable?()
click to toggle source
# File lib/eac_ruby_utils/yaml.rb, line 74 def result_hashable? source.respond_to?(:to_h) end
result_nil()
click to toggle source
# File lib/eac_ruby_utils/yaml.rb, line 86 def result_nil nil end
result_nil?()
click to toggle source
# File lib/eac_ruby_utils/yaml.rb, line 82 def result_nil? source.nil? end
result_permitted()
click to toggle source
# File lib/eac_ruby_utils/yaml.rb, line 95 def result_permitted source end
result_permitted?()
click to toggle source
# File lib/eac_ruby_utils/yaml.rb, line 90 def result_permitted? (::EacRubyUtils::Yaml.permitted_classes - [::Array, ::Hash]) .any? { |klass| source.is_a?(klass) } end
sanitize_value(value)
click to toggle source
# File lib/eac_ruby_utils/yaml.rb, line 99 def sanitize_value(value) self.class.new(value).result end