churn 0.0.22 → 0.0.23
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/.travis.yml +6 -0
- data/Gemfile +1 -1
- data/Gemfile.lock +1 -2
- data/README.md +6 -0
- data/Rakefile +1 -1
- data/VERSION +1 -1
- data/churn.gemspec +3 -2
- data/lib/churn/churn_calculator.rb +1 -1
- data/test/unit/churn_calculator_test.rb +9 -0
- metadata +109 -22
data/.travis.yml
ADDED
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -12,6 +12,12 @@ Authors:
|
|
12
12
|
* cldwalker
|
13
13
|
* absurdhero
|
14
14
|
|
15
|
+
__CI Build Status__
|
16
|
+
|
17
|
+
[](http://travis-ci.org/danmayer/churn)
|
18
|
+
|
19
|
+
This project runs [travis-ci.org](http://travis-ci.org)
|
20
|
+
|
15
21
|
__Churn Usage__
|
16
22
|
Install with `gem install churn` or for bundler add to your Gemfile `gem 'churn'`
|
17
23
|
|
data/Rakefile
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.23
|
data/churn.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "churn"
|
8
|
-
s.version = "0.0.
|
8
|
+
s.version = "0.0.23"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Dan Mayer"]
|
12
|
-
s.date = "2012-09-
|
12
|
+
s.date = "2012-09-25"
|
13
13
|
s.description = "High method and class churn has been shown to have increased bug and error rates. This gem helps you know what is changing a lot so you can do additional testing, code review, or refactoring to try to tame the volatile code. "
|
14
14
|
s.email = "dan@mayerdan.com"
|
15
15
|
s.executables = ["churn"]
|
@@ -19,6 +19,7 @@ Gem::Specification.new do |s|
|
|
19
19
|
]
|
20
20
|
s.files = [
|
21
21
|
".document",
|
22
|
+
".travis.yml",
|
22
23
|
"Gemfile",
|
23
24
|
"Gemfile.lock",
|
24
25
|
"LICENSE",
|
@@ -24,7 +24,7 @@ module Churn
|
|
24
24
|
# intialized the churn calculator object
|
25
25
|
def initialize(options={})
|
26
26
|
start_date = options.fetch(:start_date) { '3 months ago' }
|
27
|
-
@minimum_churn_count = options.fetch(:minimum_churn_count) { 5 }
|
27
|
+
@minimum_churn_count = options.fetch(:minimum_churn_count) { 5 }.to_i
|
28
28
|
@ignore_files = (options.fetch(:ignore_files){ "" }).split(',').map(&:strip)
|
29
29
|
@ignore_files << '/dev/null'
|
30
30
|
@source_control = set_source_control(start_date)
|
@@ -16,6 +16,15 @@ class ChurnCalculatorTest < Test::Unit::TestCase
|
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
19
|
+
should "ensure that minimum churn count is initialized as a Fixnum" do
|
20
|
+
within_construct do |container|
|
21
|
+
Churn::ChurnCalculator.stubs(:git?).returns(true)
|
22
|
+
churn = Churn::ChurnCalculator.new({:minimum_churn_count => "3"})
|
23
|
+
|
24
|
+
assert_equal 3, churn.instance_variable_get(:@minimum_churn_count)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
19
28
|
should "use ignore_files filter" do
|
20
29
|
within_construct do |container|
|
21
30
|
Churn::ChurnCalculator.stubs(:git?).returns(true)
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: churn
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 49
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 23
|
10
|
+
version: 0.0.23
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Dan Mayer
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-09-
|
18
|
+
date: 2012-09-25 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
version_requirements: &id001 !ruby/object:Gem::Requirement
|
@@ -29,8 +29,8 @@ dependencies:
|
|
29
29
|
version: "0"
|
30
30
|
requirement: *id001
|
31
31
|
prerelease: false
|
32
|
-
name:
|
33
|
-
type: :
|
32
|
+
name: churn
|
33
|
+
type: :runtime
|
34
34
|
- !ruby/object:Gem::Dependency
|
35
35
|
version_requirements: &id002 !ruby/object:Gem::Requirement
|
36
36
|
none: false
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
version: "0"
|
44
44
|
requirement: *id002
|
45
45
|
prerelease: false
|
46
|
-
name:
|
46
|
+
name: shoulda
|
47
47
|
type: :development
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
version_requirements: &id003 !ruby/object:Gem::Requirement
|
@@ -57,7 +57,7 @@ dependencies:
|
|
57
57
|
version: "0"
|
58
58
|
requirement: *id003
|
59
59
|
prerelease: false
|
60
|
-
name:
|
60
|
+
name: jeweler
|
61
61
|
type: :development
|
62
62
|
- !ruby/object:Gem::Dependency
|
63
63
|
version_requirements: &id004 !ruby/object:Gem::Requirement
|
@@ -71,10 +71,24 @@ dependencies:
|
|
71
71
|
version: "0"
|
72
72
|
requirement: *id004
|
73
73
|
prerelease: false
|
74
|
-
name:
|
74
|
+
name: test-construct
|
75
75
|
type: :development
|
76
76
|
- !ruby/object:Gem::Dependency
|
77
77
|
version_requirements: &id005 !ruby/object:Gem::Requirement
|
78
|
+
none: false
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
hash: 3
|
83
|
+
segments:
|
84
|
+
- 0
|
85
|
+
version: "0"
|
86
|
+
requirement: *id005
|
87
|
+
prerelease: false
|
88
|
+
name: rake
|
89
|
+
type: :development
|
90
|
+
- !ruby/object:Gem::Dependency
|
91
|
+
version_requirements: &id006 !ruby/object:Gem::Requirement
|
78
92
|
none: false
|
79
93
|
requirements:
|
80
94
|
- - ~>
|
@@ -85,12 +99,12 @@ dependencies:
|
|
85
99
|
- 9
|
86
100
|
- 5
|
87
101
|
version: 0.9.5
|
88
|
-
requirement: *
|
102
|
+
requirement: *id006
|
89
103
|
prerelease: false
|
90
104
|
name: mocha
|
91
105
|
type: :development
|
92
106
|
- !ruby/object:Gem::Dependency
|
93
|
-
version_requirements: &
|
107
|
+
version_requirements: &id007 !ruby/object:Gem::Requirement
|
94
108
|
none: false
|
95
109
|
requirements:
|
96
110
|
- - ">="
|
@@ -99,12 +113,84 @@ dependencies:
|
|
99
113
|
segments:
|
100
114
|
- 0
|
101
115
|
version: "0"
|
102
|
-
requirement: *
|
116
|
+
requirement: *id007
|
117
|
+
prerelease: false
|
118
|
+
name: shoulda
|
119
|
+
type: :development
|
120
|
+
- !ruby/object:Gem::Dependency
|
121
|
+
version_requirements: &id008 !ruby/object:Gem::Requirement
|
122
|
+
none: false
|
123
|
+
requirements:
|
124
|
+
- - ">="
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
hash: 3
|
127
|
+
segments:
|
128
|
+
- 0
|
129
|
+
version: "0"
|
130
|
+
requirement: *id008
|
131
|
+
prerelease: false
|
132
|
+
name: jeweler
|
133
|
+
type: :development
|
134
|
+
- !ruby/object:Gem::Dependency
|
135
|
+
version_requirements: &id009 !ruby/object:Gem::Requirement
|
136
|
+
none: false
|
137
|
+
requirements:
|
138
|
+
- - ">="
|
139
|
+
- !ruby/object:Gem::Version
|
140
|
+
hash: 3
|
141
|
+
segments:
|
142
|
+
- 0
|
143
|
+
version: "0"
|
144
|
+
requirement: *id009
|
145
|
+
prerelease: false
|
146
|
+
name: test-construct
|
147
|
+
type: :development
|
148
|
+
- !ruby/object:Gem::Dependency
|
149
|
+
version_requirements: &id010 !ruby/object:Gem::Requirement
|
150
|
+
none: false
|
151
|
+
requirements:
|
152
|
+
- - ">="
|
153
|
+
- !ruby/object:Gem::Version
|
154
|
+
hash: 3
|
155
|
+
segments:
|
156
|
+
- 0
|
157
|
+
version: "0"
|
158
|
+
requirement: *id010
|
159
|
+
prerelease: false
|
160
|
+
name: rake
|
161
|
+
type: :development
|
162
|
+
- !ruby/object:Gem::Dependency
|
163
|
+
version_requirements: &id011 !ruby/object:Gem::Requirement
|
164
|
+
none: false
|
165
|
+
requirements:
|
166
|
+
- - ~>
|
167
|
+
- !ruby/object:Gem::Version
|
168
|
+
hash: 49
|
169
|
+
segments:
|
170
|
+
- 0
|
171
|
+
- 9
|
172
|
+
- 5
|
173
|
+
version: 0.9.5
|
174
|
+
requirement: *id011
|
175
|
+
prerelease: false
|
176
|
+
name: mocha
|
177
|
+
type: :development
|
178
|
+
- !ruby/object:Gem::Dependency
|
179
|
+
version_requirements: &id012 !ruby/object:Gem::Requirement
|
180
|
+
none: false
|
181
|
+
requirements:
|
182
|
+
- - ">="
|
183
|
+
- !ruby/object:Gem::Version
|
184
|
+
hash: 3
|
185
|
+
segments:
|
186
|
+
- 0
|
187
|
+
version: "0"
|
188
|
+
requirement: *id012
|
103
189
|
prerelease: false
|
104
190
|
name: main
|
105
191
|
type: :runtime
|
106
192
|
- !ruby/object:Gem::Dependency
|
107
|
-
version_requirements: &
|
193
|
+
version_requirements: &id013 !ruby/object:Gem::Requirement
|
108
194
|
none: false
|
109
195
|
requirements:
|
110
196
|
- - ">="
|
@@ -113,12 +199,12 @@ dependencies:
|
|
113
199
|
segments:
|
114
200
|
- 0
|
115
201
|
version: "0"
|
116
|
-
requirement: *
|
202
|
+
requirement: *id013
|
117
203
|
prerelease: false
|
118
204
|
name: json_pure
|
119
205
|
type: :runtime
|
120
206
|
- !ruby/object:Gem::Dependency
|
121
|
-
version_requirements: &
|
207
|
+
version_requirements: &id014 !ruby/object:Gem::Requirement
|
122
208
|
none: false
|
123
209
|
requirements:
|
124
210
|
- - ">="
|
@@ -129,12 +215,12 @@ dependencies:
|
|
129
215
|
- 2
|
130
216
|
- 3
|
131
217
|
version: 0.2.3
|
132
|
-
requirement: *
|
218
|
+
requirement: *id014
|
133
219
|
prerelease: false
|
134
220
|
name: chronic
|
135
221
|
type: :runtime
|
136
222
|
- !ruby/object:Gem::Dependency
|
137
|
-
version_requirements: &
|
223
|
+
version_requirements: &id015 !ruby/object:Gem::Requirement
|
138
224
|
none: false
|
139
225
|
requirements:
|
140
226
|
- - ~>
|
@@ -144,12 +230,12 @@ dependencies:
|
|
144
230
|
- 3
|
145
231
|
- 0
|
146
232
|
version: "3.0"
|
147
|
-
requirement: *
|
233
|
+
requirement: *id015
|
148
234
|
prerelease: false
|
149
235
|
name: sexp_processor
|
150
236
|
type: :runtime
|
151
237
|
- !ruby/object:Gem::Dependency
|
152
|
-
version_requirements: &
|
238
|
+
version_requirements: &id016 !ruby/object:Gem::Requirement
|
153
239
|
none: false
|
154
240
|
requirements:
|
155
241
|
- - ~>
|
@@ -159,12 +245,12 @@ dependencies:
|
|
159
245
|
- 2
|
160
246
|
- 3
|
161
247
|
version: "2.3"
|
162
|
-
requirement: *
|
248
|
+
requirement: *id016
|
163
249
|
prerelease: false
|
164
250
|
name: ruby_parser
|
165
251
|
type: :runtime
|
166
252
|
- !ruby/object:Gem::Dependency
|
167
|
-
version_requirements: &
|
253
|
+
version_requirements: &id017 !ruby/object:Gem::Requirement
|
168
254
|
none: false
|
169
255
|
requirements:
|
170
256
|
- - ">="
|
@@ -173,7 +259,7 @@ dependencies:
|
|
173
259
|
segments:
|
174
260
|
- 0
|
175
261
|
version: "0"
|
176
|
-
requirement: *
|
262
|
+
requirement: *id017
|
177
263
|
prerelease: false
|
178
264
|
name: hirb
|
179
265
|
type: :runtime
|
@@ -188,6 +274,7 @@ extra_rdoc_files:
|
|
188
274
|
- README.md
|
189
275
|
files:
|
190
276
|
- .document
|
277
|
+
- .travis.yml
|
191
278
|
- Gemfile
|
192
279
|
- Gemfile.lock
|
193
280
|
- LICENSE
|