private_attr 1.0.0 → 2.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
- SHA1:
3
- metadata.gz: 3fe27ad01f2e233e9d5422b483cfeef78abe6ac5
4
- data.tar.gz: 09790254ddce8d6828c3a73cff4446edb3de33c6
2
+ SHA256:
3
+ metadata.gz: 88d9a3ef59b6c3f35666213427fe1bfcbf62bfa1d68880842c87aded09b88941
4
+ data.tar.gz: d8f0ef61f6bce1cc59d42ca4e6cedda297537d4b7183781801eb80d7e81052af
5
5
  SHA512:
6
- metadata.gz: 6921dcd2d484d73587154668ea5e99ac1c3e5586d1600c487d02388b1e9348342a0794cc20305e5e307c9f2cb70c717123a7c767d8a3be531c1f4390a61d0d24
7
- data.tar.gz: 5ccea01bdb065d1dda91d50568f1b2df5d088b20974774ab84c39a5f41e0903bb06baf0fb1de3dc2427e3f11e83524a086d1787b60e8a639b6a452f509801a23
6
+ metadata.gz: 6b86f6095fb35bb4273e528708380293f4a43f542d8ee790efb7d81b1c27444861139338bf5139de7a51ba0bcbc0d76228fb29625815f4690d5aa5e60e160ef7
7
+ data.tar.gz: 807ad97fa745e06a1a881c1d0318c57a6b94cf904c986da94376f546816b2125211e2a0a65ccb30e9848fedc1e58a102aa77f28f223f8d4db2f784f0a55665e8
data/.travis.yml CHANGED
@@ -1,6 +1,10 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 1.9.3
4
- - 2.0.0
3
+ - 2.0
5
4
  - 2.1
6
5
  - 2.2
6
+ - 2.3
7
+ - 2.4
8
+ - 2.5
9
+ - 2.6
10
+ - 2.7
data/README.md CHANGED
@@ -17,8 +17,9 @@ class Foo
17
17
  end
18
18
  ```
19
19
 
20
- But, I really like to declare my attribute readers and writers near the
21
- top of my classes, which means I sometimes use something like:
20
+ Unfortunately, this makes Ruby show a ‘private attribute?’ warning.
21
+ Also, I really like to declare my attribute readers and writers near
22
+ the top of my classes, which means I sometimes use something like:
22
23
 
23
24
  ```ruby
24
25
  class Bar
@@ -56,6 +57,7 @@ class Bar
56
57
  private_attr_accessor :foo
57
58
  private_attr_reader :baz
58
59
  private_attr_writer :bat
60
+ private_alias_method :bar, :foo
59
61
 
60
62
  def initialize foo
61
63
  self.foo = foo
@@ -79,6 +81,10 @@ class Bar
79
81
  end
80
82
  ```
81
83
 
84
+ If you don’t want to extend all of your modules and classes
85
+ separately you can also `require 'private_attr/everywhere'`
86
+ and the methods will be available everywhere.
87
+
82
88
  ## Contributing
83
89
 
84
90
  1. Fork it
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../private_attr"
4
+
5
+ # Module.include is private in Ruby < 2.1
6
+ Module.__send__(:include, PrivateAttr)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module PrivateAttr
2
- VERSION = "1.0.0"
4
+ VERSION = "2.0.0"
3
5
  end
data/lib/private_attr.rb CHANGED
@@ -1,35 +1,47 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "private_attr/version"
2
4
 
3
5
  module PrivateAttr
4
6
  module_function
5
7
 
6
- def private_attr_accessor *attr
8
+ def private_attr_accessor(*attr)
7
9
  private_attr_reader(*attr)
8
10
  private_attr_writer(*attr)
9
11
  end
10
12
 
11
- def private_attr_reader *attr
13
+ def private_attr_reader(*attr)
12
14
  attr_reader(*attr)
13
15
  private(*attr)
14
16
  end
15
17
 
16
- def private_attr_writer *attr
18
+ def private_attr_writer(*attr)
17
19
  attr_writer(*attr)
18
20
  private(*attr.map { |a| "#{a}=" })
19
21
  end
20
22
 
21
- def protected_attr_accessor *attr
23
+ def protected_attr_accessor(*attr)
22
24
  protected_attr_reader(*attr)
23
25
  protected_attr_writer(*attr)
24
26
  end
25
27
 
26
- def protected_attr_reader *attr
28
+ def protected_attr_reader(*attr)
27
29
  attr_reader(*attr)
28
30
  protected(*attr)
29
31
  end
30
32
 
31
- def protected_attr_writer *attr
33
+ def protected_attr_writer(*attr)
32
34
  attr_writer(*attr)
33
35
  protected(*attr.map { |a| "#{a}=" })
34
36
  end
37
+
38
+ def private_alias_method(new_name, old_name)
39
+ alias_method(new_name, old_name)
40
+ private(new_name)
41
+ end
42
+
43
+ def protected_alias_method(new_name, old_name)
44
+ alias_method(new_name, old_name)
45
+ protected(new_name)
46
+ end
35
47
  end
data/private_attr.gemspec CHANGED
@@ -18,6 +18,7 @@ Gem::Specification.new do |gem|
18
18
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
19
19
  gem.require_paths = ["lib"]
20
20
 
21
+ gem.add_development_dependency 'bundler'
21
22
  gem.add_development_dependency 'minitest', '~> 5.0'
22
- gem.add_development_dependency 'rake', '~> 10.0'
23
+ gem.add_development_dependency 'rake', '~> 12.3.3'
23
24
  end
@@ -0,0 +1,20 @@
1
+ require "minitest/autorun"
2
+
3
+ describe "private_attr/everywhere" do
4
+ # these particular tests must be run in order
5
+ def self.test_order
6
+ :alpha
7
+ end
8
+
9
+ it "requiring only private_attr keeps Classes and Modules intact" do
10
+ require "private_attr"
11
+ _(Class.new.private_methods).wont_include :private_attr_reader
12
+ _(Module.new.private_methods).wont_include :private_attr_reader
13
+ end
14
+
15
+ it "requiring private_attr/everywhere adds it to all Classes and Modules" do
16
+ require "private_attr/everywhere"
17
+ _(Class.new.private_methods).must_include :private_attr_reader
18
+ _(Module.new.private_methods).must_include :private_attr_reader
19
+ end
20
+ end
@@ -1,20 +1,20 @@
1
- require 'minitest/autorun'
2
- require 'private_attr'
1
+ require "minitest/autorun"
2
+ require "private_attr"
3
3
 
4
4
  class Dummy
5
5
  def read_accessor
6
6
  accessor
7
7
  end
8
8
 
9
- def read_accessor_other other
9
+ def read_accessor_other(other)
10
10
  other.accessor
11
11
  end
12
12
 
13
- def write_accessor value
13
+ def write_accessor(value)
14
14
  self.accessor = value
15
15
  end
16
16
 
17
- def write_accessor_other other, value
17
+ def write_accessor_other(other, value)
18
18
  other.accessor = value
19
19
  end
20
20
 
@@ -22,17 +22,27 @@ class Dummy
22
22
  reader
23
23
  end
24
24
 
25
- def read_reader_other other
25
+ def read_reader_other(other)
26
26
  other.reader
27
27
  end
28
28
 
29
- def write_writer value
29
+ def write_writer(value)
30
30
  self.writer = value
31
31
  end
32
32
 
33
- def write_writer_other other, value
33
+ def write_writer_other(other, value)
34
34
  other.writer = value
35
35
  end
36
+
37
+ attr_reader :original
38
+
39
+ def call_aliased
40
+ aliased
41
+ end
42
+
43
+ def call_aliased_other(other)
44
+ other.aliased
45
+ end
36
46
  end
37
47
 
38
48
  class PrivateDummy < Dummy
@@ -40,6 +50,7 @@ class PrivateDummy < Dummy
40
50
  private_attr_accessor :accessor
41
51
  private_attr_reader :reader
42
52
  private_attr_writer :writer
53
+ private_alias_method :aliased, :original
43
54
  end
44
55
 
45
56
  class ProtectedDummy < Dummy
@@ -47,205 +58,308 @@ class ProtectedDummy < Dummy
47
58
  protected_attr_accessor :accessor
48
59
  protected_attr_reader :reader
49
60
  protected_attr_writer :writer
61
+ protected_alias_method :aliased, :original
50
62
  end
51
63
 
52
64
  describe PrivateAttr do
53
65
  let(:dummy) { dummy_class.new }
54
66
  let(:other) { dummy_class.new }
55
- let(:old_value) { 'old value' }
56
- let(:value) { 'value' }
67
+ let(:old_value) { "old value" }
68
+ let(:new_value) { "new value" }
57
69
 
58
- describe 'private_attr_accessor' do
70
+ describe "private_attr_accessor" do
59
71
  let(:dummy_class) { PrivateDummy }
60
72
 
61
- before { dummy.instance_variable_set '@accessor', old_value }
73
+ before { dummy.instance_variable_set "@accessor", old_value }
62
74
 
63
- it 'allows attribute to be read internally' do
64
- dummy.read_accessor.must_equal old_value
75
+ it "allows attribute to be read internally" do
76
+ _(dummy.read_accessor).must_equal old_value
65
77
  end
66
78
 
67
- it 'allows attribute to be written internally' do
68
- dummy.write_accessor value
69
- dummy.instance_variable_get('@accessor').must_equal value
79
+ it "allows attribute to be written internally" do
80
+ dummy.write_accessor new_value
81
+ _(dummy.instance_variable_get("@accessor")).must_equal new_value
70
82
  end
71
83
 
72
- it 'raises Error when read externally' do
73
- -> { dummy.accessor }.must_raise NoMethodError
84
+ it "raises Error when read externally" do
85
+ _{ dummy.accessor }.must_raise NoMethodError
74
86
  end
75
87
 
76
- it 'raises Error when written externally' do
77
- -> { dummy.accessor = value }.must_raise NoMethodError
88
+ it "raises Error when written externally" do
89
+ _{ dummy.accessor = new_value }.must_raise NoMethodError
78
90
  end
79
91
 
80
- it 'raises Error when read by other' do
81
- -> { dummy.read_accessor_other other }.must_raise NoMethodError
92
+ it "raises Error when read by other" do
93
+ _{ dummy.read_accessor_other other }.must_raise NoMethodError
82
94
  end
83
95
 
84
- it 'raises Error when written by other' do
85
- -> { dummy.write_accessor_other other, value }.must_raise NoMethodError
96
+ it "raises Error when written by other" do
97
+ _{ dummy.write_accessor_other other, new_value }.must_raise NoMethodError
86
98
  end
87
99
  end
88
100
 
89
- describe 'private_attr_reader' do
101
+ describe "private_attr_reader" do
90
102
  let(:dummy_class) { PrivateDummy }
91
103
 
92
- before { dummy.instance_variable_set '@reader', old_value }
104
+ before { dummy.instance_variable_set "@reader", old_value }
93
105
 
94
- it 'allows attribute to be read internally' do
95
- dummy.read_reader.must_equal old_value
106
+ it "allows attribute to be read internally" do
107
+ _(dummy.read_reader).must_equal old_value
96
108
  end
97
109
 
98
- it 'raises Error when written internally' do
99
- -> { dummy.write_reader value }.must_raise NoMethodError
110
+ it "raises Error when written internally" do
111
+ _{ dummy.write_reader new_value }.must_raise NoMethodError
100
112
  end
101
113
 
102
- it 'raises Error when read externally' do
103
- -> { dummy.reader }.must_raise NoMethodError
114
+ it "raises Error when read externally" do
115
+ _{ dummy.reader }.must_raise NoMethodError
104
116
  end
105
117
 
106
- it 'raises Error when written externally' do
107
- -> { dummy.reader = value }.must_raise NoMethodError
118
+ it "raises Error when written externally" do
119
+ _{ dummy.reader = new_value }.must_raise NoMethodError
108
120
  end
109
121
 
110
- it 'raises Error when read by other' do
111
- -> { dummy.read_reader_other other }.must_raise NoMethodError
122
+ it "raises Error when read by other" do
123
+ _{ dummy.read_reader_other other }.must_raise NoMethodError
112
124
  end
113
125
 
114
- it 'raises Error when written by other' do
115
- -> { dummy.write_reader_other other, value }.must_raise NoMethodError
126
+ it "raises Error when written by other" do
127
+ _{ dummy.write_reader_other other, new_value }.must_raise NoMethodError
116
128
  end
117
129
  end
118
130
 
119
- describe 'private_attr_writer' do
131
+ describe "private_attr_writer" do
120
132
  let(:dummy_class) { PrivateDummy }
121
133
 
122
- before { dummy.instance_variable_set '@writer', old_value }
134
+ before { dummy.instance_variable_set "@writer", old_value }
123
135
 
124
- it 'raises Error when read internally' do
125
- -> { dummy.read_writer }.must_raise NoMethodError
136
+ it "raises Error when read internally" do
137
+ _{ dummy.read_writer }.must_raise NoMethodError
126
138
  end
127
139
 
128
- it 'allows attribute to be written internally' do
129
- dummy.write_writer value
130
- dummy.instance_variable_get('@writer').must_equal value
140
+ it "allows attribute to be written internally" do
141
+ dummy.write_writer new_value
142
+ _(dummy.instance_variable_get("@writer")).must_equal new_value
131
143
  end
132
144
 
133
- it 'raises Error when read externally' do
134
- -> { dummy.writer }.must_raise NoMethodError
145
+ it "raises Error when read externally" do
146
+ _{ dummy.writer }.must_raise NoMethodError
135
147
  end
136
148
 
137
- it 'raises Error when written externally' do
138
- -> { dummy.writer = value }.must_raise NoMethodError
149
+ it "raises Error when written externally" do
150
+ _{ dummy.writer = new_value }.must_raise NoMethodError
139
151
  end
140
152
 
141
- it 'raises Error when read by other' do
142
- -> { dummy.read_writer_other other }.must_raise NoMethodError
153
+ it "raises Error when read by other" do
154
+ _{ dummy.read_writer_other other }.must_raise NoMethodError
143
155
  end
144
156
 
145
- it 'raises Error when written by other' do
146
- -> { dummy.write_writer_other other, value }.must_raise NoMethodError
157
+ it "raises Error when written by other" do
158
+ _{ dummy.write_writer_other other, new_value }.must_raise NoMethodError
159
+ end
160
+ end
161
+
162
+ describe "private_alias_method" do
163
+ let(:dummy_class) { PrivateDummy }
164
+
165
+ before { dummy.instance_variable_set "@original", old_value }
166
+
167
+ it "allows alias to be called internally" do
168
+ _(dummy.call_aliased).must_equal old_value
169
+ end
170
+
171
+ it "raises Error when alias is called externally" do
172
+ _{ dummy.aliased other }.must_raise NoMethodError
173
+ end
174
+
175
+ it "raises Error when alias is called by other" do
176
+ _{ dummy.call_aliased_other other }.must_raise NoMethodError
177
+ end
178
+
179
+ it "allows the original method to be called externally" do
180
+ _(dummy.original).must_equal old_value
181
+ end
182
+
183
+ describe "when the original method is overridden" do
184
+ let(:dummy_class) do
185
+ mod = Module.new do
186
+ def original
187
+ super.upcase
188
+ end
189
+ end
190
+ Class.new(PrivateDummy).send(:include, mod)
191
+ end
192
+
193
+ it "allows alias to be called internally" do
194
+ _(dummy.call_aliased).must_equal old_value
195
+ end
196
+
197
+ it "raises Error when alias is called externally" do
198
+ _{ dummy.aliased }.must_raise NoMethodError
199
+ end
200
+
201
+ it "raises Error when alias is called by other" do
202
+ _{ dummy.call_aliased_other other }.must_raise NoMethodError
203
+ end
204
+
205
+ it "allows the overridden method to be called externally" do
206
+ _(dummy.original).must_equal old_value.upcase
207
+ end
147
208
  end
148
209
  end
149
210
 
150
- describe 'protected_attr_accessor' do
211
+ describe "protected_attr_accessor" do
151
212
  let(:dummy_class) { ProtectedDummy }
152
213
 
153
- before { dummy.instance_variable_set '@accessor', old_value }
214
+ before { dummy.instance_variable_set "@accessor", old_value }
154
215
 
155
- it 'allows attribute to be read internally' do
156
- dummy.read_accessor.must_equal old_value
216
+ it "allows attribute to be read internally" do
217
+ _(dummy.read_accessor).must_equal old_value
157
218
  end
158
219
 
159
- it 'allows attribute to be written internally' do
160
- dummy.write_accessor value
161
- dummy.instance_variable_get('@accessor').must_equal value
220
+ it "allows attribute to be written internally" do
221
+ dummy.write_accessor new_value
222
+ _(dummy.instance_variable_get("@accessor")).must_equal new_value
162
223
  end
163
224
 
164
- it 'raises Error when read externally' do
165
- -> { dummy.accessor }.must_raise NoMethodError
225
+ it "raises Error when read externally" do
226
+ _{ dummy.accessor }.must_raise NoMethodError
166
227
  end
167
228
 
168
- it 'raises Error when written externally' do
169
- -> { dummy.accessor = value }.must_raise NoMethodError
229
+ it "raises Error when written externally" do
230
+ _{ dummy.accessor = new_value }.must_raise NoMethodError
170
231
  end
171
232
 
172
- it 'allows attribute to be read by other' do
173
- other.instance_variable_set '@accessor', value
174
- dummy.read_accessor_other(other).must_equal value
233
+ it "allows attribute to be read by other" do
234
+ other.instance_variable_set "@accessor", new_value
235
+ _(dummy.read_accessor_other(other)).must_equal new_value
175
236
  end
176
237
 
177
- it 'allows attribute to be written by other' do
178
- dummy.write_accessor_other other, value
179
- other.instance_variable_get('@accessor').must_equal value
238
+ it "allows attribute to be written by other" do
239
+ dummy.write_accessor_other other, new_value
240
+ _(other.instance_variable_get("@accessor")).must_equal new_value
180
241
  end
181
242
  end
182
243
 
183
- describe 'protected_attr_reader' do
244
+ describe "protected_attr_reader" do
184
245
  let(:dummy_class) { ProtectedDummy }
185
246
 
186
- before { dummy.instance_variable_set '@reader', old_value }
247
+ before { dummy.instance_variable_set "@reader", old_value }
187
248
 
188
- it 'allows attribute to be read internally' do
189
- dummy.read_reader.must_equal old_value
249
+ it "allows attribute to be read internally" do
250
+ _(dummy.read_reader).must_equal old_value
190
251
  end
191
252
 
192
- it 'raises Error when written internally' do
193
- -> { dummy.write_reader value }.must_raise NoMethodError
253
+ it "raises Error when written internally" do
254
+ _{ dummy.write_reader new_value }.must_raise NoMethodError
194
255
  end
195
256
 
196
- it 'raises Error when read externally' do
197
- -> { dummy.reader }.must_raise NoMethodError
257
+ it "raises Error when read externally" do
258
+ _{ dummy.reader }.must_raise NoMethodError
198
259
  end
199
260
 
200
- it 'raises Error when written externally' do
201
- -> { dummy.reader = value }.must_raise NoMethodError
261
+ it "raises Error when written externally" do
262
+ _{ dummy.reader = new_value }.must_raise NoMethodError
202
263
  end
203
264
 
204
- it 'allows attribute to be read by other' do
205
- other.instance_variable_set '@reader', value
206
- dummy.read_reader_other(other).must_equal value
265
+ it "allows attribute to be read by other" do
266
+ other.instance_variable_set "@reader", new_value
267
+ _(dummy.read_reader_other(other)).must_equal new_value
207
268
  end
208
269
 
209
- it 'raises Error when written by other' do
210
- -> { dummy.write_reader_other other, value }.must_raise NoMethodError
270
+ it "raises Error when written by other" do
271
+ _{ dummy.write_reader_other other, new_value }.must_raise NoMethodError
211
272
  end
212
273
  end
213
274
 
214
- describe 'protected_attr_writer' do
275
+ describe "protected_attr_writer" do
215
276
  let(:dummy_class) { ProtectedDummy }
216
277
 
217
- before { dummy.instance_variable_set '@writer', old_value }
278
+ before { dummy.instance_variable_set "@writer", old_value }
279
+
280
+ it "raises Error when read internally" do
281
+ _{ dummy.read_writer }.must_raise NoMethodError
282
+ end
283
+
284
+ it "allows attribute to be written internally" do
285
+ dummy.write_writer new_value
286
+ _(dummy.instance_variable_get("@writer")).must_equal new_value
287
+ end
218
288
 
219
- it 'raises Error when read internally' do
220
- -> { dummy.read_writer }.must_raise NoMethodError
289
+ it "raises Error when read externally" do
290
+ _{ dummy.writer }.must_raise NoMethodError
221
291
  end
222
292
 
223
- it 'allows attribute to be written internally' do
224
- dummy.write_writer value
225
- dummy.instance_variable_get('@writer').must_equal value
293
+ it "raises Error when written externally" do
294
+ _{ dummy.writer = new_value }.must_raise NoMethodError
226
295
  end
227
296
 
228
- it 'raises Error when read externally' do
229
- -> { dummy.writer }.must_raise NoMethodError
297
+ it "raises Error when read by other" do
298
+ _{ dummy.read_writer_other other }.must_raise NoMethodError
230
299
  end
231
300
 
232
- it 'raises Error when written externally' do
233
- -> { dummy.writer = value }.must_raise NoMethodError
301
+ it "allows attribute to be written by other" do
302
+ dummy.write_writer_other other, new_value
303
+ _(other.instance_variable_get("@writer")).must_equal new_value
304
+ end
305
+ end
306
+
307
+ describe "protected_alias_method" do
308
+ let(:dummy_class) { ProtectedDummy }
309
+ let(:other_value) { "other value" }
310
+
311
+ before do
312
+ dummy.instance_variable_set "@original", old_value
313
+ other.instance_variable_set "@original", other_value
234
314
  end
235
315
 
236
- it 'raises Error when read by other' do
237
- -> { dummy.read_writer_other other }.must_raise NoMethodError
316
+ it "allows alias to be called internally" do
317
+ _(dummy.call_aliased).must_equal old_value
238
318
  end
239
319
 
240
- it 'allows attribute to be written by other' do
241
- dummy.write_writer_other other, value
242
- other.instance_variable_get('@writer').must_equal value
320
+ it "raises Error when alias is called externally" do
321
+ _{ dummy.aliased }.must_raise NoMethodError
322
+ end
323
+
324
+ it "allows alias to be called by other" do
325
+ _(dummy.call_aliased_other(other)).must_equal other_value
326
+ end
327
+
328
+ it "allows the original method to be called externally" do
329
+ _(dummy.original).must_equal old_value
330
+ end
331
+
332
+ describe "when the original method is overridden" do
333
+ let(:dummy_class) do
334
+ mod = Module.new do
335
+ def original
336
+ super.upcase
337
+ end
338
+ end
339
+ Class.new(ProtectedDummy).send(:include, mod)
340
+ end
341
+
342
+ it "allows alias to be called internally" do
343
+ _(dummy.call_aliased).must_equal old_value
344
+ end
345
+
346
+ it "raises Error when alias is called externally" do
347
+ _{ dummy.aliased }.must_raise NoMethodError
348
+ end
349
+
350
+ it "allows alias to be called by other" do
351
+ _(dummy.call_aliased_other(other)).must_equal other_value
352
+ end
353
+
354
+ it "allows the overridden method to be called externally" do
355
+ _(dummy.original).must_equal old_value.upcase
356
+ end
243
357
  end
244
358
  end
245
359
 
246
- describe 'method visibility' do
247
- it 'extending classes does not increase their public APIs' do
248
- PrivateDummy.public_methods.wont_include :private_attr_accessor
360
+ describe "method visibility" do
361
+ it "extending classes does not increase their public APIs" do
362
+ _(PrivateDummy.public_methods).wont_include :private_attr_accessor
249
363
  end
250
364
  end
251
365
  end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: private_attr
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jacob Swanner
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-03 00:00:00.000000000 Z
11
+ date: 2022-09-29 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: minitest
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -30,14 +44,14 @@ dependencies:
30
44
  requirements:
31
45
  - - "~>"
32
46
  - !ruby/object:Gem::Version
33
- version: '10.0'
47
+ version: 12.3.3
34
48
  type: :development
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
38
52
  - - "~>"
39
53
  - !ruby/object:Gem::Version
40
- version: '10.0'
54
+ version: 12.3.3
41
55
  description: Easily create private/protected attribute readers/writers
42
56
  email:
43
57
  - jacob@jacobswanner.com
@@ -52,14 +66,16 @@ files:
52
66
  - README.md
53
67
  - Rakefile
54
68
  - lib/private_attr.rb
69
+ - lib/private_attr/everywhere.rb
55
70
  - lib/private_attr/version.rb
56
71
  - private_attr.gemspec
72
+ - spec/private_attr/everywhere_spec.rb
57
73
  - spec/private_attr_spec.rb
58
74
  homepage: https://github.com/jswanner/private_attr
59
75
  licenses:
60
76
  - MIT
61
77
  metadata: {}
62
- post_install_message:
78
+ post_install_message:
63
79
  rdoc_options: []
64
80
  require_paths:
65
81
  - lib
@@ -74,11 +90,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
74
90
  - !ruby/object:Gem::Version
75
91
  version: '0'
76
92
  requirements: []
77
- rubyforge_project:
78
- rubygems_version: 2.2.2
79
- signing_key:
93
+ rubygems_version: 3.2.31
94
+ signing_key:
80
95
  specification_version: 4
81
96
  summary: Easily create private/protected attribute readers/writers
82
97
  test_files:
98
+ - spec/private_attr/everywhere_spec.rb
83
99
  - spec/private_attr_spec.rb
84
- has_rdoc: