module TweekCatalogue::Concerns::ObjectFactories::ClassMethods
Public Instance Methods
build_primary_key(*args)
click to toggle source
# File lib/tweek_catalogue/concerns/object_factories.rb, line 27 def build_primary_key(*args); raise NotImplementedError end
first_or_create!(primary_key, attrs = {})
click to toggle source
# File lib/tweek_catalogue/concerns/object_factories.rb, line 20 def first_or_create!(primary_key, attrs = {}) map_id!(primary_key) if primary_key.present? _primary_key = primary_key ? primary_key : send(:build_primary_key, attrs) first(_primary_key) || create!(_primary_key.merge(attrs)) end
update_or_create!(primary_key, attrs)
click to toggle source
# File lib/tweek_catalogue/concerns/object_factories.rb, line 8 def update_or_create!(primary_key, attrs) map_id!(primary_key) if primary_key.present? record = first(primary_key) if record record.update_attributes(attrs) record else create!(primary_key.merge(attrs)) end end
Private Instance Methods
map_id!(attrs)
click to toggle source
# File lib/tweek_catalogue/concerns/object_factories.rb, line 31 def map_id!(attrs) attrs[:tmdb_id] = attrs[:tmdb_id].to_s if attrs[:tmdb_id].present? end