private_please 0.0.1 → 0.0.2
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.
- data/CHANGELOG +5 -0
- data/TODO +22 -0
- data/lib/private_please.rb +5 -14
- data/lib/private_please/version.rb +1 -1
- data/private_please.gemspec +0 -1
- data/spec/01_marking_methods_spec.rb +4 -2
- data/spec/02_calling_methods_spec.rb +9 -8
- data/spec/03_configuration_spec.rb +5 -4
- metadata +7 -21
- data/spec/todo_next_spec.rb +0 -52
data/CHANGELOG
ADDED
data/TODO
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
|
2
|
+
DSL
|
3
|
+
- global method marking :
|
4
|
+
|
5
|
+
ex:
|
6
|
+
|
7
|
+
private_please
|
8
|
+
def foo ..
|
9
|
+
def bar ..
|
10
|
+
public
|
11
|
+
|
12
|
+
is the same as :
|
13
|
+
...
|
14
|
+
def foo ..
|
15
|
+
def bar ..
|
16
|
+
private_please :foo, :bar
|
17
|
+
|
18
|
+
Report :
|
19
|
+
- display list of methods that were never called
|
20
|
+
|
21
|
+
Doc
|
22
|
+
- write README
|
data/lib/private_please.rb
CHANGED
@@ -10,7 +10,7 @@ module PrivatePlease
|
|
10
10
|
def private_please(*args)
|
11
11
|
klass = self
|
12
12
|
args.reject!{|m| !klass.instance_methods.include?(m.to_s)}
|
13
|
-
candidates[klass.to_s] += args
|
13
|
+
storage.candidates[klass.to_s] += args
|
14
14
|
args.each do |m|
|
15
15
|
mark_method(m)
|
16
16
|
end
|
@@ -40,16 +40,6 @@ module PrivatePlease
|
|
40
40
|
Configuration .reset_before_new_test
|
41
41
|
end
|
42
42
|
|
43
|
-
|
44
|
-
#--------------
|
45
|
-
# candidates
|
46
|
-
#--------------
|
47
|
-
|
48
|
-
|
49
|
-
def candidates ; storage.candidates end
|
50
|
-
def inside_called_candidates ; storage.inside_called_candidates end
|
51
|
-
def outside_called_candidates ; storage.outside_called_candidates end
|
52
|
-
|
53
43
|
#--------------
|
54
44
|
# report
|
55
45
|
#--------------
|
@@ -81,12 +71,13 @@ private
|
|
81
71
|
end
|
82
72
|
end
|
83
73
|
|
84
|
-
|
85
74
|
end
|
86
75
|
|
87
76
|
Module.send :include, PrivatePlease
|
88
77
|
|
89
78
|
at_exit {
|
90
|
-
|
91
|
-
|
79
|
+
if PrivatePlease.active?
|
80
|
+
puts '-'*888
|
81
|
+
puts PrivatePlease.report.to_s
|
82
|
+
end
|
92
83
|
}
|
data/private_please.gemspec
CHANGED
@@ -16,7 +16,6 @@ Gem::Specification.new do |gem|
|
|
16
16
|
gem.version = PrivatePlease::VERSION
|
17
17
|
|
18
18
|
gem.add_development_dependency 'rake' # to run 'All specs' in Rubymine
|
19
|
-
gem.add_development_dependency 'todo_next'
|
20
19
|
gem.add_development_dependency 'rspec'
|
21
20
|
gem.add_development_dependency 'guard-rspec'
|
22
21
|
end
|
@@ -2,6 +2,8 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe PrivatePlease, 'marking methods' do
|
4
4
|
|
5
|
+
let(:storage) { PrivatePlease.storage }
|
6
|
+
|
5
7
|
it('records the candidates and associate them to the owning class') do
|
6
8
|
module Marking
|
7
9
|
class Simple1
|
@@ -11,7 +13,7 @@ describe PrivatePlease, 'marking methods' do
|
|
11
13
|
private_please :bar, :buz
|
12
14
|
end
|
13
15
|
end
|
14
|
-
|
16
|
+
storage.candidates['Marking::Simple1'].should == [:bar, :buz]
|
15
17
|
end
|
16
18
|
|
17
19
|
it('does not record invalid candidates (method not found in the class)') do
|
@@ -22,7 +24,7 @@ describe PrivatePlease, 'marking methods' do
|
|
22
24
|
private_please :invalid_method
|
23
25
|
end
|
24
26
|
end
|
25
|
-
|
27
|
+
storage.candidates['Marking::Simple2'].should == [:foo]
|
26
28
|
end
|
27
29
|
|
28
30
|
end
|
@@ -4,6 +4,7 @@ describe PrivatePlease, 'calling marked methods' do
|
|
4
4
|
before() do
|
5
5
|
PrivatePlease.activate(true)
|
6
6
|
end
|
7
|
+
let(:storage) { PrivatePlease.storage }
|
7
8
|
|
8
9
|
module Calling
|
9
10
|
class Simple
|
@@ -20,14 +21,14 @@ describe PrivatePlease, 'calling marked methods' do
|
|
20
21
|
before { Calling::Simple.new.public_m }
|
21
22
|
|
22
23
|
it('records the call to the p+p method in PrivatePlease.inside_called_candidates') do
|
23
|
-
|
24
|
-
|
24
|
+
storage.inside_called_candidates[ 'Calling::Simple'].to_a.should == [:private_m]
|
25
|
+
storage.outside_called_candidates['Calling::Simple'].to_a.should == []
|
25
26
|
end
|
26
27
|
|
27
28
|
it('records multiple calls only once') do
|
28
29
|
2.times{ Calling::Simple.new.public_m }
|
29
|
-
|
30
|
-
|
30
|
+
storage.inside_called_candidates[ 'Calling::Simple'].to_a.should == [:private_m]
|
31
|
+
storage.outside_called_candidates['Calling::Simple'].to_a.should == []
|
31
32
|
end
|
32
33
|
end
|
33
34
|
|
@@ -43,14 +44,14 @@ describe PrivatePlease, 'calling marked methods' do
|
|
43
44
|
end
|
44
45
|
|
45
46
|
it('records the call to the p+p method in PrivatePlease.inside_called_candidates') do
|
46
|
-
|
47
|
-
|
47
|
+
storage.inside_called_candidates[ 'Calling::Simple'].to_a.should == []
|
48
|
+
storage.outside_called_candidates['Calling::Simple'].to_a.should == [:private_m]
|
48
49
|
end
|
49
50
|
|
50
51
|
it('records multiple calls only once') do
|
51
52
|
2.times{ Calling::Simple.new.private_m }
|
52
|
-
|
53
|
-
|
53
|
+
storage.inside_called_candidates[ 'Calling::Simple'].to_a.should == []
|
54
|
+
storage.outside_called_candidates['Calling::Simple'].to_a.should == [:private_m]
|
54
55
|
end
|
55
56
|
end
|
56
57
|
|
@@ -22,6 +22,7 @@ describe PrivatePlease, 'configuring PrivatePlease' do
|
|
22
22
|
PrivatePlease::Configuration.reset_before_new_test
|
23
23
|
PrivatePlease.should_not be_active
|
24
24
|
end
|
25
|
+
let(:storage) { PrivatePlease.storage }
|
25
26
|
|
26
27
|
context 'when disabled' do
|
27
28
|
|
@@ -31,8 +32,8 @@ describe PrivatePlease, 'configuring PrivatePlease' do
|
|
31
32
|
it('is not active') { PrivatePlease.should_not be_active }
|
32
33
|
|
33
34
|
it 'does NOT record the calls to candidates' do
|
34
|
-
|
35
|
-
|
35
|
+
storage.inside_called_candidates[ 'Config::Simple'].to_a.should == []
|
36
|
+
storage.outside_called_candidates['Config::Simple'].to_a.should == []
|
36
37
|
end
|
37
38
|
end
|
38
39
|
|
@@ -44,8 +45,8 @@ describe PrivatePlease, 'configuring PrivatePlease' do
|
|
44
45
|
it('is active') { PrivatePlease.should be_active }
|
45
46
|
|
46
47
|
it 'DOES record the calls to candidates' do
|
47
|
-
|
48
|
-
|
48
|
+
storage.inside_called_candidates[ 'Config::Simple'].to_a.should == [:private_m]
|
49
|
+
storage.outside_called_candidates['Config::Simple'].to_a.should == [:private_m]
|
49
50
|
end
|
50
51
|
end
|
51
52
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: private_please
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 27
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 2
|
10
|
+
version: 0.0.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Alain Ravet
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
version: "0"
|
44
44
|
prerelease: false
|
45
45
|
type: :development
|
46
|
-
name:
|
46
|
+
name: rspec
|
47
47
|
requirement: *id002
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
version_requirements: &id003 !ruby/object:Gem::Requirement
|
@@ -57,22 +57,8 @@ dependencies:
|
|
57
57
|
version: "0"
|
58
58
|
prerelease: false
|
59
59
|
type: :development
|
60
|
-
name: rspec
|
61
|
-
requirement: *id003
|
62
|
-
- !ruby/object:Gem::Dependency
|
63
|
-
version_requirements: &id004 !ruby/object:Gem::Requirement
|
64
|
-
none: false
|
65
|
-
requirements:
|
66
|
-
- - ">="
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
hash: 3
|
69
|
-
segments:
|
70
|
-
- 0
|
71
|
-
version: "0"
|
72
|
-
prerelease: false
|
73
|
-
type: :development
|
74
60
|
name: guard-rspec
|
75
|
-
requirement: *
|
61
|
+
requirement: *id003
|
76
62
|
description: Test if methods can be made private
|
77
63
|
email:
|
78
64
|
- alainravet@gmail.com
|
@@ -85,11 +71,13 @@ extra_rdoc_files: []
|
|
85
71
|
files:
|
86
72
|
- .gitignore
|
87
73
|
- .rspec
|
74
|
+
- CHANGELOG
|
88
75
|
- Gemfile
|
89
76
|
- Guardfile
|
90
77
|
- LICENSE
|
91
78
|
- README.md
|
92
79
|
- Rakefile
|
80
|
+
- TODO
|
93
81
|
- lib/private_please.rb
|
94
82
|
- lib/private_please/candidates.rb
|
95
83
|
- lib/private_please/configuration.rb
|
@@ -104,7 +92,6 @@ files:
|
|
104
92
|
- spec/03_configuration_spec.rb
|
105
93
|
- spec/04_at_exit_report_printing_spec.rb
|
106
94
|
- spec/spec_helper.rb
|
107
|
-
- spec/todo_next_spec.rb
|
108
95
|
homepage: https://github.com/alainravet/private_please
|
109
96
|
licenses: []
|
110
97
|
|
@@ -144,4 +131,3 @@ test_files:
|
|
144
131
|
- spec/03_configuration_spec.rb
|
145
132
|
- spec/04_at_exit_report_printing_spec.rb
|
146
133
|
- spec/spec_helper.rb
|
147
|
-
- spec/todo_next_spec.rb
|
data/spec/todo_next_spec.rb
DELETED
@@ -1,52 +0,0 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
require 'rspec'
|
3
|
-
require 'todo_next'
|
4
|
-
|
5
|
-
todo_next(<<TEXT)
|
6
|
-
* marking 1 method
|
7
|
-
example :
|
8
|
-
def foo
|
9
|
-
..
|
10
|
-
end
|
11
|
-
private_please :foo
|
12
|
-
|
13
|
-
* adds the method to $private_please_candidates
|
14
|
-
|
15
|
-
Marking 2 methods in 1 call
|
16
|
-
example :
|
17
|
-
..
|
18
|
-
private_please :foo, :bar
|
19
|
-
|
20
|
-
* adds the 2 method to $private_please_candidates
|
21
|
-
|
22
|
-
Global usage
|
23
|
-
example :
|
24
|
-
..
|
25
|
-
private_please
|
26
|
-
def foo .. end
|
27
|
-
def bar .. end
|
28
|
-
|
29
|
-
* adds the 2 method to $private_please_candidates
|
30
|
-
|
31
|
-
An outside call to a candidate marked method
|
32
|
-
- goes through as is the method waspublic
|
33
|
-
- $private_please_called_candidates << the candidate
|
34
|
-
- $private_please_INVALID_candidates << the candidate
|
35
|
-
|
36
|
-
An inside call to a candidate marked method
|
37
|
-
- goes through
|
38
|
-
- $private_please_called_candidates << the candidate
|
39
|
-
|
40
|
-
Configuration
|
41
|
-
- 'private_please' is inactive by default
|
42
|
-
'private_please' can be activate
|
43
|
-
- via ENV['private_please']=true
|
44
|
-
- PrivatePlease.activate(true)
|
45
|
-
|
46
|
-
at_exit
|
47
|
-
- prints a report about the candidates in STDOUT
|
48
|
-
|
49
|
-
TEXT
|
50
|
-
|
51
|
-
# √ == passed => same as a comment line
|
52
|
-
# * == current => leading char - '*' - is kept
|