module Xporter::Exporter::Decorator
Public Instance Methods
decorates(boolean_or_class)
click to toggle source
# File lib/xporter/exporter/decorator.rb, line 17 def decorates(boolean_or_class) if boolean_or_class.nil? || boolean_or_class == false self._decorates = false self._decorator_class = nil return end self._decorates = true if boolean_or_class.is_a?(Class) self._decorator_class = boolean_or_class end end
Private Instance Methods
decorate(record)
click to toggle source
# File lib/xporter/exporter/decorator.rb, line 51 def decorate(record) if self.class._decorator_class.present? instantiate_decorated_object(self.class._decorator_class, record) else record.decorate(view_context) end end
decorator?()
click to toggle source
# File lib/xporter/exporter/decorator.rb, line 47 def decorator? self.class._decorates == true end
instantiate_decorated_object(klass, record)
click to toggle source
# File lib/xporter/exporter/decorator.rb, line 59 def instantiate_decorated_object(klass, record) klass.new(record, view_context) end
view_context()
click to toggle source
# File lib/xporter/exporter/decorator.rb, line 34 def view_context return unless defined?(ActionView) @view_context ||= begin ActionView::Base.new(ActionController::Base.view_paths).tap do |view| view.class_eval do include Rails.application.routes.url_helpers include ApplicationHelper end end end end