Module: Vario::ActionViewHelpers

Defined in:
lib/vario/action_view_helpers.rb

Instance Method Summary collapse

Instance Method Details

#render_vario_settings(*args) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/vario/action_view_helpers.rb', line 5

def render_vario_settings(*args)
  settings_with_contexts = []

  args = [args] unless args.first.is_a?(Array)
  args.each do |argument_set|
    settable = argument_set.first

    if argument_set.last.is_a?(Hash)
      setting_names = argument_set[1..-2]
      context       = argument_set.last
    else
      setting_names = argument_set[1..-1]
      context       = {}
    end

    Vario.config.pre_create_settings(settable)
    settable.settings.where(name: setting_names).each do |setting|
      settings_with_contexts << { setting: setting, context: context }
    end
  end

  render partial: 'vario/settings/settings', locals: {
    settings_with_contexts: settings_with_contexts
  }
end