module LinkedRails::Enhancements::Actionable::Model::ClassMethods

Public Instance Methods

action_list() click to toggle source
# File lib/linked_rails/enhancements/actionable/model.rb, line 46
def action_list
  return @action_list if @action_list.try(:actionable_class) == self

  @action_list = defined_action_list || define_action_list
end

Private Instance Methods

action_superclass() click to toggle source
# File lib/linked_rails/enhancements/actionable/model.rb, line 54
def action_superclass
  superclass.try(:action_list) || LinkedRails.action_list_parent_class
end
define_action_list() click to toggle source
# File lib/linked_rails/enhancements/actionable/model.rb, line 62
def define_action_list
  list = const_set("#{name.demodulize}ActionList", Class.new(action_superclass))
  list.include_enhancements(:actionable_class, :Action)
  list
end
defined_action_list() click to toggle source
# File lib/linked_rails/enhancements/actionable/model.rb, line 58
def defined_action_list
  "#{name}ActionList".safe_constantize
end