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!
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