Sha256: b05ef89f38eb517e07c0703b634903a40645479503e000c3cf0969f2a4a8363e

Contents?: true

Size: 635 Bytes

Versions: 1

Compression:

Stored size: 635 Bytes

Contents

module Lookbook
  module ClassNamesHelper
    def build_tag_values(*args)
      tag_values = []

      args.each do |tag_value|
        case tag_value
        when Hash
          tag_value.each do |key, val|
            tag_values << key.to_s if val && key.present?
          end
        when Array
          tag_values.concat build_tag_values(*tag_value)
        else
          tag_values << tag_value.to_s if tag_value.present?
        end
      end

      tag_values
    end

    def class_names(*)
      tokens = build_tag_values(*).flat_map { |value| value.to_s.split(/\s+/) }.uniq

      safe_join(tokens, " ")
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
lookbook-2.1.0 lib/lookbook/helpers/class_names_helper.rb