Class: Bound::ObjectSeeder

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

Instance Method Summary collapse

Constructor Details

#initialize(receiver) ⇒ ObjectSeeder

Returns a new instance of ObjectSeeder.



281
282
283
# File 'lib/bound.rb', line 281

def initialize(receiver)
  @receiver = receiver
end

Instance Method Details

#seed(object) ⇒ Object



285
286
287
288
289
290
291
292
293
294
295
296
297
# File 'lib/bound.rb', line 285

def seed(object)
  @receiver.get_attributes.each do |attribute|
    next if attribute.is_assigned?

    begin
      value = attribute.call_on(object)
      assign_to_receiver attribute, value
    rescue BoundClass::Attribute::NotImplemented
      # no assignment if object hasn't desired method
      # this prevents null-assignments
    end
  end
end