Module: Unparser::Anima::InstanceMethods

Defined in:
lib/unparser/anima.rb

Overview

Static instance methods for anima infected classes

Instance Method Summary collapse

Instance Method Details

#initialize(attributes) ⇒ undefined

Initialize an anima infected object

rubocop:disable Lint/MissingSuper

Parameters:

  • attributes (#to_h)

    a hash that matches anima defined attributes

Returns:

  • (undefined)


91
92
93
# File 'lib/unparser/anima.rb', line 91

def initialize(attributes)
  self.class.anima.initialize_instance(self, attributes)
end

#to_hHash

Return a hash representation of an anima infected object

Examples:

anima.to_h # => { :foo => : bar }

Returns:

  • (Hash)


104
105
106
# File 'lib/unparser/anima.rb', line 104

def to_h
  self.class.anima.attributes_hash(self)
end

#with(attributes) ⇒ Anima

Return updated instance

Examples:

klass = Class.new do
  include Anima.new(:foo, :bar)
end

foo = klass.new(:foo => 1, :bar => 2)
updated = foo.with(:foo => 3)
updated.foo # => 3
updated.bar # => 2

Parameters:

  • attributes (Hash)

Returns:



125
126
127
# File 'lib/unparser/anima.rb', line 125

def with(attributes)
  self.class.new(to_h.update(attributes))
end