Module: Ars::Familiar::DSL

Defined in:
lib/ars/familiar.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#builderObject (readonly)

Returns the value of attribute builder.



11
12
13
# File 'lib/ars/familiar.rb', line 11

def builder
  @builder
end

Instance Method Details

#realize_attributes!Object



23
24
25
26
# File 'lib/ars/familiar.rb', line 23

def realize_attributes!
  primary_key builder.primary_key if builder.primary_key?
  attributes builder.attributes_to_define
end

#realize_relationships!(**opts) ⇒ Object



28
29
30
31
32
# File 'lib/ars/familiar.rb', line 28

def realize_relationships!(**opts)
  builder.relationships_to_define(opts).each do |relationship|
    self.send(*relationship)
  end
end

#shadow(model) ⇒ Object



13
14
15
16
17
18
19
20
21
# File 'lib/ars/familiar.rb', line 13

def shadow(model)
  consume = model.dup
  model = Familiar::Mongoid.new(model)
  consumed = consume.constantize rescue false
  unless consumed
    Scribe.read_for model
  end
  @builder = model
end