Module: Mimic::Build

Defined in:
lib/mimic/build.rb

Class Method Summary collapse

Class Method Details

.call(subject_class, record: nil, &blk) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/mimic/build.rb', line 3

def self.call(subject_class, record: nil, &blk)
  record ||= false

  cls = Class.build(subject_class, &blk)

  subject_methods = Mimic.subject_methods(cls)

  RemoveMethods.(cls, subject_methods)

## TODO goes in Class.build
## It's about the class def
  if record
    cls.class_exec do
      include Recorder
    end
  end

  DefineMethods.(cls, subject_methods, record: record)

  cls
end