refinements 5.2.0 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 142576a7898ff9e40dc24883a727e3596082a7cdf76a24e99adf941b7b7f4760
4
- data.tar.gz: 11c54a89927f41069c749c702b1053496178046ff3b1ff25750da5d273373d4e
3
+ metadata.gz: 848fd21ba0d757fdc5f6fdb34181dddb369996c92ff926e2c073fa2fb8d66f7c
4
+ data.tar.gz: 5f14c9972c61c6110cbcac3f02dae114285be4f57699c0dbaf2ba48a8cd17032
5
5
  SHA512:
6
- metadata.gz: 8543e17618c27359599260de10a693a7c3ada1fff2122b014acde45beeab4b05df71c9438f1273fcc0d329c96e7b19a80ae7b617391121801b7ee62a80f7e605
7
- data.tar.gz: 8c2115e2e5acce2a7dd8cc542a4eff4dc7a8daddb982275b082bb9d2985c80ab29b3809c7efe0edf1904a2e43d439a9a5c4e3f3d1ec51b1419efacbdf146482f
6
+ metadata.gz: 6ba0796a94c1d6249b92f265d7dfb2abad08ac0552a12e6476b8dda3cd43e642f1edc78671be2cb4aa19653b3b5232a08778427142a6f44b1121e1fe87074cf5
7
+ data.tar.gz: c5e511aaf42ca87dbf10b541ada6dcfde7f3e2422e89aca2e963b04fe8a6125c86c0d0751f673f651d16402b09f3d08f2ef280d41a5c7460c05f02c101714bbc
Binary file
data.tar.gz.sig CHANGED
Binary file
data/README.md CHANGED
@@ -21,7 +21,6 @@ Provides additional enhancements (refinements) to core Ruby objects.
21
21
  - [Array](#array)
22
22
  - [Big Decimal](#big-decimal)
23
23
  - [Hash](#hash)
24
- - [Object](#object)
25
24
  - [String](#string)
26
25
  - [Tests](#tests)
27
26
  - [Versioning](#versioning)
@@ -49,8 +48,6 @@ Provides additional enhancements (refinements) to core Ruby objects.
49
48
  - `#deep_merge!` - Merges deeply nested hashes together while modifying itself.
50
49
  - `#reverse_merge` - Merges calling hash into passed in hash without modifying calling hash.
51
50
  - `#reverse_merge!` - Merges calling hash into passed in hash while modifying calling hash.
52
- - Provides Object refinements:
53
- - `#then` - Provides an alias to `yield_self` that is shorter to type.
54
51
  - Provides String refinements:
55
52
  - `#first` - Answers first character of a string or first set of characters if given a number.
56
53
  - `#last` - Answers last character of a string or last set of characters if given a number.
@@ -66,8 +63,8 @@ Provides additional enhancements (refinements) to core Ruby objects.
66
63
 
67
64
  ## Requirements
68
65
 
69
- 0. [Ruby 2.5.x](https://www.ruby-lang.org).
70
- 0. A solid understanding of [Ruby refinements and lexical scope](https://www.youtube.com/watch?v=qXC9Gk4dCEw).
66
+ 1. [Ruby 2.6.x](https://www.ruby-lang.org).
67
+ 1. A solid understanding of [Ruby refinements and lexical scope](https://www.youtube.com/watch?v=qXC9Gk4dCEw).
71
68
 
72
69
  ## Setup
73
70
 
@@ -171,12 +168,6 @@ The following sections demonstrate how each refinement enriches your objects wit
171
168
  example = {unit: "221B", street: "Baker Street", city: "London", country: "UK"}
172
169
  example.use { |unit, street| "#{unit} #{street}" } # => "221B Baker Street"
173
170
 
174
- #### Object
175
-
176
- # Contrived for simplicity.
177
- example = "example"
178
- example.then(&:capitalize) # "Example"
179
-
180
171
  #### String
181
172
 
182
173
  "example".first # => "e"
@@ -200,7 +191,7 @@ To test, run:
200
191
 
201
192
  ## Versioning
202
193
 
203
- Read [Semantic Versioning](http://semver.org) for details. Briefly, it means:
194
+ Read [Semantic Versioning](https://semver.org) for details. Briefly, it means:
204
195
 
205
196
  - Major (X.y.z) - Incremented for any backwards incompatible public API changes.
206
197
  - Minor (x.Y.z) - Incremented for new, backwards compatible, public API enhancements/fixes.
@@ -4,5 +4,4 @@ require "refinements/arrays"
4
4
  require "refinements/big_decimals"
5
5
  require "refinements/hashes"
6
6
  require "refinements/identity"
7
- require "refinements/objects"
8
7
  require "refinements/strings"
@@ -3,7 +3,6 @@
3
3
  module Refinements
4
4
  # Refinements for hashes.
5
5
  module Hashes
6
- # rubocop:disable Metrics/BlockLength
7
6
  refine Hash do
8
7
  def except *keys
9
8
  reject { |key, _value| keys.include? key }
@@ -52,6 +51,5 @@ module Refinements
52
51
  yield values
53
52
  end
54
53
  end
55
- # rubocop:enable Metrics/BlockLength
56
54
  end
57
55
  end
@@ -12,7 +12,7 @@ module Refinements
12
12
  end
13
13
 
14
14
  def self.version
15
- "5.2.0"
15
+ "6.0.0"
16
16
  end
17
17
 
18
18
  def self.version_label
@@ -9,7 +9,6 @@ module Refinements
9
9
  end
10
10
  end
11
11
 
12
- # rubocop:disable Metrics/BlockLength
13
12
  refine String do
14
13
  def first number = 0
15
14
  return self if empty?
@@ -41,11 +40,13 @@ module Refinements
41
40
 
42
41
  def up
43
42
  return self if empty?
43
+
44
44
  first.upcase + self[1, size]
45
45
  end
46
46
 
47
47
  def down
48
48
  return self if empty?
49
+
49
50
  first.downcase + self[1, size]
50
51
  end
51
52
 
@@ -83,10 +84,10 @@ module Refinements
83
84
  def join_parts parts, method:, delimiter: ""
84
85
  parts.reduce "" do |result, part|
85
86
  next part.__send__(method) if result.empty?
87
+
86
88
  "#{result}#{delimiter}#{part.__send__ method}"
87
89
  end
88
90
  end
89
91
  end
90
- # rubocop:enable Metrics/BlockLength
91
92
  end
92
93
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: refinements
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.2.0
4
+ version: 6.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brooke Kuhlmann
@@ -29,7 +29,7 @@ cert_chain:
29
29
  4Zrsxi713z6sndd9JBAm4G7mJiV93MsuCM5N4ZDY7XaxIhvctNSNhX/Yn8LLdtGI
30
30
  b4jw5t40FKyNUvLPPXYAvQALBtk=
31
31
  -----END CERTIFICATE-----
32
- date: 2018-05-02 00:00:00.000000000 Z
32
+ date: 2019-01-01 00:00:00.000000000 Z
33
33
  dependencies:
34
34
  - !ruby/object:Gem::Dependency
35
35
  name: awesome_print
@@ -74,159 +74,145 @@ dependencies:
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0.6'
76
76
  - !ruby/object:Gem::Dependency
77
- name: codeclimate-test-reporter
78
- requirement: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: '1.0'
83
- type: :development
84
- prerelease: false
85
- version_requirements: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - "~>"
88
- - !ruby/object:Gem::Version
89
- version: '1.0'
90
- - !ruby/object:Gem::Dependency
91
- name: gemsmith
77
+ name: guard-rspec
92
78
  requirement: !ruby/object:Gem::Requirement
93
79
  requirements:
94
80
  - - "~>"
95
81
  - !ruby/object:Gem::Version
96
- version: '12.0'
82
+ version: '4.7'
97
83
  type: :development
98
84
  prerelease: false
99
85
  version_requirements: !ruby/object:Gem::Requirement
100
86
  requirements:
101
87
  - - "~>"
102
88
  - !ruby/object:Gem::Version
103
- version: '12.0'
89
+ version: '4.7'
104
90
  - !ruby/object:Gem::Dependency
105
- name: git-cop
91
+ name: hirb
106
92
  requirement: !ruby/object:Gem::Requirement
107
93
  requirements:
108
94
  - - "~>"
109
95
  - !ruby/object:Gem::Version
110
- version: '2.2'
96
+ version: '0.7'
111
97
  type: :development
112
98
  prerelease: false
113
99
  version_requirements: !ruby/object:Gem::Requirement
114
100
  requirements:
115
101
  - - "~>"
116
102
  - !ruby/object:Gem::Version
117
- version: '2.2'
103
+ version: '0.7'
118
104
  - !ruby/object:Gem::Dependency
119
- name: guard-rspec
105
+ name: pry
120
106
  requirement: !ruby/object:Gem::Requirement
121
107
  requirements:
122
108
  - - "~>"
123
109
  - !ruby/object:Gem::Version
124
- version: '4.7'
110
+ version: '0.10'
125
111
  type: :development
126
112
  prerelease: false
127
113
  version_requirements: !ruby/object:Gem::Requirement
128
114
  requirements:
129
115
  - - "~>"
130
116
  - !ruby/object:Gem::Version
131
- version: '4.7'
117
+ version: '0.10'
132
118
  - !ruby/object:Gem::Dependency
133
- name: hirb
119
+ name: pry-byebug
134
120
  requirement: !ruby/object:Gem::Requirement
135
121
  requirements:
136
122
  - - "~>"
137
123
  - !ruby/object:Gem::Version
138
- version: '0.7'
124
+ version: '3.5'
139
125
  type: :development
140
126
  prerelease: false
141
127
  version_requirements: !ruby/object:Gem::Requirement
142
128
  requirements:
143
129
  - - "~>"
144
130
  - !ruby/object:Gem::Version
145
- version: '0.7'
131
+ version: '3.5'
146
132
  - !ruby/object:Gem::Dependency
147
- name: pry
133
+ name: rake
148
134
  requirement: !ruby/object:Gem::Requirement
149
135
  requirements:
150
136
  - - "~>"
151
137
  - !ruby/object:Gem::Version
152
- version: '0.10'
138
+ version: '12.3'
153
139
  type: :development
154
140
  prerelease: false
155
141
  version_requirements: !ruby/object:Gem::Requirement
156
142
  requirements:
157
143
  - - "~>"
158
144
  - !ruby/object:Gem::Version
159
- version: '0.10'
145
+ version: '12.3'
160
146
  - !ruby/object:Gem::Dependency
161
- name: pry-byebug
147
+ name: reek
162
148
  requirement: !ruby/object:Gem::Requirement
163
149
  requirements:
164
150
  - - "~>"
165
151
  - !ruby/object:Gem::Version
166
- version: '3.5'
152
+ version: '5.0'
167
153
  type: :development
168
154
  prerelease: false
169
155
  version_requirements: !ruby/object:Gem::Requirement
170
156
  requirements:
171
157
  - - "~>"
172
158
  - !ruby/object:Gem::Version
173
- version: '3.5'
159
+ version: '5.0'
174
160
  - !ruby/object:Gem::Dependency
175
- name: rake
161
+ name: rspec
176
162
  requirement: !ruby/object:Gem::Requirement
177
163
  requirements:
178
164
  - - "~>"
179
165
  - !ruby/object:Gem::Version
180
- version: '12.3'
166
+ version: '3.8'
181
167
  type: :development
182
168
  prerelease: false
183
169
  version_requirements: !ruby/object:Gem::Requirement
184
170
  requirements:
185
171
  - - "~>"
186
172
  - !ruby/object:Gem::Version
187
- version: '12.3'
173
+ version: '3.8'
188
174
  - !ruby/object:Gem::Dependency
189
- name: reek
175
+ name: rubocop
190
176
  requirement: !ruby/object:Gem::Requirement
191
177
  requirements:
192
178
  - - "~>"
193
179
  - !ruby/object:Gem::Version
194
- version: '4.8'
180
+ version: '0.62'
195
181
  type: :development
196
182
  prerelease: false
197
183
  version_requirements: !ruby/object:Gem::Requirement
198
184
  requirements:
199
185
  - - "~>"
200
186
  - !ruby/object:Gem::Version
201
- version: '4.8'
187
+ version: '0.62'
202
188
  - !ruby/object:Gem::Dependency
203
- name: rspec
189
+ name: rubocop-rspec
204
190
  requirement: !ruby/object:Gem::Requirement
205
191
  requirements:
206
192
  - - "~>"
207
193
  - !ruby/object:Gem::Version
208
- version: '3.7'
194
+ version: '1.30'
209
195
  type: :development
210
196
  prerelease: false
211
197
  version_requirements: !ruby/object:Gem::Requirement
212
198
  requirements:
213
199
  - - "~>"
214
200
  - !ruby/object:Gem::Version
215
- version: '3.7'
201
+ version: '1.30'
216
202
  - !ruby/object:Gem::Dependency
217
- name: rubocop
203
+ name: simplecov
218
204
  requirement: !ruby/object:Gem::Requirement
219
205
  requirements:
220
206
  - - "~>"
221
207
  - !ruby/object:Gem::Version
222
- version: '0.54'
208
+ version: '0.13'
223
209
  type: :development
224
210
  prerelease: false
225
211
  version_requirements: !ruby/object:Gem::Requirement
226
212
  requirements:
227
213
  - - "~>"
228
214
  - !ruby/object:Gem::Version
229
- version: '0.54'
215
+ version: '0.13'
230
216
  - !ruby/object:Gem::Dependency
231
217
  name: wirb
232
218
  requirement: !ruby/object:Gem::Requirement
@@ -257,7 +243,6 @@ files:
257
243
  - lib/refinements/big_decimals.rb
258
244
  - lib/refinements/hashes.rb
259
245
  - lib/refinements/identity.rb
260
- - lib/refinements/objects.rb
261
246
  - lib/refinements/strings.rb
262
247
  homepage: https://github.com/bkuhlmann/refinements
263
248
  licenses:
@@ -274,15 +259,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
274
259
  requirements:
275
260
  - - "~>"
276
261
  - !ruby/object:Gem::Version
277
- version: '2.5'
262
+ version: '2.6'
278
263
  required_rubygems_version: !ruby/object:Gem::Requirement
279
264
  requirements:
280
265
  - - ">="
281
266
  - !ruby/object:Gem::Version
282
267
  version: '0'
283
268
  requirements: []
284
- rubyforge_project:
285
- rubygems_version: 2.7.6
269
+ rubygems_version: 3.0.2
286
270
  signing_key:
287
271
  specification_version: 4
288
272
  summary: Provides additional enhancements (refinements) to core Ruby objects.
metadata.gz.sig CHANGED
Binary file
@@ -1,10 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Refinements
4
- # Refinements for objects.
5
- module Objects
6
- refine Object do
7
- alias_method :then, :yield_self
8
- end
9
- end
10
- end