Class: RailsAdminConfiguratorBase

Inherits:
Object
  • Object
show all
Defined in:
lib/mrpin/config/initializers/05_rails_admin_configurator.rb

Overview

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeRailsAdminConfiguratorBase

Returns a new instance of RailsAdminConfiguratorBase.



16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/mrpin/config/initializers/05_rails_admin_configurator.rb', line 16

def initialize
  Ability.rails_admin_config = self

  @models_names        = []
  @models_names_sorted = []

  @models_order_first  = []
  @models_order_middle = []
  @models_order_last   = []

  @models_groups = []

  @config = nil
end

Instance Attribute Details

#models_order_firstObject

properties



8
9
10
# File 'lib/mrpin/config/initializers/05_rails_admin_configurator.rb', line 8

def models_order_first
  @models_order_first
end

#models_order_lastObject

Returns the value of attribute models_order_last.



9
10
11
# File 'lib/mrpin/config/initializers/05_rails_admin_configurator.rb', line 9

def models_order_last
  @models_order_last
end

Instance Method Details

#add_models_names(items) ⇒ Object



32
33
34
35
36
# File 'lib/mrpin/config/initializers/05_rails_admin_configurator.rb', line 32

def add_models_names(items)
  @models_names += items

  nil
end

#configureObject



39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/mrpin/config/initializers/05_rails_admin_configurator.rb', line 39

def configure
  RailsAdmin.config do |config|
    @config = config

    @config.included_models += @models_names

    init_model_groups

    configure_auth
    configure_actions
    configure_models
    configure_view
  end

  nil
end

#get_models_can_manage_for(role) ⇒ Object



214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
# File 'lib/mrpin/config/initializers/05_rails_admin_configurator.rb', line 214

def get_models_can_manage_for(role)
  result = []

  case role
    when EAdminUserRole::EAUR_ADMIN
      result = @models_names.dup
      result.map! { |name| get_class_by_name(name) }
    when EAdminUserRole::EAUR_TRANSLATOR
      result = [LocalizationBase]
    else
      #do nothing
  end

  result
end

#try_configure_admin_for(context, model_class, fields, method_name) ⇒ Object



200
201
202
203
204
205
206
207
208
209
210
211
# File 'lib/mrpin/config/initializers/05_rails_admin_configurator.rb', line 200

def try_configure_admin_for(context, model_class, fields, method_name)
  return unless model_class.respond_to?(method_name)

  fields.each do |model_field|

    field_name = model_field.to_sym

    model_class.send(method_name, context, field_name)
  end

  nil
end