Sha256: 2b83c92e67ffb8b00b100aa2f582c8806c3759679d1a1a313a695975b73e74e0

Contents?: true

Size: 958 Bytes

Versions: 7

Compression:

Stored size: 958 Bytes

Contents

module MightyGrid
  module MgHash
    class << self
      # A deep merge of two hashes.
      # That is, if both hashes have the same key and the values are hashes, these two hashes should also be merged.
      # Used for merging two sets of params.
      def rec_merge(hash, other)  #:nodoc:
        res = hash.clone
        other.each do |key, other_value|
          value = res[key]
          if value.is_a?(Hash) && other_value.is_a?(Hash)
            res[key] = rec_merge value, other_value
          else
            res[key] = other_value
          end
        end
        res
      end
    end
  end

  module MgHTML
    class << self
      def join_html_classes(html_options, *html_classes)
        html_options[:class] ||= ''
        html_options[:class] = ([html_options[:class]] + html_classes).reject(&:blank?).map do |h_classes|
          h_classes.split(' ')
        end.flatten.uniq.join(' ')
        html_options
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
mighty_grid-2.1.1 lib/mighty_grid/mighty_grid_ext.rb
mighty_grid-2.1.0 lib/mighty_grid/mighty_grid_ext.rb
mighty_grid-2.0.0 lib/mighty_grid/mighty_grid_ext.rb
mighty_grid-2.0.0.rc1 lib/mighty_grid/mighty_grid_ext.rb
mighty_grid-1.0.0 lib/mighty_grid/mighty_grid_ext.rb
mighty_grid-0.7.0 lib/mighty_grid/mighty_grid_ext.rb
mighty_grid-0.6.1 lib/mighty_grid/mighty_grid_ext.rb