Class: Polaroid

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

Defined Under Namespace

Modules: ClassMethods

Constant Summary collapse

VERSION =
"0.0.5"

Instance Method Summary collapse

Constructor Details

#initialize(*messages) ⇒ Polaroid

Returns a new instance of Polaroid.



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

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.



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

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