class Jumunge::JuArray
Public Class Methods
new(object, trail, trails)
click to toggle source
# File lib/jumunge.rb, line 28 def initialize(object, trail, trails) @object = object @trail = trail @trails = trails end
Public Instance Methods
perform()
click to toggle source
# File lib/jumunge.rb, line 34 def perform @object[key_name] = empty_value unless @object.key? key_name @object[key_name] = deep_applied_value if @trails.size.positive? @object end
Private Instance Methods
deep_applied_value()
click to toggle source
# File lib/jumunge.rb, line 50 def deep_applied_value @object[key_name].map do |value| Jumunge.new(value, remaining_trails).perform end end
empty_value()
click to toggle source
# File lib/jumunge.rb, line 46 def empty_value [] end
key_name()
click to toggle source
# File lib/jumunge.rb, line 42 def key_name @key_name ||= @trail[0..-3] end
remaining_trails()
click to toggle source
# File lib/jumunge.rb, line 56 def remaining_trails @remaining_trails ||= @trails.join('.') end