mtrack 2.0.2 → 2.1.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
  SHA1:
3
- metadata.gz: 95e7b9076421afec76bbc23c1884b52e61d7b8e9
4
- data.tar.gz: 46a6e2e5ebc166948e2d0bd0b9155d0d077afedd
3
+ metadata.gz: 8d17138603c8953364240a742a8a995903bb9d8e
4
+ data.tar.gz: d77448219c49d86d8d40ac266f2159ddd865400d
5
5
  SHA512:
6
- metadata.gz: c4bca647c47245c48c102af4a6477fc675b7b638e492a146b0073d73a9e3edfbefcbcfb3cc302c7971235a7ea94d5efdd165c8c0380b97f36c0403c6d3d74a9d
7
- data.tar.gz: d181f9c757dda9a6b158a0064fbcbb52b54d53e499905a28877b9d4b66fcba39a9298e42e5020cdf37ccf19359f3d249860956c8bdf1dbc7d9c5f4b4f017a61d
6
+ metadata.gz: c3f1ec9ace1fad251c1462538217e25bc70eccd75c278191acdaa3629b68bae855c31e0bb6b15fa4a866efd70384716fb6ed4487b38906696d67bde2a28108f1
7
+ data.tar.gz: d94116ca86eba9945937b0a72ef764a746253d38594ad7ba4e1235d009ef2ec22a6ebf7e2ce811eacca1a8a5aae0feaae3057c99e3da27d0606795029faff392
data/Gemfile CHANGED
@@ -11,7 +11,7 @@ group :development do
11
11
  end
12
12
 
13
13
  group :development, :test do
14
- gem "codeclimate-test-reporter", "~> 0.4.4"
14
+ gem "codeclimate-test-reporter", "~> 0.4.5"
15
15
  gem "rake", "~> 10.4.2"
16
16
  gem "rspec", "~> 3.1.0"
17
17
  gem "simplecov", "~> 0.9.1"
@@ -31,12 +31,11 @@ module MTrack
31
31
  # call-seq:
32
32
  # newly_defined_methods(mod, old_methods) => set
33
33
  #
34
- # Calculates the difference between +mod+'s currently defined public
35
- # methods and +old_methods+.
34
+ # Calculates the difference between +mod+'s currently defined methods and +old_methods+.
36
35
  #
37
36
  # Returns a set with the result.
38
37
  def newly_defined_methods(mod, old_methods)
39
- (mod.public_instance_methods(false) - old_methods).to_set
38
+ (mod.instance_methods(false) + mod.private_instance_methods(false) - old_methods).to_set
40
39
  end
41
40
 
42
41
  ##
@@ -63,7 +62,7 @@ module MTrack
63
62
  #
64
63
  # Returns a set containing the methods that were defined within the block.
65
64
  def track_methods_for(mod, group_name, &b)
66
- old_methods = mod.public_instance_methods false
65
+ old_methods = mod.instance_methods(false) + mod.private_instance_methods(false)
67
66
 
68
67
  begin
69
68
  mod.module_eval(&b) if block_given?
@@ -1,7 +1,6 @@
1
1
  ##
2
- # MTrack extends the functionality of Modules and Classes and enables them to
3
- # define public methods within groups. These methods can then be queried back
4
- # even through a hierarchy of inclusion and/or inheritance.
2
+ # MTrack extends the functionality of Modules and Classes and enables them to define methods within groups. These
3
+ # methods can then be queried back even through a hierarchy of inclusion and/or inheritance.
5
4
  #
6
5
  # module M
7
6
  # extend MTrack::Mixin
@@ -20,5 +19,5 @@
20
19
  # D.tracked_methods #=> #<Set: {:method_1, :method_2, :method_3}>
21
20
  module MTrack
22
21
  # Current version of MTrack.
23
- VERSION = "2.0.2"
22
+ VERSION = "2.1.0"
24
23
  end
@@ -64,6 +64,12 @@ describe MTrack::Mixin do
64
64
  track_methods(:even) { define_method :two, METHOD_DEFINITION }
65
65
  end
66
66
  define_method :unt_2, METHOD_DEFINITION
67
+
68
+ track_methods :visibility do
69
+ public # rubocop:disable Style/EmptyLinesAroundAccessModifier
70
+
71
+ define_method :my_public, METHOD_DEFINITION
72
+ end
67
73
  end
68
74
  end
69
75
  end
@@ -80,6 +86,12 @@ describe MTrack::Mixin do
80
86
  track_methods(:odd) { define_method :three, METHOD_DEFINITION }
81
87
  end
82
88
  define_method :unt_3, METHOD_DEFINITION
89
+
90
+ track_methods :visibility do
91
+ protected # rubocop:disable Style/EmptyLinesAroundAccessModifier
92
+
93
+ define_method :my_protected, METHOD_DEFINITION
94
+ end
83
95
  end
84
96
  end
85
97
  end
@@ -95,6 +107,12 @@ describe MTrack::Mixin do
95
107
  track_methods(:even) { define_method :four, METHOD_DEFINITION }
96
108
  end
97
109
  define_method :unt_4, METHOD_DEFINITION
110
+
111
+ track_methods :visibility do
112
+ private # rubocop:disable Style/EmptyLinesAroundAccessModifier
113
+
114
+ define_method :my_private, METHOD_DEFINITION
115
+ end
98
116
  end
99
117
  end
100
118
  end
@@ -175,6 +193,7 @@ describe MTrack::Mixin do
175
193
  expect(subject.tracked_methods(:numbers)).to match_array([:one, :two])
176
194
  expect(subject.tracked_methods(:odd)).to match_array([:one])
177
195
  expect(subject.tracked_methods(:even)).to match_array([:two])
196
+ expect(subject.tracked_methods(:visibility)).to match_array([:my_public])
178
197
  end
179
198
 
180
199
  it "untracks removed methods" do
@@ -203,6 +222,7 @@ describe MTrack::Mixin do
203
222
  expect(subject.tracked_methods(:numbers)).to match_array([:two, :three])
204
223
  expect(subject.tracked_methods(:even)).to match_array([:two])
205
224
  expect(subject.tracked_methods(:odd)).to match_array([:three])
225
+ expect(subject.tracked_methods(:visibility)).to match_array([:my_protected])
206
226
  end
207
227
 
208
228
  it "untracks removed methods" do
@@ -231,6 +251,7 @@ describe MTrack::Mixin do
231
251
  expect(subject.tracked_methods(:numbers)).to match_array([:three, :four])
232
252
  expect(subject.tracked_methods(:odd)).to match_array([:three])
233
253
  expect(subject.tracked_methods(:even)).to match_array([:four])
254
+ expect(subject.tracked_methods(:visibility)).to match_array([:my_private])
234
255
  end
235
256
 
236
257
  it "untracks removed methods" do
@@ -255,6 +276,7 @@ describe MTrack::Mixin do
255
276
  expect(subject.tracked_methods(:numbers)).to match_array([:one, :two, :three, :four, :five])
256
277
  expect(subject.tracked_methods(:odd)).to match_array([:one, :three, :five])
257
278
  expect(subject.tracked_methods(:even)).to match_array([:two, :four])
279
+ expect(subject.tracked_methods(:visibility)).to match_array([:my_public, :my_protected])
258
280
  end
259
281
 
260
282
  it "untracks removed methods" do
@@ -285,6 +307,7 @@ describe MTrack::Mixin do
285
307
  expect(subject.tracked_methods(:numbers)).to match_array([:three, :four, :five, :six])
286
308
  expect(subject.tracked_methods(:odd)).to match_array([:three, :five])
287
309
  expect(subject.tracked_methods(:even)).to match_array([:four, :six])
310
+ expect(subject.tracked_methods(:visibility)).to match_array([:my_private])
288
311
  end
289
312
 
290
313
  it "untracks removed methods" do
@@ -312,6 +335,7 @@ describe MTrack::Mixin do
312
335
  expect(subject.tracked_methods(:numbers)).to match_array([:one, :two, :three, :four, :five, :six, :seven])
313
336
  expect(subject.tracked_methods(:odd)).to match_array([:one, :three, :five, :seven])
314
337
  expect(subject.tracked_methods(:even)).to match_array([:two, :four, :six])
338
+ expect(subject.tracked_methods(:visibility)).to match_array([:my_public, :my_protected])
315
339
  end
316
340
 
317
341
  it "untracks removed methods" do
@@ -345,6 +369,7 @@ describe MTrack::Mixin do
345
369
  expect(subject.tracked_methods(:numbers)).to match_array([:one, :two, :three, :four, :five, :six, :seven, :eight])
346
370
  expect(subject.tracked_methods(:odd)).to match_array([:one, :three, :five, :seven])
347
371
  expect(subject.tracked_methods(:even)).to match_array([:two, :four, :six, :eight])
372
+ expect(subject.tracked_methods(:visibility)).to match_array([:my_public, :my_protected, :my_private])
348
373
  end
349
374
 
350
375
  it "untracks removed methods" do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mtrack
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.2
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gabriel de Oliveira
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-05 00:00:00.000000000 Z
11
+ date: 2015-01-21 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: |
14
14
  MTrack extends the functionality of modules and classes and enables them to define public methods within groups. These