class Jumunge::JuOther

Public Class Methods

new(object, trail, trails) click to toggle source
# File lib/jumunge.rb, line 62
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 68
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 84
def deep_applied_value
  Jumunge.new(@object[key_name], remaining_trails).perform
end
empty_value() click to toggle source
# File lib/jumunge.rb, line 80
def empty_value
  {}
end
key_name() click to toggle source
# File lib/jumunge.rb, line 76
def key_name
  @trail
end
remaining_trails() click to toggle source
# File lib/jumunge.rb, line 88
def remaining_trails
  @remaining_trails ||= @trails.join('.')
end