how_is 18.0.4 → 18.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.github_changelog_generator +3 -0
- data/.gitignore +1 -1
- data/.rspec +1 -1
- data/.rubocop.yml +22 -9
- data/.rubocop_todo.yml +21 -0
- data/CHANGELOG.md +266 -140
- data/Gemfile +12 -1
- data/Rakefile +33 -14
- data/exe/how_is +6 -11
- data/fixtures/vcr_cassettes/how_is_contributions_all_contributors.yml +78 -0
- data/fixtures/vcr_cassettes/how_is_contributions_new_contributors.yml +219 -0
- data/how_is.gemspec +2 -1
- data/lib/how_is/analyzer.rb +53 -47
- data/lib/how_is/contributions.rb +46 -0
- data/lib/how_is/fetcher.rb +10 -10
- data/lib/how_is/pulse.rb +20 -19
- data/lib/how_is/report/base_report.rb +15 -12
- data/lib/how_is/report/html.rb +59 -52
- data/lib/how_is/report/json.rb +2 -2
- data/lib/how_is/report.rb +9 -6
- data/lib/how_is/version.rb +1 -1
- data/lib/how_is.rb +19 -16
- metadata +24 -6
- data/Gemfile.lock +0 -110
data/CHANGELOG.md
CHANGED
@@ -1,212 +1,338 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
-
|
3
|
+
## [v18.0.5](https://github.com/how-is/how_is/tree/v18.0.5) (2017-08-06)
|
4
|
+
[Full Changelog](https://github.com/how-is/how_is/compare/v18.0.4...v18.0.5)
|
4
5
|
|
5
|
-
|
6
|
-
this project adheres to [Semantic Versioning](http://semver.org).
|
6
|
+
**Closed issues:**
|
7
7
|
|
8
|
-
|
8
|
+
- Track new contributors [\#172](https://github.com/how-is/how_is/issues/172)
|
9
|
+
- Stop using hashie's master branch [\#168](https://github.com/how-is/how_is/issues/168)
|
10
|
+
- Include JSON reports in HTML reports [\#110](https://github.com/how-is/how_is/issues/110)
|
9
11
|
|
10
|
-
|
12
|
+
**Merged pull requests:**
|
11
13
|
|
12
|
-
|
14
|
+
- re-add Gemfile.lock to .gitignore [\#186](https://github.com/how-is/how_is/pull/186) ([duckinator](https://github.com/duckinator))
|
15
|
+
- List new contributors during period [\#184](https://github.com/how-is/how_is/pull/184) ([olleolleolle](https://github.com/olleolleolle))
|
16
|
+
- Remove Gemfile.lock. [\#183](https://github.com/how-is/how_is/pull/183) ([duckinator](https://github.com/duckinator))
|
17
|
+
- Gemfile: add pry as Git dep [\#182](https://github.com/how-is/how_is/pull/182) ([olleolleolle](https://github.com/olleolleolle))
|
18
|
+
- Add config file for github\_changelog\_generator [\#179](https://github.com/how-is/how_is/pull/179) ([olleolleolle](https://github.com/olleolleolle))
|
19
|
+
- RuboCop linting [\#178](https://github.com/how-is/how_is/pull/178) ([olleolleolle](https://github.com/olleolleolle))
|
20
|
+
- Use github\_changelog\_generator for generating the changelog. [\#177](https://github.com/how-is/how_is/pull/177) ([duckinator](https://github.com/duckinator))
|
21
|
+
- Include name of rules in RuboCop output [\#175](https://github.com/how-is/how_is/pull/175) ([olleolleolle](https://github.com/olleolleolle))
|
22
|
+
- Rubocop 0.49.1 [\#174](https://github.com/how-is/how_is/pull/174) ([olleolleolle](https://github.com/olleolleolle))
|
23
|
+
- Rubocop warning removal [\#173](https://github.com/how-is/how_is/pull/173) ([olleolleolle](https://github.com/olleolleolle))
|
13
24
|
|
14
|
-
|
15
|
-
|
16
|
-
There should be no noticeable changes in functionality.
|
25
|
+
## [v18.0.4](https://github.com/how-is/how_is/tree/v18.0.4) (2017-07-14)
|
26
|
+
[Full Changelog](https://github.com/how-is/how_is/compare/v18.0.3...v18.0.4)
|
17
27
|
|
18
|
-
|
28
|
+
**Closed issues:**
|
19
29
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
30
|
+
- HowIs::CLI refactor [\#156](https://github.com/how-is/how_is/issues/156)
|
31
|
+
- "Invalid file" error doesn't include filename. [\#155](https://github.com/how-is/how_is/issues/155)
|
32
|
+
- No report and Hashie::Mash\#default warnings [\#154](https://github.com/how-is/how_is/issues/154)
|
33
|
+
- Remove from\_config\_file from docs [\#153](https://github.com/how-is/how_is/issues/153)
|
34
|
+
- Fix warnings when running `rake spec` [\#124](https://github.com/how-is/how_is/issues/124)
|
35
|
+
- Number of issues closed in the past month [\#106](https://github.com/how-is/how_is/issues/106)
|
36
|
+
- Number of PRs merged in the past month. [\#105](https://github.com/how-is/how_is/issues/105)
|
37
|
+
- Number of PRs/issues opened in past month [\#99](https://github.com/how-is/how_is/issues/99)
|
38
|
+
- Number of PRs/issues not updated in the past month [\#87](https://github.com/how-is/how_is/issues/87)
|
28
39
|
|
29
|
-
|
40
|
+
**Merged pull requests:**
|
30
41
|
|
31
|
-
|
32
|
-
|
42
|
+
- Release v18 0 4 [\#171](https://github.com/how-is/how_is/pull/171) ([duckinator](https://github.com/duckinator))
|
43
|
+
- Use Hashie stable; update Gemfile/add Gemfile.lock [\#170](https://github.com/how-is/how_is/pull/170) ([duckinator](https://github.com/duckinator))
|
44
|
+
- Pass -w to Ruby when running 'rake spec'. [\#169](https://github.com/how-is/how_is/pull/169) ([duckinator](https://github.com/duckinator))
|
45
|
+
- Rubocop cleanup [\#167](https://github.com/how-is/how_is/pull/167) ([duckinator](https://github.com/duckinator))
|
46
|
+
- Gemfile: use Hashie from master branch [\#166](https://github.com/how-is/how_is/pull/166) ([olleolleolle](https://github.com/olleolleolle))
|
47
|
+
- Update github\_api, contracts to latest [\#165](https://github.com/how-is/how_is/pull/165) ([olleolleolle](https://github.com/olleolleolle))
|
48
|
+
- Fix \(a significant number of\) RuboCop violations. [\#162](https://github.com/how-is/how_is/pull/162) ([duckinator](https://github.com/duckinator))
|
49
|
+
- README: Drop from\_config\_file reference [\#161](https://github.com/how-is/how_is/pull/161) ([olleolleolle](https://github.com/olleolleolle))
|
50
|
+
- move rubocop dep to gemspec [\#160](https://github.com/how-is/how_is/pull/160) ([duckinator](https://github.com/duckinator))
|
33
51
|
|
34
|
-
|
35
|
-
|
52
|
+
## [v18.0.3](https://github.com/how-is/how_is/tree/v18.0.3) (2017-05-25)
|
53
|
+
[Full Changelog](https://github.com/how-is/how_is/compare/v18.0.2...v18.0.3)
|
36
54
|
|
37
|
-
|
38
|
-
should find any RuboCop violations that are added in PRs. The preexisting
|
39
|
-
RuboCop violations (of which there are many) need to be addressed separately,
|
40
|
-
and there will likely be an entire release dedicated to that.
|
55
|
+
**Closed issues:**
|
41
56
|
|
42
|
-
|
57
|
+
- Issue: report.html renders only \#\<HowIs:0x007fae56966700\> [\#149](https://github.com/how-is/how_is/issues/149)
|
58
|
+
- Make CONFIG\_FILE optional when using --config. [\#41](https://github.com/how-is/how_is/issues/41)
|
43
59
|
|
44
|
-
|
45
|
-
* CLI parser refactor ([#157](https://github.com/how-is/how_is/pull/157))
|
46
|
-
* exe/how_is: Reinstate to_json, to_html ([#150](https://github.com/how-is/how_is/pull/150), by @olleolleolle)
|
60
|
+
**Merged pull requests:**
|
47
61
|
|
48
|
-
|
62
|
+
- v18.0.3 -- CHANGELOG and version bump. [\#159](https://github.com/how-is/how_is/pull/159) ([duckinator](https://github.com/duckinator))
|
63
|
+
- Add RuboCop config [\#158](https://github.com/how-is/how_is/pull/158) ([duckinator](https://github.com/duckinator))
|
64
|
+
- CLI parser refactor [\#157](https://github.com/how-is/how_is/pull/157) ([duckinator](https://github.com/duckinator))
|
65
|
+
- exe/how\_is: Reinstate to\_json, to\_html [\#150](https://github.com/how-is/how_is/pull/150) ([olleolleolle](https://github.com/olleolleolle))
|
49
66
|
|
50
|
-
|
51
|
-
|
52
|
-
call.
|
67
|
+
## [v18.0.2](https://github.com/how-is/how_is/tree/v18.0.2) (2017-03-05)
|
68
|
+
[Full Changelog](https://github.com/how-is/how_is/compare/v18.0.1...v18.0.2)
|
53
69
|
|
54
|
-
|
70
|
+
**Merged pull requests:**
|
55
71
|
|
56
|
-
|
57
|
-
([#148](https://github.com/how-is/how_is/pull/148))
|
72
|
+
- v18.0.2 - Remove unnecessary .send\(\) call in exe/how\_is. [\#148](https://github.com/how-is/how_is/pull/148) ([duckinator](https://github.com/duckinator))
|
58
73
|
|
59
|
-
## [v18.0.1]
|
74
|
+
## [v18.0.1](https://github.com/how-is/how_is/tree/v18.0.1) (2017-03-05)
|
75
|
+
[Full Changelog](https://github.com/how-is/how_is/compare/v18.0.0...v18.0.1)
|
60
76
|
|
61
|
-
|
62
|
-
fixes the `--config` flag, which was previously using the wrong method.
|
77
|
+
**Merged pull requests:**
|
63
78
|
|
64
|
-
|
79
|
+
- v18.0.1 - fix --config flag [\#147](https://github.com/how-is/how_is/pull/147) ([duckinator](https://github.com/duckinator))
|
65
80
|
|
66
|
-
|
67
|
-
|
81
|
+
## [v18.0.0](https://github.com/how-is/how_is/tree/v18.0.0) (2017-03-05)
|
82
|
+
[Full Changelog](https://github.com/how-is/how_is/compare/v17.0.0...v18.0.0)
|
68
83
|
|
69
|
-
|
84
|
+
**Closed issues:**
|
70
85
|
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
[
|
86
|
+
- Determine what is using open-uri [\#140](https://github.com/how-is/how_is/issues/140)
|
87
|
+
- :from != :from\_file [\#137](https://github.com/how-is/how_is/issues/137)
|
88
|
+
- Move --from documentation to README [\#136](https://github.com/how-is/how_is/issues/136)
|
89
|
+
- Why is rack required? [\#135](https://github.com/how-is/how_is/issues/135)
|
90
|
+
- Is :from\_file still an option? [\#134](https://github.com/how-is/how_is/issues/134)
|
91
|
+
- Move from\_config/from\_config\_file out of HowIs::CLI [\#52](https://github.com/how-is/how_is/issues/52)
|
75
92
|
|
76
|
-
|
77
|
-
GitHub](https://github.com/how-is/how_is/pulls?utf8=&q=is%3Apr%20created%3A2017-02-10..2017-03-03).
|
93
|
+
**Merged pull requests:**
|
78
94
|
|
79
|
-
|
95
|
+
- v18.0.0 release [\#146](https://github.com/how-is/how_is/pull/146) ([duckinator](https://github.com/duckinator))
|
96
|
+
- Add HowIs.from\_hash method [\#144](https://github.com/how-is/how_is/pull/144) ([indirect](https://github.com/indirect))
|
97
|
+
- Move documentation from design/ to README. [\#143](https://github.com/how-is/how_is/pull/143) ([duckinator](https://github.com/duckinator))
|
98
|
+
- Fix --from. [\#141](https://github.com/how-is/how_is/pull/141) ([duckinator](https://github.com/duckinator))
|
99
|
+
- Unpin Rack version. [\#139](https://github.com/how-is/how_is/pull/139) ([duckinator](https://github.com/duckinator))
|
100
|
+
- Documentation! [\#132](https://github.com/how-is/how_is/pull/132) ([duckinator](https://github.com/duckinator))
|
101
|
+
- Remove shebang line from lib/ file. [\#131](https://github.com/how-is/how_is/pull/131) ([duckinator](https://github.com/duckinator))
|
102
|
+
- Fix URL in gemspec. [\#130](https://github.com/how-is/how_is/pull/130) ([duckinator](https://github.com/duckinator))
|
103
|
+
- Gemspec: Description grammar [\#129](https://github.com/how-is/how_is/pull/129) ([olleolleolle](https://github.com/olleolleolle))
|
80
104
|
|
81
|
-
|
82
|
-
|
83
|
-
* Move documentation from design/ to README.
|
84
|
-
([#143](https://github.com/how-is/how_is/pull/143))
|
85
|
-
* Add `HowIs.from_hash` method.
|
86
|
-
([#144](https://github.com/how-is/how_is/pull/144))
|
105
|
+
## [v17.0.0](https://github.com/how-is/how_is/tree/v17.0.0) (2017-02-09)
|
106
|
+
[Full Changelog](https://github.com/how-is/how_is/compare/v16.0.0...v17.0.0)
|
87
107
|
|
88
|
-
|
108
|
+
**Merged pull requests:**
|
89
109
|
|
90
|
-
|
91
|
-
* Fix --from. ([#141](https://github.com/how-is/how_is/pull/141))
|
110
|
+
- Make from\_json parse ALL dates, not just some of them. [\#128](https://github.com/how-is/how_is/pull/128) ([duckinator](https://github.com/duckinator))
|
92
111
|
|
93
|
-
|
112
|
+
## [v16.0.0](https://github.com/how-is/how_is/tree/v16.0.0) (2017-02-09)
|
113
|
+
[Full Changelog](https://github.com/how-is/how_is/compare/v15.0.0...v16.0.0)
|
94
114
|
|
95
|
-
|
115
|
+
**Merged pull requests:**
|
96
116
|
|
97
|
-
|
98
|
-
([#129](https://github.com/how-is/how_is/pull/129))
|
99
|
-
* Fix URL in gemspec. ([#130](https://github.com/how-is/how_is/pull/130))
|
100
|
-
* Remove shebang line from lib/ file.
|
101
|
-
([#131](https://github.com/how-is/how_is/pull/131))
|
117
|
+
- Make from\_json\(\) parse dates. [\#127](https://github.com/how-is/how_is/pull/127) ([duckinator](https://github.com/duckinator))
|
102
118
|
|
119
|
+
## [v15.0.0](https://github.com/how-is/how_is/tree/v15.0.0) (2017-02-09)
|
120
|
+
[Full Changelog](https://github.com/how-is/how_is/compare/v14.0.0...v15.0.0)
|
103
121
|
|
104
|
-
|
122
|
+
**Closed issues:**
|
105
123
|
|
106
|
-
|
107
|
-
makes `HowIs.from_json` parse _all_ dates, not just _some_ dates.
|
108
|
-
(Whoops.)
|
124
|
+
- include data from GitHub Pulse in Analysis [\#116](https://github.com/how-is/how_is/issues/116)
|
109
125
|
|
110
|
-
|
126
|
+
**Merged pull requests:**
|
111
127
|
|
112
|
-
|
113
|
-
([#128](https://github.com/how-is/how_is/pull/128))
|
128
|
+
- Implement HowIs.from\_json\(\). [\#126](https://github.com/how-is/how_is/pull/126) ([duckinator](https://github.com/duckinator))
|
114
129
|
|
115
|
-
## [
|
130
|
+
## [v14.0.0](https://github.com/how-is/how_is/tree/v14.0.0) (2017-02-09)
|
131
|
+
[Full Changelog](https://github.com/how-is/how_is/compare/v13.0.0...v14.0.0)
|
132
|
+
|
133
|
+
**Closed issues:**
|
134
|
+
|
135
|
+
- Remove dead code [\#121](https://github.com/how-is/how_is/issues/121)
|
136
|
+
- Update documentation with API changes [\#118](https://github.com/how-is/how_is/issues/118)
|
137
|
+
- design an API [\#115](https://github.com/how-is/how_is/issues/115)
|
138
|
+
- correct readme [\#114](https://github.com/how-is/how_is/issues/114)
|
116
139
|
|
117
|
-
|
118
|
-
makes `HowIs.from_json` actually parse dates.
|
140
|
+
**Merged pull requests:**
|
119
141
|
|
120
|
-
|
142
|
+
- Include Pulse data in JSON reports. [\#125](https://github.com/how-is/how_is/pull/125) ([duckinator](https://github.com/duckinator))
|
143
|
+
- Remove dead code. [\#123](https://github.com/how-is/how_is/pull/123) ([duckinator](https://github.com/duckinator))
|
144
|
+
- Update README.md about API redesign. [\#120](https://github.com/how-is/how_is/pull/120) ([duckinator](https://github.com/duckinator))
|
145
|
+
- CHANGELOG typo [\#119](https://github.com/how-is/how_is/pull/119) ([olleolleolle](https://github.com/olleolleolle))
|
121
146
|
|
122
|
-
|
123
|
-
|
147
|
+
## [v13.0.0](https://github.com/how-is/how_is/tree/v13.0.0) (2017-02-09)
|
148
|
+
[Full Changelog](https://github.com/how-is/how_is/compare/v12.0.0...v13.0.0)
|
124
149
|
|
125
|
-
|
150
|
+
**Closed issues:**
|
126
151
|
|
127
|
-
|
128
|
-
|
152
|
+
- Add ISSUES.md [\#102](https://github.com/how-is/how_is/issues/102)
|
153
|
+
- Have change log link to tags [\#100](https://github.com/how-is/how_is/issues/100)
|
129
154
|
|
130
|
-
|
155
|
+
**Merged pull requests:**
|
131
156
|
|
132
|
-
|
133
|
-
|
157
|
+
- API redesign [\#117](https://github.com/how-is/how_is/pull/117) ([duckinator](https://github.com/duckinator))
|
158
|
+
- Update README.md [\#113](https://github.com/how-is/how_is/pull/113) ([duckinator](https://github.com/duckinator))
|
159
|
+
- remove pdfs and relax rack version [\#112](https://github.com/how-is/how_is/pull/112) ([indirect](https://github.com/indirect))
|
160
|
+
- \[design.md\] add 'information about how\_is' section. [\#109](https://github.com/how-is/how_is/pull/109) ([duckinator](https://github.com/duckinator))
|
161
|
+
- Specifications [\#108](https://github.com/how-is/how_is/pull/108) ([duckinator](https://github.com/duckinator))
|
162
|
+
- Have CHANGELOG link to code snapshots. [\#107](https://github.com/how-is/how_is/pull/107) ([duckinator](https://github.com/duckinator))
|
163
|
+
- Add link for ungrouped issues. [\#104](https://github.com/how-is/how_is/pull/104) ([duckinator](https://github.com/duckinator))
|
164
|
+
- Add ISSUES.md. [\#103](https://github.com/how-is/how_is/pull/103) ([duckinator](https://github.com/duckinator))
|
165
|
+
- CLI warning on single-word repository argument [\#98](https://github.com/how-is/how_is/pull/98) ([olleolleolle](https://github.com/olleolleolle))
|
134
166
|
|
135
|
-
## [
|
167
|
+
## [v12.0.0](https://github.com/how-is/how_is/tree/v12.0.0) (2016-12-11)
|
168
|
+
[Full Changelog](https://github.com/how-is/how_is/compare/v11.0.0...v12.0.0)
|
136
169
|
|
137
|
-
|
138
|
-
made JSON reports include Pulse data, thus making `HowIs.from_json()`
|
139
|
-
not make any network requests at all.
|
170
|
+
**Closed issues:**
|
140
171
|
|
141
|
-
|
172
|
+
- ZeroDivisionError [\#91](https://github.com/how-is/how_is/issues/91)
|
173
|
+
- Rake task\(s\) for regenerating example reports. [\#84](https://github.com/how-is/how_is/issues/84)
|
174
|
+
- make issue\_or\_pr\_summary use kwargs [\#78](https://github.com/how-is/how_is/issues/78)
|
175
|
+
- Define unimplemented BaseReport methods [\#77](https://github.com/how-is/how_is/issues/77)
|
176
|
+
- Extract BaseReport [\#76](https://github.com/how-is/how_is/issues/76)
|
177
|
+
- Release v11.0 [\#75](https://github.com/how-is/how_is/issues/75)
|
178
|
+
- convert average age/oldest/newest to lists [\#70](https://github.com/how-is/how_is/issues/70)
|
179
|
+
- newest PR/issue [\#69](https://github.com/how-is/how_is/issues/69)
|
142
180
|
|
143
|
-
|
144
|
-
* Include Pulse data in JSON reports.
|
145
|
-
([#125](https://github.com/how-is/how_is/pull/125))
|
181
|
+
**Merged pull requests:**
|
146
182
|
|
147
|
-
|
183
|
+
- version bump to 12.0.0 [\#97](https://github.com/how-is/how_is/pull/97) ([duckinator](https://github.com/duckinator))
|
184
|
+
- rake generate =\> rake generate\_reports. [\#96](https://github.com/how-is/how_is/pull/96) ([duckinator](https://github.com/duckinator))
|
185
|
+
- Rake tasks [\#94](https://github.com/how-is/how_is/pull/94) ([duckinator](https://github.com/duckinator))
|
186
|
+
- Fix divide by zero when no issues [\#92](https://github.com/how-is/how_is/pull/92) ([duckinator](https://github.com/duckinator))
|
187
|
+
- Changelog v12.0 [\#89](https://github.com/how-is/how_is/pull/89) ([duckinator](https://github.com/duckinator))
|
188
|
+
- Refactoring Report + \*Report. [\#88](https://github.com/how-is/how_is/pull/88) ([duckinator](https://github.com/duckinator))
|
189
|
+
- Rake tasks [\#86](https://github.com/how-is/how_is/pull/86) ([duckinator](https://github.com/duckinator))
|
190
|
+
- Newest pr issue attempt 2 [\#85](https://github.com/how-is/how_is/pull/85) ([duckinator](https://github.com/duckinator))
|
191
|
+
- Convert issue/PR info to a list. [\#83](https://github.com/how-is/how_is/pull/83) ([duckinator](https://github.com/duckinator))
|
192
|
+
- Improve generated HTML, for easier debugging. [\#82](https://github.com/how-is/how_is/pull/82) ([duckinator](https://github.com/duckinator))
|
193
|
+
- Update readme [\#81](https://github.com/how-is/how_is/pull/81) ([duckinator](https://github.com/duckinator))
|
194
|
+
- Define unimplemented methods; make github\_pulse\_summary private. [\#80](https://github.com/how-is/how_is/pull/80) ([duckinator](https://github.com/duckinator))
|
195
|
+
- Extract BaseReport into its own file. [\#79](https://github.com/how-is/how_is/pull/79) ([duckinator](https://github.com/duckinator))
|
148
196
|
|
149
|
-
|
150
|
-
|
197
|
+
## [v11.0.0](https://github.com/how-is/how_is/tree/v11.0.0) (2016-11-13)
|
198
|
+
[Full Changelog](https://github.com/how-is/how_is/compare/v10.0.0...v11.0.0)
|
151
199
|
|
152
|
-
|
153
|
-
GitHub](https://github.com/how-is/how_is/pulls?utf8=&q=is%3Apr%20created%3A2016-12-12..2017-02-09).
|
200
|
+
**Closed issues:**
|
154
201
|
|
155
|
-
|
202
|
+
- Failing tests. [\#68](https://github.com/how-is/how_is/issues/68)
|
203
|
+
- `how\_is how-is/how\_is` is broken [\#61](https://github.com/how-is/how_is/issues/61)
|
204
|
+
- Rename export! to export\_file [\#57](https://github.com/how-is/how_is/issues/57)
|
205
|
+
- Remove how\_is/chart.rb [\#56](https://github.com/how-is/how_is/issues/56)
|
206
|
+
- Unknown option --report-file referenced in the README [\#51](https://github.com/how-is/how_is/issues/51)
|
207
|
+
- Specify period for reports [\#50](https://github.com/how-is/how_is/issues/50)
|
208
|
+
- Handle singular/plural PRs and issues properly [\#49](https://github.com/how-is/how_is/issues/49)
|
209
|
+
- HTML graph messes up "\(No label\)" graph label [\#48](https://github.com/how-is/how_is/issues/48)
|
210
|
+
- Document library usage. [\#45](https://github.com/how-is/how_is/issues/45)
|
211
|
+
- Use VCR instead of files containing API responses [\#37](https://github.com/how-is/how_is/issues/37)
|
212
|
+
- Make integration tests not rely on GitHub API [\#36](https://github.com/how-is/how_is/issues/36)
|
213
|
+
- Integration tests [\#26](https://github.com/how-is/how_is/issues/26)
|
214
|
+
- Links [\#18](https://github.com/how-is/how_is/issues/18)
|
215
|
+
- \[PDF\] Show labels outside of graph [\#8](https://github.com/how-is/how_is/issues/8)
|
156
216
|
|
157
|
-
|
158
|
-
* Raise an exception/show a CLI warning if the provided repository name
|
159
|
-
isn't in the "user/repo" format.
|
160
|
-
([#98](https://github.com/how-is/how_is/pull/98))
|
217
|
+
**Merged pull requests:**
|
161
218
|
|
162
|
-
|
219
|
+
- Add changelog. [\#73](https://github.com/how-is/how_is/pull/73) ([duckinator](https://github.com/duckinator))
|
220
|
+
- Fix failing tests. [\#72](https://github.com/how-is/how_is/pull/72) ([duckinator](https://github.com/duckinator))
|
221
|
+
- Add tests for --help, -h, --version, and -v. [\#67](https://github.com/how-is/how_is/pull/67) ([duckinator](https://github.com/duckinator))
|
222
|
+
- Test refactoring [\#66](https://github.com/how-is/how_is/pull/66) ([duckinator](https://github.com/duckinator))
|
223
|
+
- Handle singular/plural PRs and issues correctly. [\#65](https://github.com/how-is/how_is/pull/65) ([duckinator](https://github.com/duckinator))
|
224
|
+
- Remove duplicate period. [\#64](https://github.com/how-is/how_is/pull/64) ([duckinator](https://github.com/duckinator))
|
225
|
+
- Handle cases where there are no issues or PRs. [\#63](https://github.com/how-is/how_is/pull/63) ([duckinator](https://github.com/duckinator))
|
226
|
+
- Fix "No label" graph label. [\#62](https://github.com/how-is/how_is/pull/62) ([duckinator](https://github.com/duckinator))
|
227
|
+
- Rename export! to export\_file. [\#60](https://github.com/how-is/how_is/pull/60) ([duckinator](https://github.com/duckinator))
|
228
|
+
- Remove remnants of PDF-related stuff. [\#59](https://github.com/how-is/how_is/pull/59) ([duckinator](https://github.com/duckinator))
|
229
|
+
- FUCK YEAH DOCUMENTATION [\#58](https://github.com/how-is/how_is/pull/58) ([duckinator](https://github.com/duckinator))
|
230
|
+
- Specify time period for reports. [\#55](https://github.com/how-is/how_is/pull/55) ([duckinator](https://github.com/duckinator))
|
231
|
+
- SO LONG, PDF REPORTS. YOU WILL NOT BE MISSED. [\#54](https://github.com/how-is/how_is/pull/54) ([duckinator](https://github.com/duckinator))
|
232
|
+
- Document Ruby API. [\#53](https://github.com/how-is/how_is/pull/53) ([duckinator](https://github.com/duckinator))
|
233
|
+
- Update roadmap.markdown [\#47](https://github.com/how-is/how_is/pull/47) ([duckinator](https://github.com/duckinator))
|
234
|
+
- New roadmap. [\#46](https://github.com/how-is/how_is/pull/46) ([duckinator](https://github.com/duckinator))
|
163
235
|
|
164
|
-
|
165
|
-
|
166
|
-
(e.g. adding Rake tasks and improving the generated JSON and HTML).
|
236
|
+
## [v10.0.0](https://github.com/how-is/how_is/tree/v10.0.0) (2016-09-01)
|
237
|
+
[Full Changelog](https://github.com/how-is/how_is/compare/v9.0.0...v10.0.0)
|
167
238
|
|
168
|
-
|
169
|
-
GitHub](https://github.com/how-is/how_is/pulls?utf8=&q=is%3Apr%20created%3A2016-11-11..2016-12-11).
|
239
|
+
**Closed issues:**
|
170
240
|
|
171
|
-
|
241
|
+
- --version is broken [\#42](https://github.com/how-is/how_is/issues/42)
|
242
|
+
- report generation fails [\#25](https://github.com/how-is/how_is/issues/25)
|
172
243
|
|
173
|
-
|
174
|
-
([#85](https://github.com/how-is/how_is/pull/85))
|
244
|
+
**Merged pull requests:**
|
175
245
|
|
176
|
-
|
246
|
+
- Parser specs [\#43](https://github.com/how-is/how_is/pull/43) ([duckinator](https://github.com/duckinator))
|
177
247
|
|
178
|
-
|
179
|
-
|
180
|
-
([#82](https://github.com/how-is/how_is/pulls/82),
|
181
|
-
[#84](https://github.com/how-is/how_is/pulls/84))
|
182
|
-
- Handle generating a report on a repository with no open issues.
|
183
|
-
([#92](https://github.com/how-is/how_is/pull/92))
|
184
|
-
- Add Rake tasks to make development easier. ([#86](https://github.com/how-is/how_is/pull/86), [#94](https://github.com/how-is/how_is/pull/94), [#96](https://github.com/how-is/how_is/pull/96))
|
185
|
-
- PR/issue info is now displayed as lists instead of paragraphs. ([#83](https://github.com/how-is/how_is/pull/83))
|
248
|
+
## [v9.0.0](https://github.com/how-is/how_is/tree/v9.0.0) (2016-08-20)
|
249
|
+
[Full Changelog](https://github.com/how-is/how_is/compare/v8.0.0...v9.0.0)
|
186
250
|
|
187
|
-
|
251
|
+
**Closed issues:**
|
188
252
|
|
189
|
-
|
190
|
-
|
253
|
+
- Help text is outdated. [\#33](https://github.com/how-is/how_is/issues/33)
|
254
|
+
- `how\_is rubygems/rubygems` raises contract violation [\#32](https://github.com/how-is/how_is/issues/32)
|
255
|
+
- Warning when executing how\_is [\#29](https://github.com/how-is/how_is/issues/29)
|
256
|
+
- Intermittent off-by-one date error in Analyzer\#average\_date\_for test [\#21](https://github.com/how-is/how_is/issues/21)
|
191
257
|
|
192
|
-
|
258
|
+
**Merged pull requests:**
|
193
259
|
|
194
|
-
-
|
260
|
+
- We're not using Cucumber + Aruba. [\#40](https://github.com/how-is/how_is/pull/40) ([duckinator](https://github.com/duckinator))
|
261
|
+
- Option parser refactor [\#39](https://github.com/how-is/how_is/pull/39) ([duckinator](https://github.com/duckinator))
|
262
|
+
- Fix first integration test [\#38](https://github.com/how-is/how_is/pull/38) ([duckinator](https://github.com/duckinator))
|
263
|
+
- Update documentation. [\#35](https://github.com/how-is/how_is/pull/35) ([duckinator](https://github.com/duckinator))
|
264
|
+
- Fix contract error [\#34](https://github.com/how-is/how_is/pull/34) ([duckinator](https://github.com/duckinator))
|
265
|
+
- Use the correct config file in integration tests. [\#31](https://github.com/how-is/how_is/pull/31) ([duckinator](https://github.com/duckinator))
|
266
|
+
- Remove redundant definiton of C. [\#30](https://github.com/how-is/how_is/pull/30) ([duckinator](https://github.com/duckinator))
|
267
|
+
- Fix Analyzer\#average\_age\_for test. [\#28](https://github.com/how-is/how_is/pull/28) ([duckinator](https://github.com/duckinator))
|
268
|
+
- Integration tests [\#27](https://github.com/how-is/how_is/pull/27) ([duckinator](https://github.com/duckinator))
|
195
269
|
|
196
|
-
|
270
|
+
## [v8.0.0](https://github.com/how-is/how_is/tree/v8.0.0) (2016-07-28)
|
271
|
+
[Full Changelog](https://github.com/how-is/how_is/compare/v7.0.0...v8.0.0)
|
197
272
|
|
198
|
-
|
199
|
-
|
200
|
-
- Handles generating reports for repositories with no activity in the
|
201
|
-
past month
|
202
|
-
- Tests are improved
|
203
|
-
- Tests no longer make actual network requests
|
273
|
+
## [v7.0.0](https://github.com/how-is/how_is/tree/v7.0.0) (2016-07-28)
|
274
|
+
[Full Changelog](https://github.com/how-is/how_is/compare/v6.0.0...v7.0.0)
|
204
275
|
|
205
|
-
|
276
|
+
## [v6.0.0](https://github.com/how-is/how_is/tree/v6.0.0) (2016-07-28)
|
277
|
+
[Full Changelog](https://github.com/how-is/how_is/compare/v5.0.0...v6.0.0)
|
206
278
|
|
207
|
-
|
279
|
+
**Merged pull requests:**
|
208
280
|
|
209
|
-
|
281
|
+
- CLI specs [\#24](https://github.com/how-is/how_is/pull/24) ([duckinator](https://github.com/duckinator))
|
282
|
+
- Spelling in OptParser help for --config [\#23](https://github.com/how-is/how_is/pull/23) ([olleolleolle](https://github.com/olleolleolle))
|
210
283
|
|
211
|
-
|
212
|
-
|
284
|
+
## [v5.0.0](https://github.com/how-is/how_is/tree/v5.0.0) (2016-07-21)
|
285
|
+
[Full Changelog](https://github.com/how-is/how_is/compare/v4.0.0...v5.0.0)
|
286
|
+
|
287
|
+
## [v4.0.0](https://github.com/how-is/how_is/tree/v4.0.0) (2016-07-19)
|
288
|
+
[Full Changelog](https://github.com/how-is/how_is/compare/v3.0.0...v4.0.0)
|
289
|
+
|
290
|
+
**Closed issues:**
|
291
|
+
|
292
|
+
- Monthly summary [\#19](https://github.com/how-is/how_is/issues/19)
|
293
|
+
|
294
|
+
**Merged pull requests:**
|
295
|
+
|
296
|
+
- Add text summary. [\#22](https://github.com/how-is/how_is/pull/22) ([duckinator](https://github.com/duckinator))
|
297
|
+
|
298
|
+
## [v3.0.0](https://github.com/how-is/how_is/tree/v3.0.0) (2016-07-13)
|
299
|
+
[Full Changelog](https://github.com/how-is/how_is/compare/v2.0.0...v3.0.0)
|
300
|
+
|
301
|
+
**Closed issues:**
|
302
|
+
|
303
|
+
- Exception when running `how\_is duckinator/how\_is` from master [\#16](https://github.com/how-is/how_is/issues/16)
|
304
|
+
|
305
|
+
**Merged pull requests:**
|
306
|
+
|
307
|
+
- HTML links [\#20](https://github.com/how-is/how_is/pull/20) ([duckinator](https://github.com/duckinator))
|
308
|
+
|
309
|
+
## [v2.0.0](https://github.com/how-is/how_is/tree/v2.0.0) (2016-06-27)
|
310
|
+
[Full Changelog](https://github.com/how-is/how_is/compare/v1.0.0...v2.0.0)
|
311
|
+
|
312
|
+
**Closed issues:**
|
313
|
+
|
314
|
+
- HTML exports [\#13](https://github.com/how-is/how_is/issues/13)
|
315
|
+
- When importing from JSON, don't require repository name as argument. [\#10](https://github.com/how-is/how_is/issues/10)
|
316
|
+
- Allow export to Ruby objects as well as files [\#7](https://github.com/how-is/how_is/issues/7)
|
317
|
+
|
318
|
+
**Merged pull requests:**
|
319
|
+
|
320
|
+
- HTML graphs [\#17](https://github.com/how-is/how_is/pull/17) ([duckinator](https://github.com/duckinator))
|
321
|
+
|
322
|
+
## [v1.0.0](https://github.com/how-is/how_is/tree/v1.0.0) (2016-06-22)
|
323
|
+
**Closed issues:**
|
324
|
+
|
325
|
+
- Fix failing tests [\#15](https://github.com/how-is/how_is/issues/15)
|
326
|
+
- Update README [\#11](https://github.com/how-is/how_is/issues/11)
|
327
|
+
- Find a better name [\#2](https://github.com/how-is/how_is/issues/2)
|
328
|
+
- Metrics to track [\#1](https://github.com/how-is/how_is/issues/1)
|
329
|
+
|
330
|
+
**Merged pull requests:**
|
331
|
+
|
332
|
+
- waffle.io Badge [\#14](https://github.com/how-is/how_is/pull/14) ([waffle-iron](https://github.com/waffle-iron))
|
333
|
+
- Executable: Fail faster, use abort [\#9](https://github.com/how-is/how_is/pull/9) ([olleolleolle](https://github.com/olleolleolle))
|
334
|
+
- Rotate images with MiniMagick [\#5](https://github.com/how-is/how_is/pull/5) ([olleolleolle](https://github.com/olleolleolle))
|
335
|
+
|
336
|
+
|
337
|
+
|
338
|
+
\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
|
data/Gemfile
CHANGED
@@ -1,6 +1,17 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
source
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
# how_is only supports Ruby versions receiving general bug fixes ("normal
|
6
|
+
# maintenance"). This should be updated when a Ruby version goes into security
|
7
|
+
# maintenance. Ruby maintenance: https://www.ruby-lang.org/en/downloads/branches/
|
8
|
+
ruby "~> 2.3"
|
4
9
|
|
5
10
|
# Specify your gem's dependencies in how_is.gemspec
|
6
11
|
gemspec
|
12
|
+
|
13
|
+
# TODO: move Pry back to gemspec, once a version is released that does not rely
|
14
|
+
# on an ancient version of Slop. Reason: gemspecs can not handle git deps.
|
15
|
+
group :development do
|
16
|
+
gem "pry", git: "https://github.com/pry/pry.git"
|
17
|
+
end
|
data/Rakefile
CHANGED
@@ -1,22 +1,26 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require
|
4
|
-
require
|
5
|
-
require
|
6
|
-
require
|
7
|
-
require
|
3
|
+
require "bundler/gem_tasks"
|
4
|
+
require "rspec/core/rake_task"
|
5
|
+
require "timecop"
|
6
|
+
require "./spec/vcr_helper.rb"
|
7
|
+
require "how_is"
|
8
8
|
|
9
9
|
RSpec::Core::RakeTask.new(:spec) do |t|
|
10
10
|
# Warning.warn() was added in Ruby 2.4.0, so don't use -w on older versions.
|
11
|
-
t.ruby_opts =
|
11
|
+
t.ruby_opts = "-w -r./spec/capture_warnings.rb" if RUBY_VERSION >= "2.4.0"
|
12
12
|
end
|
13
13
|
|
14
14
|
task :default => :spec
|
15
15
|
|
16
|
+
task :generate_changelog do
|
17
|
+
sh "github_changelog_generator"
|
18
|
+
end
|
19
|
+
|
16
20
|
# Helper functions used later in the Rakefile.
|
17
21
|
class HelperFunctions
|
18
22
|
def self.freeze_time(&_block)
|
19
|
-
date = DateTime.parse(
|
23
|
+
date = DateTime.parse("2016-11-01").new_offset(0)
|
20
24
|
Timecop.freeze(date) do
|
21
25
|
yield
|
22
26
|
end
|
@@ -31,37 +35,52 @@ class HelperFunctions
|
|
31
35
|
format: format,
|
32
36
|
}
|
33
37
|
|
34
|
-
cassette = repository.tr(
|
38
|
+
cassette = repository.tr("/", "-")
|
35
39
|
VCR.use_cassette(cassette) do
|
36
40
|
report = HowIs.generate_report(**options)
|
37
41
|
end
|
38
42
|
|
39
43
|
filename = "#{cassette}-report.#{format}"
|
40
44
|
path = File.expand_path("spec/data/#{filename}", __dir__)
|
41
|
-
File.open(path,
|
45
|
+
File.open(path, "w") do |f|
|
42
46
|
f.puts report
|
43
47
|
# HACK: Trailing newline is missing, otherwise.
|
44
|
-
f.puts if format ==
|
48
|
+
f.puts if format == "html"
|
45
49
|
end
|
46
50
|
end
|
47
51
|
end
|
48
52
|
end
|
49
53
|
|
50
54
|
namespace :generate_reports do
|
51
|
-
desc
|
55
|
+
desc "Generate example HTML reports."
|
52
56
|
task :html do
|
53
57
|
%w[
|
54
58
|
how-is/example-repository
|
55
59
|
how-is/example-empty-repository
|
56
60
|
].each do |repo|
|
57
|
-
HelperFunctions.generate_report(repo,
|
61
|
+
HelperFunctions.generate_report(repo, "html")
|
58
62
|
end
|
59
63
|
end
|
60
64
|
|
61
|
-
desc
|
65
|
+
desc "Generate example JSON reports."
|
62
66
|
task :json do
|
63
|
-
HelperFunctions.generate_report(
|
67
|
+
HelperFunctions.generate_report("how-is/example-repository", "json")
|
64
68
|
end
|
65
69
|
|
66
70
|
task :all => [:html, :json]
|
67
71
|
end
|
72
|
+
|
73
|
+
desc "List new contributors. Lists committers with no earlier commits then "\
|
74
|
+
"given since_date (as %Y-%m-%d). Defaults to first of current month."
|
75
|
+
task :new_contributors, [:user, :repo, :since_date] => [] do |_t, args|
|
76
|
+
require "how_is/contributions"
|
77
|
+
user = args[:user] || "how-is"
|
78
|
+
repo = args[:repo] || "how_is"
|
79
|
+
since_date = args[:since_date] || Time.now.strftime("%Y-%m-01")
|
80
|
+
|
81
|
+
puts "New committers:"
|
82
|
+
puts Contributions.new(github: Github.new(auto_pagination: true),
|
83
|
+
since_date: since_date,
|
84
|
+
user: user,
|
85
|
+
repo: repo).new_contributors
|
86
|
+
end
|