Class: ActiveScaffold::Config::Nested
- Defined in:
- lib/active_scaffold/config/nested.rb
Constant Summary collapse
- @@shallow_delete =
- true
Constants inherited from Base
Instance Attribute Summary collapse
- 
  
    
      #ignore_order_from_association  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute ignore_order_from_association. 
- 
  
    
      #label  ⇒ Object 
    
    
  
  
  
  
    
    
      writeonly
    
  
  
  
  
  
  
    the label for this Nested action. 
- 
  
    
      #shallow_delete  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    instance-level configuration —————————-. 
Attributes inherited from Base
#action_group, #core, #formats, #user_settings_key
Instance Method Summary collapse
- 
  
    
      #add_link(attribute, options = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Add a nested ActionLink. 
- #add_scoped_link(named_scope, options = {}) ⇒ Object
- 
  
    
      #initialize(core_config)  ⇒ Nested 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    A new instance of Nested. 
Methods inherited from Base
#crud_type, inherited, #label, #model_id, #new_user_settings, #setup_user_setting_key, #user
Methods included from ActiveScaffold::Configurable
#configure, #method_missing, #respond_to_missing?
Constructor Details
#initialize(core_config) ⇒ Nested
Returns a new instance of Nested.
| 5 6 7 8 9 10 | # File 'lib/active_scaffold/config/nested.rb', line 5 def initialize(core_config) super @label = :add_existing_model @shallow_delete = self.class.shallow_delete @ignore_order_from_association = self.class.ignore_order_from_association end | 
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class ActiveScaffold::Configurable
Instance Attribute Details
#ignore_order_from_association ⇒ Object
Returns the value of attribute ignore_order_from_association.
| 23 24 25 | # File 'lib/active_scaffold/config/nested.rb', line 23 def ignore_order_from_association @ignore_order_from_association end | 
#label=(value) ⇒ Object (writeonly)
the label for this Nested action. used for the header.
| 50 51 52 | # File 'lib/active_scaffold/config/nested.rb', line 50 def label=(value) @label = value end | 
#shallow_delete ⇒ Object
instance-level configuration
| 21 22 23 | # File 'lib/active_scaffold/config/nested.rb', line 21 def shallow_delete @shallow_delete end | 
Instance Method Details
#add_link(attribute, options = {}) ⇒ Object
Add a nested ActionLink
| 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | # File 'lib/active_scaffold/config/nested.rb', line 26 def add_link(attribute, = {}) column = @core.columns[attribute.to_sym] raise ArgumentError, "unknown column #{attribute}" if column.nil? raise ArgumentError, "column #{attribute} is not an association" if column.association.nil? label = if column.association.polymorphic? column.label else column.association.klass.model_name.human(:count => column.association.singular? ? 1 : 2, :default => column.association.klass.name.pluralize) end .reverse_merge! :security_method => :nested_authorized?, :label => label action_group = .delete(:action_group) || self.action_group action_link = @core.link_for_association(column, ) @core.action_links.add_to_group(action_link, action_group) unless action_link.nil? action_link end | 
#add_scoped_link(named_scope, options = {}) ⇒ Object
| 44 45 46 47 | # File 'lib/active_scaffold/config/nested.rb', line 44 def add_scoped_link(named_scope, = {}) action_link = @core.link_for_association_as_scope(named_scope.to_sym, ) @core.action_links.add_to_group(action_link, action_group) unless action_link.nil? end |