Class: Enjoy::RailsAdminConfiguration
- Inherits:
- 
      Object
      
        - Object
- Enjoy::RailsAdminConfiguration
 
- Defined in:
- lib/enjoy/rails_admin_ext/config.rb
Instance Attribute Summary collapse
- 
  
    
      #actions_list  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    Returns the value of attribute actions_list. 
- 
  
    
      #actions_visibility  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    Returns the value of attribute actions_visibility. 
Instance Method Summary collapse
- #action_unvisible_for(action_name, model_name) ⇒ Object
- #action_visible_for(action_name, model_name) ⇒ Object
- #actions_config(rails_admin_actions) ⇒ Object
- #add_action(action_name) ⇒ Object
- #cancancan_admin_rules(ability_object) ⇒ Object
- #cancancan_manager_rules(ability_object) ⇒ Object
- 
  
    
      #initialize  ⇒ RailsAdminConfiguration 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    A new instance of RailsAdminConfiguration. 
- #remove_action(action_name) ⇒ Object
Constructor Details
#initialize ⇒ RailsAdminConfiguration
Returns a new instance of RailsAdminConfiguration.
| 37 38 39 40 41 42 | # File 'lib/enjoy/rails_admin_ext/config.rb', line 37 def initialize @actions_list ||= [] @actions_visibility ||= {} action_unvisible_for(:custom_show_in_app, Proc.new { false }) end | 
Instance Attribute Details
#actions_list ⇒ Object (readonly)
Returns the value of attribute actions_list.
| 34 35 36 | # File 'lib/enjoy/rails_admin_ext/config.rb', line 34 def actions_list @actions_list end | 
#actions_visibility ⇒ Object (readonly)
Returns the value of attribute actions_visibility.
| 35 36 37 | # File 'lib/enjoy/rails_admin_ext/config.rb', line 35 def actions_visibility @actions_visibility end | 
Instance Method Details
#action_unvisible_for(action_name, model_name) ⇒ Object
| 68 69 70 71 72 73 74 75 76 77 78 79 80 | # File 'lib/enjoy/rails_admin_ext/config.rb', line 68 def action_unvisible_for(action_name, model_name) action_name = action_name.to_sym model_name = model_name.to_s add_action(action_name) unless @actions_list.include?(action_name) if model_name.is_a?(Proc) # @actions_visibility[action_name] = model_name else @actions_visibility[action_name] = [] if @actions_visibility[action_name].is_a?(Proc) @actions_visibility[action_name] ||= [] @actions_visibility[action_name].delete model_name.to_s end end | 
#action_visible_for(action_name, model_name) ⇒ Object
| 54 55 56 57 58 59 60 61 62 63 64 65 66 | # File 'lib/enjoy/rails_admin_ext/config.rb', line 54 def action_visible_for(action_name, model_name) action_name = action_name.to_sym model_name = model_name.to_s add_action(action_name) unless @actions_list.include?(action_name) if model_name.is_a?(Proc) @actions_visibility[action_name] = model_name else @actions_visibility[action_name] = [] if @actions_visibility[action_name].is_a?(Proc) @actions_visibility[action_name] ||= [] @actions_visibility[action_name] << model_name.to_s end end | 
#actions_config(rails_admin_actions) ⇒ Object
| 82 83 84 85 86 87 88 89 90 91 92 93 94 | # File 'lib/enjoy/rails_admin_ext/config.rb', line 82 def actions_config(rails_admin_actions) @actions_list.each do |action| rails_admin_actions.send(action) do visible do if Enjoy.rails_admin_config.actions_visibility[action].is_a?(Proc) Enjoy.rails_admin_config.actions_visibility[action] else Enjoy.rails_admin_config.actions_visibility[action].include? bindings[:abstract_model].model_name end end end end end | 
#add_action(action_name) ⇒ Object
| 44 45 46 47 | # File 'lib/enjoy/rails_admin_ext/config.rb', line 44 def add_action(action_name) @actions_list << action_name @actions_list.uniq end | 
#cancancan_admin_rules(ability_object) ⇒ Object
| 96 97 98 99 100 101 102 | # File 'lib/enjoy/rails_admin_ext/config.rb', line 96 def cancancan_admin_rules(ability_object) Enjoy.config.ability_admin_config.each do |config| _model = config[:model] _model = _model.constantize if _model.is_a?(String) ability_object.send(config[:method], config[:actions], _model) end end | 
#cancancan_manager_rules(ability_object) ⇒ Object
| 103 104 105 106 107 108 109 | # File 'lib/enjoy/rails_admin_ext/config.rb', line 103 def cancancan_manager_rules(ability_object) Enjoy.config.ability_manager_config.each do |config| _model = config[:model] _model = _model.constantize if _model.is_a?(String) ability_object.send(config[:method], config[:actions], _model) end end | 
#remove_action(action_name) ⇒ Object
| 49 50 51 52 | # File 'lib/enjoy/rails_admin_ext/config.rb', line 49 def remove_action(action_name) @remove_action.delete remove_action @actions_list.uniq end |