class Performing

Attributes

attrs[R]
model[R]
object[R]

Public Class Methods

new(model, attrs) click to toggle source
# File lib/performing.rb, line 2
def initialize(model, attrs)
  @attrs = attrs
  @model = model
  @object = model.new
end

Public Instance Methods

call() click to toggle source
# File lib/performing.rb, line 8
def call
  set_default_values
  set_custom_values if attrs.any?

  object.save!
end

Private Instance Methods

generate_value(column_type) click to toggle source
# File lib/performing.rb, line 38
def generate_value(column_type)
  Generating.generate_value(column_type)
end
set_custom_values() click to toggle source
# File lib/performing.rb, line 30
def set_custom_values
  attrs.each do |attr|
    key = attr.first
    value = attr.last
    object[key.to_s] = value
  end
end
set_default_values() click to toggle source
# File lib/performing.rb, line 21
def set_default_values
  model.columns.each do |column|
    column_name = column.name
    column_type = column.type

    object[column_name] = generate_value(column_type)
  end
end