summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBobby McDonald <bobbymcwho@gmail.com>2019-10-17 23:51:50 -0400
committerBobby McDonald <bobbymcwho@gmail.com>2019-10-17 23:55:45 -0400
commit6a965273845f64605e0e951ac113a4383f7e8af5 (patch)
tree56c0f813cefe071fdcc25756275636c58e8beb3b
parent20e5467188bb4b6ab4166a72c07ec2bc0b883fa0 (diff)
downloadhashie-6a965273845f64605e0e951ac113a4383f7e8af5.tar.gz
Change rubocop to allow 100 character lines.
For accessibility reasons, we should limit our lines to 100 chars max. https://github.com/slack-ruby/slack-ruby-client/pull/293#discussion_r309472083
-rw-r--r--.rubocop.yml7
-rw-r--r--.rubocop_todo.yml6
-rw-r--r--Gemfile3
-rw-r--r--lib/hashie/dash.rb3
-rw-r--r--lib/hashie/extensions/coercion.rb7
-rw-r--r--lib/hashie/extensions/dash/property_translation.rb3
-rw-r--r--lib/hashie/extensions/deep_fetch.rb6
-rw-r--r--lib/hashie/extensions/deep_find.rb15
-rw-r--r--lib/hashie/extensions/deep_locate.rb23
-rw-r--r--lib/hashie/extensions/mash/keep_original_keys.rb3
-rw-r--r--lib/hashie/extensions/method_access.rb7
-rw-r--r--lib/hashie/extensions/strict_key_access.rb7
-rw-r--r--lib/hashie/rash.rb2
-rw-r--r--spec/hashie/dash_spec.rb17
-rw-r--r--spec/hashie/extensions/coercion_spec.rb23
-rw-r--r--spec/hashie/extensions/deep_find_spec.rb15
-rw-r--r--spec/hashie/extensions/deep_locate_spec.rb3
-rw-r--r--spec/hashie/extensions/deep_merge_spec.rb4
-rw-r--r--spec/hashie/hash_spec.rb21
-rw-r--r--spec/hashie/mash_spec.rb10
-rw-r--r--spec/hashie/trash_spec.rb12
-rw-r--r--spec/integration/elasticsearch/integration_spec.rb3
-rw-r--r--spec/integration/rails/integration_spec.rb5
23 files changed, 141 insertions, 64 deletions
diff --git a/.rubocop.yml b/.rubocop.yml
index 30141c9..a3254fb 100644
--- a/.rubocop.yml
+++ b/.rubocop.yml
@@ -22,7 +22,12 @@ Metrics/BlockLength:
Metrics/LineLength:
Exclude:
- 'Guardfile'
- Max: 110
+ Max: 100
+
+Lint/UnifiedInteger:
+ Exclude:
+ - 'lib/hashie/extensions/coercion.rb'
+ - 'spec/hashie/extensions/coercion_spec.rb'
Naming/FileName:
Exclude:
diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml
index 0590878..4a04087 100644
--- a/.rubocop_todo.yml
+++ b/.rubocop_todo.yml
@@ -14,12 +14,6 @@ Metrics/AbcSize:
Metrics/CyclomaticComplexity:
Max: 11
-# Offense count: 1
-# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
-# URISchemes: http, https
-Metrics/LineLength:
- Max: 111
-
# Offense count: 18
# Configuration parameters: CountComments.
Metrics/MethodLength:
diff --git a/Gemfile b/Gemfile
index 0858138..524b968 100644
--- a/Gemfile
+++ b/Gemfile
@@ -16,7 +16,8 @@ group :test do
# ActiveSupport required to test compatibility with ActiveSupport Core Extensions.
# rubocop:disable Bundler/DuplicatedGem
require File.expand_path('../lib/hashie/extensions/ruby_version', __FILE__)
- if Hashie::Extensions::RubyVersion.new(RUBY_VERSION) >= Hashie::Extensions::RubyVersion.new('2.4.0')
+ if Hashie::Extensions::RubyVersion.new(RUBY_VERSION) >=
+ Hashie::Extensions::RubyVersion.new('2.4.0')
gem 'activesupport', '~> 5.x', require: false
else
gem 'activesupport', '~> 4.x', require: false
diff --git a/lib/hashie/dash.rb b/lib/hashie/dash.rb
index 4e366ed..460790b 100644
--- a/lib/hashie/dash.rb
+++ b/lib/hashie/dash.rb
@@ -219,7 +219,8 @@ module Hashie
end
def fail_property_required_error!(property)
- raise ArgumentError, "The property '#{property}' #{self.class.required_properties[property][:message]}"
+ raise ArgumentError,
+ "The property '#{property}' #{self.class.required_properties[property][:message]}"
end
def fail_no_property_error!(property)
diff --git a/lib/hashie/extensions/coercion.rb b/lib/hashie/extensions/coercion.rb
index 88be97a..a12490a 100644
--- a/lib/hashie/extensions/coercion.rb
+++ b/lib/hashie/extensions/coercion.rb
@@ -21,8 +21,8 @@ module Hashie
{ Numeric => [Integer, Float, Complex, Rational] }
else
{
- Integer => [Fixnum, Bignum], # rubocop:disable Lint/UnifiedInteger
- Numeric => [Fixnum, Bignum, Float, Complex, Rational] # rubocop:disable Lint/UnifiedInteger
+ Integer => [Fixnum, Bignum],
+ Numeric => [Fixnum, Bignum, Float, Complex, Rational]
}
end
@@ -103,7 +103,8 @@ module Hashie
#
# @param [Class] from the type you would like coerced.
# @param [Class] into the class into which you would like the value coerced.
- # @option options [Boolean] :strict (true) whether use exact source class only or include ancestors
+ # @option options [Boolean] :strict (true) whether use exact source class
+ # only or include ancestors
#
# @example Coerce all hashes into this special type of hash
# class SpecialHash < Hash
diff --git a/lib/hashie/extensions/dash/property_translation.rb b/lib/hashie/extensions/dash/property_translation.rb
index f5bf081..c0fd009 100644
--- a/lib/hashie/extensions/dash/property_translation.rb
+++ b/lib/hashie/extensions/dash/property_translation.rb
@@ -137,7 +137,8 @@ module Hashie
end
def fail_self_transformation_error!(property_name)
- raise ArgumentError, "Property name (#{property_name}) and :from option must not be the same"
+ raise ArgumentError,
+ "Property name (#{property_name}) and :from option must not be the same"
end
def valid_transformer?(transformer)
diff --git a/lib/hashie/extensions/deep_fetch.rb b/lib/hashie/extensions/deep_fetch.rb
index 6ed34f3..6131e8d 100644
--- a/lib/hashie/extensions/deep_fetch.rb
+++ b/lib/hashie/extensions/deep_fetch.rb
@@ -9,7 +9,8 @@ module Hashie
#
# options.deep_fetch(:user, :non_existent_key) { 'a value' } #=> 'a value'
#
- # This is particularly useful for fetching values from deeply nested api responses or params hashes.
+ # This is particularly useful for fetching values from deeply nested api responses
+ # or params hashes.
module DeepFetch
class UndefinedPathError < StandardError; end
@@ -20,7 +21,8 @@ module Hashie
obj.fetch(arg)
rescue ArgumentError, IndexError, NoMethodError => e
break yield(arg) if block
- raise UndefinedPathError, "Could not fetch path (#{args.join(' > ')}) at #{arg}", e.backtrace
+ raise UndefinedPathError,
+ "Could not fetch path (#{args.join(' > ')}) at #{arg}", e.backtrace
end
end
end
diff --git a/lib/hashie/extensions/deep_find.rb b/lib/hashie/extensions/deep_find.rb
index c4a7646..0e77932 100644
--- a/lib/hashie/extensions/deep_find.rb
+++ b/lib/hashie/extensions/deep_find.rb
@@ -1,3 +1,4 @@
+require 'hashie/extensions/deep_locate'
module Hashie
module Extensions
module DeepFind
@@ -24,7 +25,12 @@ module Hashie
# Performs a depth-first search on deeply nested data structures for
# a key and returns all occurrences of the key.
#
- # options = {users: [{location: {address: '123 Street'}}, {location: {address: '234 Street'}}]}
+ # options = {
+ # users: [
+ # { location: {address: '123 Street'} },
+ # { location: {address: '234 Street'}}
+ # ]
+ # }
# options.extend(Hashie::Extensions::DeepFind)
# options.deep_find_all(:address) # => ['123 Street', '234 Street']
#
@@ -33,7 +39,10 @@ module Hashie
# end
#
# my_hash = MyHash.new
- # my_hash[:users] = [{location: {address: '123 Street'}}, {location: {address: '234 Street'}}]
+ # my_hash[:users] = [
+ # {location: {address: '123 Street'}},
+ # {location: {address: '234 Street'}}
+ # ]
# my_hash.deep_find_all(:address) # => ['123 Street', '234 Street']
def deep_find_all(key)
matches = _deep_find_all(key)
@@ -49,7 +58,7 @@ module Hashie
end
def _deep_find_all(key, object = self, matches = [])
- deep_locate_result = Hashie::Extensions::DeepLocate.deep_locate(key, object).tap do |result|
+ deep_locate_result = DeepLocate.deep_locate(key, object).tap do |result|
result.map! { |element| element[key] }
end
diff --git a/lib/hashie/extensions/deep_locate.rb b/lib/hashie/extensions/deep_locate.rb
index 62e1be2..2b33b23 100644
--- a/lib/hashie/extensions/deep_locate.rb
+++ b/lib/hashie/extensions/deep_locate.rb
@@ -14,10 +14,12 @@ module Hashie
# ...
# ]
#
- # Hashie::Extensions::DeepLocate.deep_locate -> (key, value, object) { key == :title }, books
+ # DeepLocate.deep_locate -> (key, value, object) { key == :title }, books
# # => [{:title=>"Ruby for beginners", :pages=>120}, ...]
def self.deep_locate(comparator, object)
- comparator = _construct_key_comparator(comparator, object) unless comparator.respond_to?(:call)
+ unless comparator.respond_to?(:call)
+ comparator = _construct_key_comparator(comparator, object)
+ end
_deep_locate(comparator, object)
end
@@ -53,17 +55,21 @@ module Hashie
# # http://ruby-journal.com/becareful-with-space-in-lambda-hash-rocket-syntax-between-ruby-1-dot-9-and-2-dot-0/
#
# books.deep_locate -> (key, value, object) { key == :title && value.include?("Ruby") }
- # # => [{:title=>"Ruby for beginners", :pages=>120}, {:title=>"Ruby for the rest of us", :pages=>576}]
+ # # => [{:title=>"Ruby for beginners", :pages=>120},
+ # # {:title=>"Ruby for the rest of us", :pages=>576}]
#
# books.deep_locate -> (key, value, object) { key == :pages && value <= 120 }
- # # => [{:title=>"Ruby for beginners", :pages=>120}, {:title=>"CSS for intermediates", :pages=>80}]
+ # # => [{:title=>"Ruby for beginners", :pages=>120},
+ # # {:title=>"CSS for intermediates", :pages=>80}]
def deep_locate(comparator)
Hashie::Extensions::DeepLocate.deep_locate(comparator, self)
end
def self._construct_key_comparator(search_key, object)
- search_key = search_key.to_s if activesupport_indifferent?(object)
- search_key = search_key.to_s if object.respond_to?(:indifferent_access?) && object.indifferent_access?
+ if object.respond_to?(:indifferent_access?) && object.indifferent_access? ||
+ activesupport_indifferent?(object)
+ search_key = search_key.to_s
+ end
lambda do |non_callable_object|
->(key, _, _) { key == non_callable_object }
@@ -73,7 +79,10 @@ module Hashie
def self._deep_locate(comparator, object, result = [])
if object.is_a?(::Enumerable)
- result.push object if object.any? { |value| _match_comparator?(value, comparator, object) }
+ if object.any? { |value| _match_comparator?(value, comparator, object) }
+ result.push object
+ end
+
(object.respond_to?(:values) ? object.values : object.entries).each do |value|
_deep_locate(comparator, value, result)
end
diff --git a/lib/hashie/extensions/mash/keep_original_keys.rb b/lib/hashie/extensions/mash/keep_original_keys.rb
index 91b9b44..e25d8f9 100644
--- a/lib/hashie/extensions/mash/keep_original_keys.rb
+++ b/lib/hashie/extensions/mash/keep_original_keys.rb
@@ -15,7 +15,8 @@ module Hashie
# mash[:symbol_key] == mash['symbol_key'] #=> true
module KeepOriginalKeys
def self.included(descendant)
- raise ArgumentError, "#{descendant} is not a kind of Hashie::Mash" unless descendant <= Hashie::Mash
+ error_message = "#{descendant} is not a kind of Hashie::Mash"
+ raise ArgumentError, error_message unless descendant <= Hashie::Mash
end
private
diff --git a/lib/hashie/extensions/method_access.rb b/lib/hashie/extensions/method_access.rb
index cf13da0..6543fee 100644
--- a/lib/hashie/extensions/method_access.rb
+++ b/lib/hashie/extensions/method_access.rb
@@ -73,7 +73,9 @@ module Hashie
end
def method_missing(name, *args)
- return self[convert_key(Regexp.last_match[1])] = args.first if args.size == 1 && name.to_s =~ /(.*)=$/
+ if args.size == 1 && name.to_s =~ /(.*)=$/
+ return self[convert_key(Regexp.last_match[1])] = args.first
+ end
super
end
@@ -231,7 +233,8 @@ module Hashie
# underscores.
module MethodAccessWithOverride
def self.included(base)
- [MethodReader, MethodOverridingWriter, MethodQuery, MethodOverridingInitializer].each do |mod|
+ [MethodReader, MethodOverridingWriter,
+ MethodQuery, MethodOverridingInitializer].each do |mod|
base.send :include, mod
end
end
diff --git a/lib/hashie/extensions/strict_key_access.rb b/lib/hashie/extensions/strict_key_access.rb
index 0edd698..4593b3f 100644
--- a/lib/hashie/extensions/strict_key_access.rb
+++ b/lib/hashie/extensions/strict_key_access.rb
@@ -1,6 +1,7 @@
module Hashie
module Extensions
- # SRP: This extension will fail an error whenever a key is accessed that does not exist in the hash.
+ # SRP: This extension will fail an error whenever a key is accessed
+ # that does not exist in the hash.
#
# EXAMPLE:
#
@@ -21,8 +22,8 @@ module Hashie
module StrictKeyAccess
class DefaultError < StandardError
def initialize
- super(
- 'Setting or using a default with Hashie::Extensions::StrictKeyAccess does not make sense'
+ super('Setting or using a default with Hashie::Extensions::StrictKeyAccess'\
+ ' does not make sense'
)
end
end
diff --git a/lib/hashie/rash.rb b/lib/hashie/rash.rb
index a7fce10..2141684 100644
--- a/lib/hashie/rash.rb
+++ b/lib/hashie/rash.rb
@@ -117,7 +117,7 @@ module Hashie
end
when Regexp
- # Reverse operation: `rash[/regexp/]` returns all the hash's string keys which match the regexp
+ # Reverse operation: `rash[/regexp/]` returns all string keys matching the regexp
@hash.each do |key, val|
yield val if key.is_a?(String) && query =~ key
end
diff --git a/spec/hashie/dash_spec.rb b/spec/hashie/dash_spec.rb
index 5c34eb5..5c49026 100644
--- a/spec/hashie/dash_spec.rb
+++ b/spec/hashie/dash_spec.rb
@@ -265,11 +265,13 @@ describe DashTest do
end
it 'fails with non-existent properties' do
- expect { subject.merge(middle_name: 'James') }.to raise_error(*no_property_error('middle_name'))
+ expect { subject.merge(middle_name: 'James') }
+ .to raise_error(*no_property_error('middle_name'))
end
it 'errors out when attempting to set a required property to nil' do
- expect { subject.merge(first_name: nil) }.to raise_error(*property_required_error('first_name'))
+ expect { subject.merge(first_name: nil) }
+ .to raise_error(*property_required_error('first_name'))
end
context 'given a block' do
@@ -368,8 +370,12 @@ describe DashTest do
let(:params) { { first_name: 'Alice', email: 'alice@example.com' } }
context 'when there is coercion' do
- let(:params_before) { { city: 'nyc', person: { first_name: 'Bob', email: 'bob@example.com' } } }
- let(:params_after) { { city: 'sfo', person: { first_name: 'Alice', email: 'alice@example.com' } } }
+ let(:params_before) do
+ { city: 'nyc', person: { first_name: 'Bob', email: 'bob@example.com' } }
+ end
+ let(:params_after) do
+ { city: 'sfo', person: { first_name: 'Alice', email: 'alice@example.com' } }
+ end
subject { DashWithCoercion.new(params_before) }
@@ -516,7 +522,8 @@ describe ConditionallyRequiredTest do
end
it 'allows a conditionally required property to be set if required' do
- expect { ConditionallyRequiredTest.new(username: 'bob.smith', password: '$ecure!') }.not_to raise_error
+ expect { ConditionallyRequiredTest.new(username: 'bob.smith', password: '$ecure!') }
+ .not_to raise_error
end
end
diff --git a/spec/hashie/extensions/coercion_spec.rb b/spec/hashie/extensions/coercion_spec.rb
index da7d7c8..72265e1 100644
--- a/spec/hashie/extensions/coercion_spec.rb
+++ b/spec/hashie/extensions/coercion_spec.rb
@@ -459,8 +459,12 @@ describe Hashie::Extensions::Coercion do
coerce_key :categories, Array[CategoryHash]
end
- let(:category) { CategoryHash.new(type: 'rubygem', products: [Hashie::Mash.new(name: 'Hashie')]) }
- let(:product) { ProductHash.new(name: 'Hashie', categories: [Hashie::Mash.new(type: 'rubygem')]) }
+ let(:category) do
+ CategoryHash.new(type: 'rubygem', products: [Hashie::Mash.new(name: 'Hashie')])
+ end
+ let(:product) do
+ ProductHash.new(name: 'Hashie', categories: [Hashie::Mash.new(type: 'rubygem')])
+ end
it 'coerces CategoryHash[:products] correctly' do
expected = [ProductHash]
@@ -560,23 +564,26 @@ describe Hashie::Extensions::Coercion do
it 'raises a CoercionError when coercion is not possible' do
type =
- if Hashie::Extensions::RubyVersion.new(RUBY_VERSION) >= Hashie::Extensions::RubyVersion.new('2.4.0')
+ if Hashie::Extensions::RubyVersion.new(RUBY_VERSION) >=
+ Hashie::Extensions::RubyVersion.new('2.4.0')
Integer
else
- Fixnum # rubocop:disable Lint/UnifiedInteger
+ Fixnum
end
subject.coerce_value type, Symbol
- expect { instance[:hi] = 1 }
- .to raise_error(Hashie::CoercionError, /Cannot coerce property :hi from #{type} to Symbol/)
+ expect { instance[:hi] = 1 }.to raise_error(
+ Hashie::CoercionError, /Cannot coerce property :hi from #{type} to Symbol/
+ )
end
it 'coerces Integer to String' do
type =
- if Hashie::Extensions::RubyVersion.new(RUBY_VERSION) >= Hashie::Extensions::RubyVersion.new('2.4.0')
+ if Hashie::Extensions::RubyVersion.new(RUBY_VERSION) >=
+ Hashie::Extensions::RubyVersion.new('2.4.0')
Integer
else
- Fixnum # rubocop:disable Lint/UnifiedInteger
+ Fixnum
end
subject.coerce_value type, String
diff --git a/spec/hashie/extensions/deep_find_spec.rb b/spec/hashie/extensions/deep_find_spec.rb
index 87f8457..cd13d7f 100644
--- a/spec/hashie/extensions/deep_find_spec.rb
+++ b/spec/hashie/extensions/deep_find_spec.rb
@@ -36,7 +36,8 @@ describe Hashie::Extensions::DeepFind do
describe '#deep_find_all' do
it 'detects all values from a nested hash' do
- expect(instance.deep_find_all(:title)).to eq(['Call of the Wild', 'Moby Dick', 'Main Library'])
+ expect(instance.deep_find_all(:title))
+ .to eq(['Call of the Wild', 'Moby Dick', 'Main Library'])
end
it 'returns nil if it does not find any matches' do
@@ -92,8 +93,10 @@ describe Hashie::Extensions::DeepFind do
describe '#deep_find_all' do
it 'indifferently detects all values from a nested hash' do
- expect(instance.deep_find_all(:title)).to eq(['Call of the Wild', 'Moby Dick', 'Main Library'])
- expect(instance.deep_find_all('title')).to eq(['Call of the Wild', 'Moby Dick', 'Main Library'])
+ expect(instance.deep_find_all(:title))
+ .to eq(['Call of the Wild', 'Moby Dick', 'Main Library'])
+ expect(instance.deep_find_all('title'))
+ .to eq(['Call of the Wild', 'Moby Dick', 'Main Library'])
end
it 'indifferently returns nil if it does not find any matches' do
@@ -126,8 +129,10 @@ describe Hashie::Extensions::DeepFind do
describe '#deep_find_all' do
it 'indifferently detects all values from a nested hash' do
- expect(instance.deep_find_all(:title)).to eq(['Call of the Wild', 'Moby Dick', 'Main Library'])
- expect(instance.deep_find_all('title')).to eq(['Call of the Wild', 'Moby Dick', 'Main Library'])
+ expect(instance.deep_find_all(:title))
+ .to eq(['Call of the Wild', 'Moby Dick', 'Main Library'])
+ expect(instance.deep_find_all('title'))
+ .to eq(['Call of the Wild', 'Moby Dick', 'Main Library'])
end
it 'indifferently returns nil if it does not find any matches' do
diff --git a/spec/hashie/extensions/deep_locate_spec.rb b/spec/hashie/extensions/deep_locate_spec.rb
index ca4b267..6c2fcf0 100644
--- a/spec/hashie/extensions/deep_locate_spec.rb
+++ b/spec/hashie/extensions/deep_locate_spec.rb
@@ -56,7 +56,8 @@ describe Hashie::Extensions::DeepLocate do
describe '.deep_locate' do
context 'if called with a non-callable comparator' do
it 'creates a key comparator on-th-fly' do
- expect(described_class.deep_locate(:lsr10, hash)).to eq([hash[:query][:bool][:must_not][0][:range]])
+ expect(described_class.deep_locate(:lsr10, hash))
+ .to eq([hash[:query][:bool][:must_not][0][:range]])
end
end
diff --git a/spec/hashie/extensions/deep_merge_spec.rb b/spec/hashie/extensions/deep_merge_spec.rb
index 23ac255..ab79ff6 100644
--- a/spec/hashie/extensions/deep_merge_spec.rb
+++ b/spec/hashie/extensions/deep_merge_spec.rb
@@ -13,7 +13,9 @@ describe Hashie::Extensions::DeepMerge do
end
context 'without &block' do
- let(:h1) { subject.new.merge(a: 'a', a1: 42, b: 'b', c: { c1: 'c1', c2: { a: 'b' }, c3: { d1: 'd1' } }) }
+ let(:h1) do
+ subject.new.merge(a: 'a', a1: 42, b: 'b', c: { c1: 'c1', c2: { a: 'b' }, c3: { d1: 'd1' } })
+ end
let(:h2) { { a: 1, a1: 1, c: { c1: 2, c2: 'c2', c3: { d2: 'd2' } }, e: { e1: 1 } } }
let(:expected_hash) do
{ a: 1, a1: 1, b: 'b', c: { c1: 2, c2: 'c2', c3: { d1: 'd1', d2: 'd2' } }, e: { e1: 1 } }
diff --git a/spec/hashie/hash_spec.rb b/spec/hashie/hash_spec.rb
index 1f15208..0282258 100644
--- a/spec/hashie/hash_spec.rb
+++ b/spec/hashie/hash_spec.rb
@@ -64,7 +64,12 @@ describe Hash do
end
it '#to_hash returns a hash with same keys' do
- hash = Hashie::Hash['a' => 'hey', 123 => 'bob', 'array' => [1, 2, 3], subhash: ClassRespondsToHash.new]
+ hash = Hashie::Hash[
+ 'a' => 'hey',
+ 123 => 'bob',
+ 'array' => [1, 2, 3],
+ subhash: ClassRespondsToHash.new
+ ]
stringified_hash = hash.to_hash
expected = {
@@ -78,7 +83,12 @@ describe Hash do
end
it '#to_hash with stringify_keys set to true returns a hash with stringified_keys' do
- hash = Hashie::Hash['a' => 'hey', 123 => 'bob', 'array' => [1, 2, 3], subhash: ClassRespondsToHash.new]
+ hash = Hashie::Hash[
+ 'a' => 'hey',
+ 123 => 'bob',
+ 'array' => [1, 2, 3],
+ subhash: ClassRespondsToHash.new
+ ]
symbolized_hash = hash.to_hash(stringify_keys: true)
expected = {
@@ -92,7 +102,12 @@ describe Hash do
end
it '#to_hash with symbolize_keys set to true returns a hash with symbolized keys' do
- hash = Hashie::Hash['a' => 'hey', 123 => 'bob', 'array' => [1, 2, 3], subhash: ClassRespondsToHash.new]
+ hash = Hashie::Hash[
+ 'a' => 'hey',
+ 123 => 'bob',
+ 'array' => [1, 2, 3],
+ subhash: ClassRespondsToHash.new
+ ]
symbolized_hash = hash.to_hash(symbolize_keys: true)
expected = {
diff --git a/spec/hashie/mash_spec.rb b/spec/hashie/mash_spec.rb
index 77a1c6b..13ddef0 100644
--- a/spec/hashie/mash_spec.rb
+++ b/spec/hashie/mash_spec.rb
@@ -302,14 +302,16 @@ describe Hashie::Mash do
# http://www.ruby-doc.org/core-1.9.3/Hash.html#method-i-update
it 'accepts a block' do
- duped = subject.merge(details: { address: 'Pasadena CA' }) { |_, oldv, newv| [oldv, newv].join(', ') }
+ duped = subject.merge(details: { address: 'Pasadena CA' }) do |_, oldv, newv|
+ [oldv, newv].join(', ')
+ end
+
expect(duped.details.address).to eq 'Nowhere road, Pasadena CA'
end
it 'copies values for non-duplicate keys when a block is supplied' do
- duped =
- subject
- .merge(details: { address: 'Pasadena CA', state: 'West Thoughtleby' }) { |_, oldv, _| oldv }
+ m_hash = { details: { address: 'Pasadena CA', state: 'West Thoughtleby' } }
+ duped = subject.merge(m_hash) { |_, oldv, _| oldv }
expect(duped.details.address).to eq 'Nowhere road'
expect(duped.details.state).to eq 'West Thoughtleby'
diff --git a/spec/hashie/trash_spec.rb b/spec/hashie/trash_spec.rb
index 043cbfd..9998c8d 100644
--- a/spec/hashie/trash_spec.rb
+++ b/spec/hashie/trash_spec.rb
@@ -188,7 +188,9 @@ describe Hashie::Trash do
end
it 'transforms the value when given in constructor' do
- expect(TrashLambdaTestWithProperties.new(first_name: 'Michael').first_name).to eq 'Michael'.reverse
+ expect(
+ TrashLambdaTestWithProperties.new(first_name: 'Michael').first_name
+ ).to eq 'Michael'.reverse
end
context 'when :from option is given' do
@@ -297,7 +299,9 @@ describe Hashie::Trash do
property :copy_of_id, from: :id, required: true, message: 'must be set'
end
- expect { with_required.new }.to raise_error(ArgumentError, "The property 'copy_of_id' must be set")
+ expect { with_required.new }.to raise_error(
+ ArgumentError, "The property 'copy_of_id' must be set"
+ )
end
it 'does not set properties that do not exist' do
@@ -308,7 +312,9 @@ describe Hashie::Trash do
subject = from_non_property.new(value: 0)
expect(subject).not_to respond_to(:value)
- expect { subject[:value] }.to raise_error(NoMethodError, "The property 'value' is not defined for .")
+ expect { subject[:value] }.to raise_error(
+ NoMethodError, "The property 'value' is not defined for ."
+ )
expect(subject.to_h[:value]).to eq(nil)
expect(subject.copy_of_value).to eq(0)
end
diff --git a/spec/integration/elasticsearch/integration_spec.rb b/spec/integration/elasticsearch/integration_spec.rb
index 70689fb..e333f21 100644
--- a/spec/integration/elasticsearch/integration_spec.rb
+++ b/spec/integration/elasticsearch/integration_spec.rb
@@ -35,6 +35,7 @@ RSpec.describe 'elaasticsearch-model' do
def stub_elasticsearch_client
response = double('Response', body: '{}')
- allow_any_instance_of(Elasticsearch::Transport::Client).to receive(:perform_request) { response }
+ allow_any_instance_of(Elasticsearch::Transport::Client).to\
+ receive(:perform_request) { response }
end
end
diff --git a/spec/integration/rails/integration_spec.rb b/spec/integration/rails/integration_spec.rb
index dc1d670..cef79f0 100644
--- a/spec/integration/rails/integration_spec.rb
+++ b/spec/integration/rails/integration_spec.rb
@@ -14,8 +14,11 @@ RSpec.describe 'rails', type: :request do
$stdout = original_stdout
end
- it 'does not log anything to STDOUT when initializing and sets the Hashie logger to the Rails logger' do
+ it 'does not log anything to STDOUT when initializing' do
expect(stdout.string).to eq('')
+ end
+
+ it 'sets the Hashie logger to the Rails logger' do
expect(Hashie.logger).to eq(Rails.logger)
end