Sha256: e370eec2fb66a7e74781c1e63dcc81448325422065bebde6827aabe30fbec5e6
Contents?: true
Size: 1.98 KB
Versions: 5
Compression:
Stored size: 1.98 KB
Contents
module ActiveScaffold::Config class Base include ActiveScaffold::Configurable extend ActiveScaffold::Configurable def initialize(core_config) @core = core_config @action_group = self.class.action_group.clone if self.class.action_group # start with the ActionLink defined globally @link = self.class.link.clone if self.class.respond_to?(:link) && self.class.link end attr_reader :core def self.inherited(subclass) class << subclass # the crud type of the action. possible values are :create, :read, :update, :delete, and nil. # this is not a setting for the developer. it's self-description for the actions. def crud_type; @crud_type; end protected def crud_type=(val) raise ArgumentError, "unknown CRUD type #{val}" unless [:create, :read, :update, :delete].include?(val.to_sym) @crud_type = val.to_sym end end end # delegate def crud_type; self.class.crud_type end # the user property gets set to the instantiation of the local UserSettings class during the automatic instantiation of this class. attr_accessor :user # define a default action_group for this action # e.g. 'members.crud' class_attribute :action_group # action_group this action should belong to attr_accessor :action_group class UserSettings def initialize(conf, storage, params) # the session hash relevant to this action @session = storage # all the request params @params = params # the configuration object for this action @conf = conf end end def formats @formats ||= [] end def formats=(val) @formats=val end private def columns=(val) @columns = ActiveScaffold::DataStructures::ActionColumns.new(*val) @columns.action = self @columns.set_columns(@core.columns) if @columns.respond_to?(:set_columns) @columns end end end
Version data entries
5 entries across 5 versions & 1 rubygems