Module: ActiveadminPoroDecorator::ClassMethods

Defined in:
lib/activeadmin-poro-decorator.rb

Instance Method Summary collapse

Instance Method Details

#build_default_scopeObject



45
46
47
# File 'lib/activeadmin-poro-decorator.rb', line 45

def build_default_scope
  model_name_const.send(:build_default_scope)
end

#decorate(*args) ⇒ Object



49
50
51
52
53
54
55
56
57
58
# File 'lib/activeadmin-poro-decorator.rb', line 49

def decorate(*args)
  collection_or_object = args[0]
  if collection_or_object.respond_to?(:to_ary)
    # assuming we have self.model_name method in decorator implementation
    # suggested by @eyefodder
    DecoratedEnumerableProxy.new(collection_or_object, model_name_const)
  else
    new(collection_or_object)
  end
end

#helpersObject



60
61
62
# File 'lib/activeadmin-poro-decorator.rb', line 60

def helpers
  ActionController::Base.helpers
end

#model_nameObject

obtain original model name ArticlePresenter -> Article



33
34
35
# File 'lib/activeadmin-poro-decorator.rb', line 33

def model_name
  ActiveModel::Name.new model_name_const.to_s.constantize
end

#model_name_constObject



26
27
28
29
# File 'lib/activeadmin-poro-decorator.rb', line 26

def model_name_const
  config = Config::Reader.new
  self.to_s.gsub(config.param('modelname'), '').constantize
end