class Clarc::RepositoryBase
Public Class Methods
all()
click to toggle source
# File lib/clarc/repository_base.rb, line 4 def all wrap(persistance_class.all) end
find(id)
click to toggle source
# File lib/clarc/repository_base.rb, line 8 def find id wrap(persistance_class.find(id)) end
save(model)
click to toggle source
# File lib/clarc/repository_base.rb, line 12 def save model persisted = persistance_class.new(model.to_hash) result = persisted.save model.id = persisted.id result end
Protected Class Methods
model_class()
click to toggle source
# File lib/clarc/repository_base.rb, line 32 def model_class "#{name.gsub('Repository', '')}".constantize end
persistance_class()
click to toggle source
# File lib/clarc/repository_base.rb, line 36 def persistance_class "#{name.gsub('Repository', '')}Persistance".constantize end
wrap(result)
click to toggle source
# File lib/clarc/repository_base.rb, line 21 def wrap result case result when Array, ActiveRecord::Relation result.map{ |p| model_class.new(p.attributes) } when ActiveRecord::Base model_class.new(result.attributes) else raise "unknown type - #{result.class}" end end