Sha256: 12e1c0614bf3c773d1da8f8179ae7470d808afda9f9a7dc64cce5fbbc07ac3bd

Contents?: true

Size: 550 Bytes

Versions: 7

Compression:

Stored size: 550 Bytes

Contents

module SlackResources
  module Generator
    module StrongHash
      refine Hash do
        def protect_merge!(b)
          b.keys.map do |new_key|
            if self[new_key]
              self[new_key] = b[new_key] if b[new_key].is_a?(Hash) && b[new_key]['type'].is_a?(Array)
            else
              self[new_key] = b[new_key]
            end
          end

          self
        end

        def key_ordered
          keys.sort.inject({}) do |a, k|
            a.merge!(k => self[k])
          end
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
slack_resources-0.1.9 lib/slack_resources/generator/event_api/strong_hash.rb
slack_resources-0.1.8 lib/slack_resources/generator/event_api/strong_hash.rb
slack_resources-0.1.7 lib/slack_resources/generator/event_api/strong_hash.rb
slack_resources-0.1.6 lib/slack_resources/generator/event_api/strong_hash.rb
slack_resources-0.1.5 lib/slack_resources/generator/event_api/strong_hash.rb
slack_resources-0.1.4 lib/slack_resources/generator/event_api/strong_hash.rb
slack_resources-0.0.0 lib/slack_resources/generator/event_api/strong_hash.rb