how_is 18.0.4 → 18.0.5

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.md CHANGED
@@ -1,212 +1,338 @@
1
1
  # Change Log
2
2
 
3
- All notable changes to this project will be documented in this file.
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
- The format is based on [Keep a Changelog](http://keepachangelog.com) and
6
- this project adheres to [Semantic Versioning](http://semver.org).
6
+ **Closed issues:**
7
7
 
8
- ## [Unreleased]
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
- (Nothing so far.)
12
+ **Merged pull requests:**
11
13
 
12
- ## [v18.0.4]
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
- This release ([snapshot](https://github.com/how-is/how_is/tree/v18.0.4))
15
- is exclusively cleaning up RuboCop violations and updating dependencies.
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
- ### Miscellaneous
28
+ **Closed issues:**
19
29
 
20
- * Use Hashie stable; update Gemfile/add Gemfile.lock. ([#170](https://github.com/how-is/how_is/pull/170))
21
- * Pass -w to Ruby when running 'rake spec'. ([#169](https://github.com/how-is/how_is/pull/169))
22
- * Rubocop cleanup. ([#167](https://github.com/how-is/how_is/pull/167))
23
- * Gemfile: use Hashie from master branch. ([#166](https://github.com/how-is/how_is/pull/166))
24
- * Update github_api, contracst to latest. ([#165](https://github.com/how-is/how_is/pull/165))
25
- * Fix (a significant number of) RuboCop violations. ([#162](https://github.com/how-is/how_is/pull/162))
26
- * README: Drop from_config_file reference. ([#161](https://github.com/how-is/how_is/pull/161))
27
- * Move rubocop dependency to gemspec. ([#160](https://github.com/how-is/how_is/pull/160))
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
- ## [v18.0.3]
40
+ **Merged pull requests:**
30
41
 
31
- This release ([snapshot](https://github.com/how-is/how_is/tree/v18.0.3))
32
- fixes the things the last few releases broke. I think. Hopefully.
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
- It also includes some refactoring work, and the addition of a RuboCop
35
- configuration.
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
- @duckinator enabled [Hound CI](https://houndci.com) for the repository, which
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
- ### Changes
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
- * Add RuboCop config ([#158](https://github.com/how-is/how_is/pull/158))
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
- ## [v18.0.2]
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
- This release ([snapshot](https://github.com/how-is/how_is/tree/v18.0.2))
51
- _actually_ fixes the `--config` flag, which made an unecessary method
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
- ### Changes
70
+ **Merged pull requests:**
55
71
 
56
- * v18.0.2 - Remove unnecessary `.send()` call in exe/how_is.
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
- This release ([snapshot](https://github.com/how-is/how_is/tree/v18.0.1))
62
- fixes the `--config` flag, which was previously using the wrong method.
77
+ **Merged pull requests:**
63
78
 
64
- ### Changes
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
- * v18.0.1 - fix `--config` flag.
67
- ([#147](https://github.com/how-is/how_is/pull/147))
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
- ## [v18.0.0]
84
+ **Closed issues:**
70
85
 
71
- This release ([snapshot](https://github.com/how-is/how_is/tree/v18.0.0))
72
- vastly improves documentation, fixes the `--from` flag, and adds the
73
- `HowIs.from_hash` method (used by the
74
- [dashboard](https://github.com/how-is/dashboard)).
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
- Pull Requests for this release can be [viewed on
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
- ### Additions
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
- * Add/improve inline code documentation.
82
- ([#132](https://github.com/how-is/how_is/pull/132))
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
- ### Changes
108
+ **Merged pull requests:**
89
109
 
90
- * Unpin Rack version. ([#139](https://github.com/how-is/how_is/pull/139))
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
- ### Miscellaneous
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
- Things that don't affect users of how\_is.
115
+ **Merged pull requests:**
96
116
 
97
- * Fix grammar in gemspec.
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
- ## [v17.0.0]
122
+ **Closed issues:**
105
123
 
106
- This release ([snapshot](https://github.com/how-is/how_is/tree/v17.0.0))
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
- ### Changes
126
+ **Merged pull requests:**
111
127
 
112
- * Make `HowIs.from_json` parse _all_ dates, not just some of them.
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
- ## [v16.0.0]
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
- This release ([snapshot](https://github.com/how-is/how_is/tree/v16.0.0))
118
- makes `HowIs.from_json` actually parse dates.
140
+ **Merged pull requests:**
119
141
 
120
- ### Changes
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
- * Make `HowIs.from_json` parse dates.
123
- ([#127](https://github.com/how-is/how_is/pull/127))
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
- ## [v15.0.0]
150
+ **Closed issues:**
126
151
 
127
- This release ([snapshot](https://github.com/how-is/how_is/tree/v15.0.0))
128
- implements `HowIs.from_json`.
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
- ### Changes
155
+ **Merged pull requests:**
131
156
 
132
- * Implemented `How_is.from_json`.
133
- ([#126](https://github.com/how-is/how_is/pull/126))
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
- ## [v14.0.0]
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
- This release ([snapshot](https://github.com/how-is/how_is/tree/v14.0.0))
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
- ### Changes
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
- * Remove dead code. ([#123](https://github.com/how-is/how_is/pull/123))
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
- ## [v13.0.0]
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
- This release ([snapshot](https://github.com/how-is/how_is/tree/v13.0.0))
150
- largely focused on an API redesign.
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
- Pull requests for this release can be [viewed on
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
- ### Changed
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
- * API overhaul. ([#115](https://github.com/how-is/how_is/issues/115), [#117](https://github.com/how-is/how_is/pull/117))
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
- ## [v12.0.0]
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
- This release ([snapshot](https://github.com/how-is/how_is/tree/v12.0.0))
165
- largely focused on refactoring and developer experience improvements
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
- Pull Requests for this release can be [viewed on
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
- ### Added
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
- - Include newest PR/issue in reports.
174
- ([#85](https://github.com/how-is/how_is/pull/85))
244
+ **Merged pull requests:**
175
245
 
176
- ### Changed
246
+ - Parser specs [\#43](https://github.com/how-is/how_is/pull/43) ([duckinator](https://github.com/duckinator))
177
247
 
178
- - Refactoring. ([#79](https://github.com/how-is/how_is/pull/79), [#80](https://github.com/how-is/how_is/pull/80), [#82](https://github.com/how-is/how_is/pull/82), [#88](https://github.com/how-is/how_is/pull/88))
179
- - JSON and HTML reports have nicer source.
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
- ## [11.0.0]
251
+ **Closed issues:**
188
252
 
189
- This release ([snapshot](https://github.com/how-is/how_is/tree/v11.0.0))
190
- removed PDF reports, handles more edge cases, and improves tests.
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
- ### Added
258
+ **Merged pull requests:**
193
259
 
194
- - Document Ruby API
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
- ### Changed
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
- - Fixed command-line help text (it was incorrect in v10.0.0 and some earlier versions)
199
- - Handles generating reports for repositories with no issues and/or no PRs
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
- ### Removed
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
- - PDF reports
279
+ **Merged pull requests:**
208
280
 
209
- ## [10.0.0 and earlier]
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
- This changelog was started while working on v11.0.0.
212
- Prior to that, I have no idea what was added or when.
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 'https://rubygems.org'
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 'bundler/gem_tasks'
4
- require 'rspec/core/rake_task'
5
- require 'timecop'
6
- require './spec/vcr_helper.rb'
7
- require 'how_is'
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 = '-w -r./spec/capture_warnings.rb' if RUBY_VERSION >= '2.4.0'
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('2016-11-01').new_offset(0)
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, 'w') do |f|
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 == 'html'
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 'Generate example HTML reports.'
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, 'html')
61
+ HelperFunctions.generate_report(repo, "html")
58
62
  end
59
63
  end
60
64
 
61
- desc 'Generate example JSON reports.'
65
+ desc "Generate example JSON reports."
62
66
  task :json do
63
- HelperFunctions.generate_report('how-is/example-repository', 'json')
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