2012-05-09 22:02:54 +00:00
|
|
|
require 'action_view'
|
2013-01-31 09:41:52 +00:00
|
|
|
require 'active_model/naming'
|
2013-01-17 03:17:11 +00:00
|
|
|
require 'active_model/serialization'
|
2013-01-31 09:41:52 +00:00
|
|
|
require 'active_model/serializers/json'
|
|
|
|
require 'active_model/serializers/xml'
|
2013-01-17 03:17:11 +00:00
|
|
|
require 'active_support/inflector'
|
|
|
|
require 'active_support/core_ext/hash/keys'
|
|
|
|
require 'active_support/core_ext/hash/reverse_merge'
|
2013-05-20 10:16:01 +00:00
|
|
|
require 'active_support/core_ext/name_error'
|
2012-05-09 22:02:54 +00:00
|
|
|
|
|
|
|
require 'draper/version'
|
2017-03-31 14:05:15 +00:00
|
|
|
require 'draper/configuration'
|
2012-10-16 14:38:51 +00:00
|
|
|
require 'draper/view_helpers'
|
2017-04-03 13:19:42 +00:00
|
|
|
require 'draper/compatibility/api_only'
|
2013-01-14 03:27:58 +00:00
|
|
|
require 'draper/delegation'
|
|
|
|
require 'draper/automatic_delegation'
|
2012-10-14 22:35:25 +00:00
|
|
|
require 'draper/finders'
|
2012-10-09 08:51:40 +00:00
|
|
|
require 'draper/decorator'
|
2012-10-14 22:01:15 +00:00
|
|
|
require 'draper/helper_proxy'
|
2011-07-13 05:00:10 +00:00
|
|
|
require 'draper/lazy_helpers'
|
2012-10-09 09:11:57 +00:00
|
|
|
require 'draper/decoratable'
|
2013-02-06 23:45:35 +00:00
|
|
|
require 'draper/factory'
|
2012-11-08 13:06:24 +00:00
|
|
|
require 'draper/decorated_association'
|
2011-10-29 02:20:28 +00:00
|
|
|
require 'draper/helper_support'
|
2011-10-08 05:06:19 +00:00
|
|
|
require 'draper/view_context'
|
2012-10-09 09:07:14 +00:00
|
|
|
require 'draper/collection_decorator'
|
2014-04-22 21:05:55 +00:00
|
|
|
require 'draper/undecorate'
|
2013-02-07 00:39:42 +00:00
|
|
|
require 'draper/decorates_assigned'
|
2012-03-14 18:17:07 +00:00
|
|
|
require 'draper/railtie' if defined?(Rails)
|
2012-05-09 17:32:58 +00:00
|
|
|
|
2012-11-01 00:16:09 +00:00
|
|
|
module Draper
|
2017-03-31 14:05:15 +00:00
|
|
|
extend Draper::Configuration
|
|
|
|
|
2012-11-13 20:44:39 +00:00
|
|
|
def self.setup_action_controller(base)
|
|
|
|
base.class_eval do
|
2017-04-03 13:19:42 +00:00
|
|
|
include Draper::Compatibility::ApiOnly if base == ActionController::API
|
2012-11-13 20:44:39 +00:00
|
|
|
include Draper::ViewContext
|
|
|
|
extend Draper::HelperSupport
|
2013-02-07 00:39:42 +00:00
|
|
|
extend Draper::DecoratesAssigned
|
2013-01-18 16:40:57 +00:00
|
|
|
|
2016-07-04 21:08:25 +00:00
|
|
|
before_action :activate_draper
|
2012-11-13 20:44:39 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
def self.setup_action_mailer(base)
|
|
|
|
base.class_eval do
|
|
|
|
include Draper::ViewContext
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2012-12-11 20:59:49 +00:00
|
|
|
def self.setup_orm(base)
|
2012-11-13 20:44:39 +00:00
|
|
|
base.class_eval do
|
|
|
|
include Draper::Decoratable
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2012-11-01 00:16:09 +00:00
|
|
|
class UninferrableDecoratorError < NameError
|
|
|
|
def initialize(klass)
|
|
|
|
super("Could not infer a decorator for #{klass}.")
|
|
|
|
end
|
|
|
|
end
|
2012-12-02 12:20:42 +00:00
|
|
|
|
2017-03-28 17:56:50 +00:00
|
|
|
class UninferrableObjectError < NameError
|
2012-12-02 12:20:42 +00:00
|
|
|
def initialize(klass)
|
2017-03-28 17:56:50 +00:00
|
|
|
super("Could not infer an object for #{klass}.")
|
2012-12-02 12:20:42 +00:00
|
|
|
end
|
|
|
|
end
|
2012-11-01 00:16:09 +00:00
|
|
|
end
|