dry-equalizer 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3a819572ea7edadec962667cf45602118b745509ee33a86bbf440153340500f6
4
- data.tar.gz: 725faa38c3a44a8ccb1a79e33e194f3aed15d2d08778167a90d144950d85718a
3
+ metadata.gz: 68e7a5819b71d2ffd60f4424d3b06e92710404a1a83b5fb1770f36530fee537e
4
+ data.tar.gz: fbaa5d489d993948159108249b42eaec44a144163ea73285cff6c88c0cec1dd0
5
5
  SHA512:
6
- metadata.gz: 6b7145d6579f21bbd00dee972501f4251c60dea36f7e4c22eb4ea20ec640fe4e115b1ffc5da597354be807f2d844030a6ffa64a8712a660a543cb470f5801ddb
7
- data.tar.gz: 3d2bc74a8e66dee5e2873391a2a37a8768c063d5e36e17fca6dd5986129483ee7e2ba361335d4de65cd2c2b03070a8987e16eb6bae196dc89f9d5280f814c6ee
6
+ metadata.gz: 7951e751feca649d17457d9d95f18af296bac9a583ed5d3644edb9e926afcdd2187af0effec08723a580b3acadd9fbac3467bda3c90ef5863c417c14b1d9e22b
7
+ data.tar.gz: e09afaa53dcb1d775a634d453f3e3d9b015834a3d07e2ae3cfb2bedcb0cf9b37825da42e3cf8224f926c81eafd195d6b981700a2586c9e609bc9d37da331cf1f
@@ -1,18 +1,15 @@
1
1
  language: ruby
2
2
  cache: bundler
3
3
  bundler_args: --without benchmarks tools
4
- script:
5
- - bundle exec rake
6
- before_install:
7
- - gem update --system
8
4
  after_success:
9
5
  - '[ -d coverage ] && bundle exec codeclimate-test-reporter'
10
6
  rvm:
11
- - 2.2.9
12
- - 2.3.6
13
- - 2.4.3
14
- - 2.5.0
15
- - jruby-9.1.15.0
7
+ - 2.2.10
8
+ - 2.3.8
9
+ - 2.4.5
10
+ - 2.5.3
11
+ - 2.6.1
12
+ - jruby-9.2.6.0
16
13
  env:
17
14
  global:
18
15
  - COVERAGE=true
@@ -1,3 +1,16 @@
1
+ # v0.2.2 2019-03-08
2
+
3
+ ### Added
4
+
5
+ * Generation of `#to_s` and `#inspect` can be disabled with `inspect: false` (flash-gordon)
6
+ ```ruby
7
+ class User
8
+ include Dry::Equalizer(:id, :name, :age, inspect: false)
9
+ end
10
+ ```
11
+
12
+ [Compare v0.2.1...v0.2.2](https://github.com/dry-rb/dry-equalizer/compare/v0.2.1...v0.2.2)
13
+
1
14
  # v0.2.1 2018-04-26
2
15
 
3
16
  ### Fixed
data/Gemfile CHANGED
@@ -3,6 +3,7 @@ source 'https://rubygems.org'
3
3
  gemspec
4
4
 
5
5
  group :development, :test do
6
+ gem 'bundler'
6
7
  gem 'rake'
7
8
  gem 'rspec', '~> 3.5'
8
9
  end
data/README.md CHANGED
@@ -9,7 +9,6 @@ Module to define equality, equivalence and inspection methods
9
9
 
10
10
  [gem]: https://rubygems.org/gems/dry-equalizer
11
11
  [travis]: https://travis-ci.org/dry-rb/dry-equalizer
12
- [gemnasium]: https://gemnasium.com/dry-rb/dry-equalizer
13
12
  [codeclimate]: https://codeclimate.com/github/dry-rb/dry-equalizer
14
13
 
15
14
  Examples
@@ -16,6 +16,4 @@ Gem::Specification.new do |gem|
16
16
  gem.extra_rdoc_files = %w[LICENSE README.md CONTRIBUTING.md]
17
17
 
18
18
  gem.required_ruby_version = '>= 2.0.0'
19
-
20
- gem.add_development_dependency('bundler', '~> 1.3', '>= 1.3.5')
21
19
  end
@@ -2,8 +2,8 @@ module Dry
2
2
  # Build an equalizer module for the inclusion in other class
3
3
  #
4
4
  # @api public
5
- def self.Equalizer(*keys)
6
- Dry::Equalizer.new(*keys)
5
+ def self.Equalizer(*keys, **options)
6
+ Dry::Equalizer.new(*keys, **options)
7
7
  end
8
8
 
9
9
  # Define equality, equivalence and inspection methods
@@ -18,9 +18,9 @@ module Dry
18
18
  # @return [undefined]
19
19
  #
20
20
  # @api private
21
- def initialize(*keys)
21
+ def initialize(*keys, inspect: true)
22
22
  @keys = keys.uniq
23
- define_methods
23
+ define_methods(inspect: inspect)
24
24
  freeze
25
25
  end
26
26
 
@@ -44,10 +44,10 @@ module Dry
44
44
  # @return [undefined]
45
45
  #
46
46
  # @api private
47
- def define_methods
47
+ def define_methods(inspect: true)
48
48
  define_cmp_method
49
49
  define_hash_method
50
- define_inspect_method
50
+ define_inspect_method if inspect
51
51
  end
52
52
 
53
53
  # Define an #cmp? method based on the instance's values identified by #keys
@@ -1,6 +1,6 @@
1
1
  module Dry
2
2
  class Equalizer < Module
3
3
  # Gem version
4
- VERSION = '0.2.1'.freeze
4
+ VERSION = '0.2.2'.freeze
5
5
  end # class Equalizer
6
6
  end
@@ -10,7 +10,7 @@ RSpec.describe Dry::Equalizer do
10
10
  before do
11
11
  # specify the class #name method
12
12
  allow(klass).to receive(:name).and_return(name)
13
- klass.send(:include, subject)
13
+ klass.include(subject)
14
14
  end
15
15
 
16
16
  let(:instance) { klass.new }
@@ -92,7 +92,7 @@ RSpec.describe Dry::Equalizer do
92
92
  before do
93
93
  # specify the class #inspect method
94
94
  allow(klass).to receive_messages(name: nil, inspect: name)
95
- klass.send(:include, subject)
95
+ klass.include(subject)
96
96
  end
97
97
 
98
98
  it { should be_instance_of(described_class) }
@@ -176,7 +176,7 @@ RSpec.describe Dry::Equalizer do
176
176
  before do
177
177
  # specify the class #inspect method
178
178
  allow(klass).to receive_messages(name: nil, inspect: name)
179
- klass.send(:include, subject)
179
+ klass.include(subject)
180
180
  end
181
181
 
182
182
  it { should be_instance_of(described_class) }
@@ -190,4 +190,28 @@ RSpec.describe Dry::Equalizer do
190
190
  end
191
191
  end
192
192
  end
193
+
194
+ context 'with options' do
195
+ context 'w/o inspect' do
196
+ subject { Dry::Equalizer(*keys, inspect: false) }
197
+
198
+ let(:keys) { %i[firstname lastname].freeze }
199
+ let(:firstname) { 'John' }
200
+ let(:lastname) { 'Doe' }
201
+ let(:instance) { klass.new(firstname, lastname) }
202
+
203
+ let(:klass) do
204
+ ::Struct.new(:firstname, :lastname)
205
+ end
206
+
207
+ before { klass.include(subject) }
208
+
209
+ describe '#inspect' do
210
+ it 'returns the default string' do
211
+ expect(instance.inspect).to eql('#<struct firstname="John", lastname="Doe">')
212
+ expect(instance.to_s).to eql('#<struct firstname="John", lastname="Doe">')
213
+ end
214
+ end
215
+ end
216
+ end
193
217
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dry-equalizer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dan Kubb
@@ -9,28 +9,8 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2018-04-26 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: bundler
16
- requirement: !ruby/object:Gem::Requirement
17
- requirements:
18
- - - "~>"
19
- - !ruby/object:Gem::Version
20
- version: '1.3'
21
- - - ">="
22
- - !ruby/object:Gem::Version
23
- version: 1.3.5
24
- type: :development
25
- prerelease: false
26
- version_requirements: !ruby/object:Gem::Requirement
27
- requirements:
28
- - - "~>"
29
- - !ruby/object:Gem::Version
30
- version: '1.3'
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: 1.3.5
12
+ date: 2019-03-09 00:00:00.000000000 Z
13
+ dependencies: []
34
14
  description: Module to define equality, equivalence and inspection methods
35
15
  email:
36
16
  - dan.kubb@gmail.com
@@ -82,8 +62,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
82
62
  - !ruby/object:Gem::Version
83
63
  version: '0'
84
64
  requirements: []
85
- rubyforge_project:
86
- rubygems_version: 2.7.4
65
+ rubygems_version: 3.0.3
87
66
  signing_key:
88
67
  specification_version: 4
89
68
  summary: Module to define equality, equivalence and inspection methods