class ActiveAdminAddons::StateBuilder
Constants
- DEFAULT_CLASS_BINDINGS
Public Instance Methods
render()
click to toggle source
# File lib/activeadmin_addons/addons/state_builder.rb, line 11 def render raise "you need to install AASM gem first" unless defined? AASM raise "the #{attribute} is not an AASM state" unless state_attribute? context.status_tag(model.aasm(machine_name).human_state, class: status_class_for_model) end
Private Instance Methods
class_bindings()
click to toggle source
# File lib/activeadmin_addons/addons/state_builder.rb, line 33 def class_bindings @class_bindings ||= DEFAULT_CLASS_BINDINGS.merge(options[:states] || {}) end
machine_name()
click to toggle source
# File lib/activeadmin_addons/addons/state_builder.rb, line 29 def machine_name @machine_name ||= options.fetch(:machine, :default) end
state_attribute?()
click to toggle source
# File lib/activeadmin_addons/addons/state_builder.rb, line 19 def state_attribute? model.class.respond_to?(:aasm) && attribute.present? && model.class.aasm(machine_name).attribute_name == attribute.to_sym end
status_class_for_model()
click to toggle source
# File lib/activeadmin_addons/addons/state_builder.rb, line 25 def status_class_for_model class_bindings[data.to_sym] || data end