Sha256: e0306cadaa28c30bfccc40d53a52940f95631e843d48f654da54149bb75ff5e4
Contents?: true
Size: 568 Bytes
Versions: 3
Compression:
Stored size: 568 Bytes
Contents
module EnsureIt patch Object do def ensure_hash(*args, default: {}, **opts) default end def ensure_hash!(*args, **opts) opts[:message] ||= '#{subject} should be a Hash' EnsureIt.raise_error(:ensure_hash!, **opts) end end patch Hash do using EnsureIt if ENSURE_IT_REFINED def ensure_hash(*args, default: {}, **opts) return self if opts.empty? || opts[:symbolize_keys] != true Hash[map { |k, v| [k.ensure_symbol, v] }.reject { |x| x[0].nil? }] end alias_method :ensure_hash!, :ensure_hash end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
ensure_it-1.0.0 | lib/ensure_it/ensure_hash.rb |
ensure_it-0.1.5 | lib/ensure_it/ensure_hash.rb |
ensure_it-0.1.4 | lib/ensure_it/ensure_hash.rb |