module Rmodel::RepositoryExt::Scopable
Public Class Methods
included(base)
click to toggle source
# File lib/rmodel/repository_ext/scopable.rb, line 4 def self.included(base) base.extend ClassMethods end
Public Instance Methods
delete_all(scope = nil)
click to toggle source
# File lib/rmodel/repository_ext/scopable.rb, line 20 def delete_all(scope = nil) raw_query = (scope || fetch).raw_query @source.delete_by_query(raw_query) end
destroy_all(scope = nil)
click to toggle source
# File lib/rmodel/repository_ext/scopable.rb, line 25 def destroy_all(scope = nil) find_all(scope).each { |object| destroy(object) } end
fetch()
click to toggle source
# File lib/rmodel/repository_ext/scopable.rb, line 8 def fetch self.class.scope_class.new(self, @source.build_query) end
find_all(scope = nil)
click to toggle source
# File lib/rmodel/repository_ext/scopable.rb, line 12 def find_all(scope = nil) raw_query = (scope || fetch).raw_query @source.exec_query(raw_query).map do |hash| @mapper.deserialize(hash) end end