class Jumunge::JuOpt

Public Class Methods

new(object, trail, trails) click to toggle source
# File lib/jumunge.rb, line 104
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 110
def perform
  if @object.key? key_name
    @object[key_name] = deep_applied_value
    @object
  else
    @object
  end
end

Private Instance Methods

deep_applied_value() click to toggle source
# File lib/jumunge.rb, line 125
def deep_applied_value
  Jumunge.new(@object[key_name], remaining_trails).perform
end
key_name() click to toggle source
# File lib/jumunge.rb, line 121
def key_name
  @key_name ||= @trail[0..-2]
end
remaining_trails() click to toggle source
# File lib/jumunge.rb, line 129
def remaining_trails
  @remaining_trails ||= @trails.join('.')
end