module Repositorish::ClassMethods
Public Instance Methods
create(model, *args, &block)
click to toggle source
# File lib/repositorish.rb, line 75 def create(model, *args, &block) return false if model.persisted? model.save(*args, &block) end
destroy(model)
click to toggle source
# File lib/repositorish.rb, line 87 def destroy(model) return if model.new_record? model.destroy end
method_missing(method, *args, &block)
click to toggle source
Calls superclass method
# File lib/repositorish.rb, line 97 def method_missing(method, *args, &block) return query.public_send(method, *args, &block) if method_defined?(method) raise DomainMethodError, method if @domain.respond_to?(method) super end
query(domain = @domain)
click to toggle source
# File lib/repositorish.rb, line 93 def query(domain = @domain) new(domain) end
repositorish(model, options = {})
click to toggle source
# File lib/repositorish.rb, line 69 def repositorish(model, options = {}) @domain = model.to_s.classify.constantize @domain = @domain.public_send(options[:scope]) if options[:scope] self end
update(model, *args, &block)
click to toggle source
# File lib/repositorish.rb, line 81 def update(model, *args, &block) return false if model.new_record? model.save(*args, &block) end