Class: SmartSeeds::Performing

Inherits:
Object
  • Object
show all
Includes:
ActiveSupport::Inflector
Defined in:
lib/smart_seeds/performing.rb

Instance Method Summary collapse

Constructor Details

#initialize(model, attrs, size) ⇒ Performing

Returns a new instance of Performing.



5
6
7
8
9
10
11
# File 'lib/smart_seeds/performing.rb', line 5

def initialize(model, attrs, size)
  @attrs = attrs
  @model = model
  @object = model.new
  @size = size
  @skippable_attributes = %w(id)
end

Instance Method Details

#startObject



13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/smart_seeds/performing.rb', line 13

def start
  size.times do
    add_skippable_attributes
    set_default_values

    # User can send custom values in a hash: SmartSeeds.plant(Entity, {name: 'Aleah'})
    # This method overrides default values to custom('name' in the example above)
    set_custom_values if attrs.any?
    object.save
  end

  return "Done! #{size} #{model.name.downcase.pluralize(size)} was/were planted."
end