module Pathway::Plugins::SequelModels::ClassMethods

Attributes

model_class[RW]
model_not_found[RW]
search_field[RW]

Public Instance Methods

inherited(subclass) click to toggle source
Calls superclass method
# File lib/pathway/plugins/sequel_models.rb, line 52
def inherited(subclass)
  super
  subclass.model_class     = model_class
  subclass.search_field    = search_field
  subclass.model_not_found = model_not_found
end
model(model_class, search_by: model_class.primary_key, set_result_key: true, set_context_param: true, error_message: nil) click to toggle source
# File lib/pathway/plugins/sequel_models.rb, line 43
def model(model_class, search_by: model_class.primary_key, set_result_key: true, set_context_param: true, error_message: nil)
  self.model_class      = model_class
  self.search_field     = search_by
  self.result_key       = Inflector.underscore(Inflector.demodulize(model_class.name)).to_sym if set_result_key
  self.model_not_found  = error_message || "#{Inflector.humanize(Inflector.underscore(Inflector.demodulize(model_class.name)))} not found".freeze

  self.context(result_key => Contextualizer::OPTIONAL) if set_result_key && set_context_param
end