D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
td-agent
/
embedded
/
lib
/
ruby
/
gems
/
2.1.0
/
gems
/
draper-1.4.0
/
lib
/
draper
/
Filename :
finders.rb
back
Copy
module Draper # Provides automatically-decorated finder methods for your decorators. You # do not have to extend this module directly; it is extended by # {Decorator.decorates_finders}. module Finders def find(id, options = {}) decorate(object_class.find(id), options) end def all(options = {}) decorate_collection(object_class.all, options) end def first(options = {}) decorate(object_class.first, options) end def last(options = {}) decorate(object_class.last, options) end # Decorates dynamic finder methods (`find_all_by_` and friends). def method_missing(method, *args, &block) return super unless method =~ /^find_(all_|last_|or_(initialize_|create_))?by_/ result = object_class.send(method, *args, &block) options = args.extract_options! if method =~ /^find_all/ decorate_collection(result, options) else decorate(result, options) end end end end