Module: EaselHelpers::Helpers::MessageHelper

Included in:
EaselHelpers::Helpers
Defined in:
lib/easel_helpers/helpers/message_helper.rb

Instance Method Summary collapse

Instance Method Details

#messages(messages, options = {}) ⇒ 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
# File 'lib/easel_helpers/helpers/message_helper.rb', line 5

def messages(messages, options = {})
  except_keys = [options[:except]].flatten.compact
  only_keys   = [options[:only]].flatten.compact

  if except_keys.any? && only_keys.any?
    raise ArgumentError, ":only and :except options conflict; use one"
  end

  keys = if except_keys.any?
    messages.keys - except_keys
  elsif only_keys.any?
    messages.keys & only_keys
  else
    messages.keys
  end

  keys.map do |key|
    if messages[key].present?
       :p,
                  messages[key],
                  :class => [key, "box", "single-line"].join(" ")
    end
  end.join
end