class Classnames::Rails::View::Core

Public Instance Methods

exec(*args) click to toggle source
# File lib/classnames/rails/view/core.rb, line 5
def exec(*args)
  inject_values args
end

Private Instance Methods

detect_elem(elem) click to toggle source
# File lib/classnames/rails/view/core.rb, line 11
def detect_elem(elem)
  if elem.is_a?(Hash)
    elem.inject '' do |out, (key, value)|
      value ? out << key.to_s << ' ' : out
    end.strip
  elsif elem.is_a?(Array)
    inject_values elem
  elsif elem == false
    ''
  else
    elem.to_s
  end
end
inject_values(values) click to toggle source
# File lib/classnames/rails/view/core.rb, line 25
def inject_values(values)
  values.inject '' do |out, value|
    detected = detect_elem(value)
    detected == '' ? out : out << detect_elem(value) << ' '
  end.strip
end