Sha256: b446fc3b132c3e2fc9c0b18d8e0b06c650c04595377e09a55d5e71b30607f23f
Contents?: true
Size: 1.41 KB
Versions: 3
Compression:
Stored size: 1.41 KB
Contents
require_relative 'actions/blocks' module CmAdmin module Models class Action include Actions::Blocks attr_accessor :name, :verb, :layout_type, :layout, :partial, :path, :page_title, :page_description, :child_records, :is_nested_field, :nested_table_name, :parent, :display_if, :route_type, :code_block, :display_type, :action_type, :redirection_url def initialize(attributes = {}, &block) if attributes[:layout_type].present? && attributes[:layout].nil? && attributes[:partial].nil? case attributes[:layout_type] when 'cm_association_index' attributes[:layout] = '/cm_admin/main/associated_index' attributes[:partial] = '/cm_admin/main/associated_table' when 'cm_association_show' attributes[:layout] = '/cm_admin/main/associated_show' end end set_default_values attributes.each do |key, value| self.send("#{key.to_s}=", value) end self.send("code_block=", block) if block_given? end def set_default_values self.is_nested_field = false self.display_if = lambda { |arg| return true } self.display_type = :button self.action_type = :default end class << self def find_by(model, search_hash) model.available_actions.find { |i| i.name == search_hash[:name] } end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
cm-admin-0.5.5 | lib/cm_admin/models/action.rb |
cm-admin-0.5.4 | lib/cm_admin/models/action.rb |
cm-admin-0.5.3 | lib/cm_admin/models/action.rb |