class FixtureOverlord::Model

Public Class Methods

create(hash, filename) click to toggle source
# File lib/fixture_overlord/model.rb, line 11
def create(hash, filename)
  new(hash, filename).create_as_model
end
Also aliased as: create!
create!(hash, filename)
Alias for: create
init(hash, filename) click to toggle source
# File lib/fixture_overlord/model.rb, line 7
def init(hash, filename)
  new(hash, filename).new_model_with_values
end
new(hash, filename) click to toggle source
# File lib/fixture_overlord/model.rb, line 17
def initialize(hash, filename)
  @hash, @filename = hash, filename
end

Public Instance Methods

can_convert_to_model?() click to toggle source
# File lib/fixture_overlord/model.rb, line 37
def can_convert_to_model?
  model = model_name
  model.respond_to?(:superclass) &&
    model.superclass == ::ActiveRecord::Base
end
convert_to_model() click to toggle source
# File lib/fixture_overlord/model.rb, line 21
def convert_to_model
  model_name.new( sanitize_hash )
end
create_as_model() click to toggle source
# File lib/fixture_overlord/model.rb, line 29
def create_as_model
  model_name.create( sanitize_hash )
end
model_name() click to toggle source
# File lib/fixture_overlord/model.rb, line 33
def model_name
  @model_name ||= @filename.to_s.singularize.classify.constantize
end
new_model_with_values() click to toggle source
# File lib/fixture_overlord/model.rb, line 25
def new_model_with_values
  model_name.new( sanitize_hash )
end
respond_to_model_methods?() click to toggle source
# File lib/fixture_overlord/model.rb, line 43
def respond_to_model_methods?
  model = convert_to_model
  model.respond_to?(:create!) ||
    model.respond_to?(:create) ||
    model.respond_to?(:build)
end
sanitize_hash() click to toggle source
# File lib/fixture_overlord/model.rb, line 50
def sanitize_hash
  @hash.delete_if { |key,value| key.to_sym == :id }
end