class Stacks::Items::MethodCall

Public Class Methods

new(object, method, args) click to toggle source
# File lib/stacks/items/method_call.rb, line 3
def initialize(object, method, args)
  @object = object
  @method = method
  @args = args
end

Public Instance Methods

key() click to toggle source
# File lib/stacks/items/method_call.rb, line 19
def key
  @key = Digest::SHA2.hexdigest(key_str)
end
key_str() click to toggle source
# File lib/stacks/items/method_call.rb, line 9
def key_str
  return @key_str if @key_str

  object_str = Marshal.dump(@object)
  method_str = @method.to_s
  arg_str = Marshal.dump(@args)

  @key_str ||= [object_str, method_str, arg_str].join(Stacks::key_separator)
end
value() click to toggle source
# File lib/stacks/items/method_call.rb, line 23
def value
  @object.send(@method, *@args)
end