refinements 5.2.0 → 6.0.0

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: 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