module Hamster::Immutable::InstanceMethods

@private

Public Instance Methods

__hamster_immutable_dup__()
Alias for: dup
clone() click to toggle source
# File lib/hamster/immutable.rb, line 60
def clone
  self
end
dup() click to toggle source
# File lib/hamster/immutable.rb, line 56
def dup
  self
end
Also aliased as: __hamster_immutable_dup__
immutable!() click to toggle source
# File lib/hamster/immutable.rb, line 45
def immutable!
  freeze
end
immutable?() click to toggle source
# File lib/hamster/immutable.rb, line 49
def immutable?
  frozen?
end

Protected Instance Methods

transform(&block) click to toggle source
# File lib/hamster/immutable.rb, line 70
def transform(&block)
  __hamster_immutable_dup__.tap { |copy| copy.instance_eval(&block) }.immutable!
end
transform_unless(condition, &block) click to toggle source
# File lib/hamster/immutable.rb, line 66
def transform_unless(condition, &block)
  condition ? self : transform(&block)
end