Class: Polaroid

Inherits:
Module
  • Object
show all
Defined in:
lib/polaroid.rb

Defined Under Namespace

Modules: ClassMethods

Constant Summary collapse

VERSION =
"0.0.4"

Instance Method Summary collapse

Constructor Details

#initialize(*messages) ⇒ Polaroid

Returns a new instance of Polaroid.



5
6
7
8
9
10
# File 'lib/polaroid.rb', line 5

def initialize(*messages)
  @messages = messages
  @polaroid_struct_class = ImmutableStruct.new(*messages)
  define_capture_method
  freeze
end

Instance Method Details

#included(base) ⇒ Object

Build the fake class for internal use in the including class’ namespace.



13
14
15
16
# File 'lib/polaroid.rb', line 13

def included(base)
  base.const_set(:Snapshot, @polaroid_struct_class)
  base.extend(ClassMethods)
end