Class: Bound::ObjectSeeder
- Inherits:
-
Object
- Object
- Bound::ObjectSeeder
- Defined in:
- lib/bound.rb
Instance Method Summary collapse
-
#initialize(receiver) ⇒ ObjectSeeder
constructor
A new instance of ObjectSeeder.
- #seed(object) ⇒ Object
Constructor Details
#initialize(receiver) ⇒ ObjectSeeder
Returns a new instance of ObjectSeeder.
272 273 274 |
# File 'lib/bound.rb', line 272 def initialize(receiver) @receiver = receiver end |
Instance Method Details
#seed(object) ⇒ Object
276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 |
# File 'lib/bound.rb', line 276 def seed(object) @receiver.get_attributes.each do |attribute| begin value = attribute.call_on(object) rescue NoMethodError value = nil raise ArgumentError, "missing #{attribute.name}" if attribute.required? end method = "#{attribute.name}=" if @receiver.respond_to?(method) @receiver.send method, value else raise NoMethodError, "undefined method `#{method}' for #{self}" end end end |