inq 26.0.0

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.
Files changed (67) hide show
  1. checksums.yaml +7 -0
  2. data/.cirrus.yml +84 -0
  3. data/.codeclimate.yml +23 -0
  4. data/.github_changelog_generator +2 -0
  5. data/.gitignore +15 -0
  6. data/.rspec +2 -0
  7. data/.rubocop.yml +260 -0
  8. data/.travis.yml +24 -0
  9. data/CHANGELOG.md +499 -0
  10. data/CODE_OF_CONDUCT.md +49 -0
  11. data/CONTRIBUTING.md +34 -0
  12. data/Gemfile +15 -0
  13. data/ISSUES.md +62 -0
  14. data/LICENSE.txt +21 -0
  15. data/README.md +91 -0
  16. data/Rakefile +76 -0
  17. data/bin/console +14 -0
  18. data/bin/prerelease-generate-changelog +28 -0
  19. data/bin/setup +8 -0
  20. data/bors.toml +17 -0
  21. data/build-debug.rb +20 -0
  22. data/exe/inq +7 -0
  23. data/fixtures/vcr_cassettes/how-is-example-empty-repository.yml +597 -0
  24. data/fixtures/vcr_cassettes/how-is-example-repository.yml +768 -0
  25. data/fixtures/vcr_cassettes/how-is-from-config-frontmatter.yml +23940 -0
  26. data/fixtures/vcr_cassettes/how-is-how-is-travis-api-repos-builds.yml +66 -0
  27. data/fixtures/vcr_cassettes/how-is-with-config-file.yml +23940 -0
  28. data/fixtures/vcr_cassettes/how_is_contributions_additions_count.yml +247 -0
  29. data/fixtures/vcr_cassettes/how_is_contributions_all_contributors.yml +247 -0
  30. data/fixtures/vcr_cassettes/how_is_contributions_changed_files.yml +247 -0
  31. data/fixtures/vcr_cassettes/how_is_contributions_changes.yml +247 -0
  32. data/fixtures/vcr_cassettes/how_is_contributions_commits.yml +247 -0
  33. data/fixtures/vcr_cassettes/how_is_contributions_compare_url.yml +81 -0
  34. data/fixtures/vcr_cassettes/how_is_contributions_default_branch.yml +81 -0
  35. data/fixtures/vcr_cassettes/how_is_contributions_deletions_count.yml +247 -0
  36. data/fixtures/vcr_cassettes/how_is_contributions_new_contributors.yml +402 -0
  37. data/fixtures/vcr_cassettes/how_is_contributions_summary.yml +325 -0
  38. data/fixtures/vcr_cassettes/how_is_contributions_summary_2.yml +325 -0
  39. data/inq.gemspec +45 -0
  40. data/lib/inq.rb +63 -0
  41. data/lib/inq/cacheable.rb +71 -0
  42. data/lib/inq/cli.rb +135 -0
  43. data/lib/inq/config.rb +123 -0
  44. data/lib/inq/constants.rb +9 -0
  45. data/lib/inq/date_time_helpers.rb +48 -0
  46. data/lib/inq/exe.rb +66 -0
  47. data/lib/inq/frontmatter.rb +51 -0
  48. data/lib/inq/report.rb +140 -0
  49. data/lib/inq/report_collection.rb +113 -0
  50. data/lib/inq/sources.rb +11 -0
  51. data/lib/inq/sources/ci/appveyor.rb +87 -0
  52. data/lib/inq/sources/ci/travis.rb +159 -0
  53. data/lib/inq/sources/github.rb +57 -0
  54. data/lib/inq/sources/github/contributions.rb +204 -0
  55. data/lib/inq/sources/github/issue_fetcher.rb +148 -0
  56. data/lib/inq/sources/github/issues.rb +126 -0
  57. data/lib/inq/sources/github/pulls.rb +29 -0
  58. data/lib/inq/sources/github_helpers.rb +106 -0
  59. data/lib/inq/template.rb +9 -0
  60. data/lib/inq/templates/contributions_partial.html +1 -0
  61. data/lib/inq/templates/issues_or_pulls_partial.html +7 -0
  62. data/lib/inq/templates/new_contributors_partial.html +5 -0
  63. data/lib/inq/templates/report.html +19 -0
  64. data/lib/inq/templates/report_partial.html +12 -0
  65. data/lib/inq/text.rb +26 -0
  66. data/lib/inq/version.rb +6 -0
  67. metadata +263 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: a2099c1ae1f39dfc5102c2cd4fe8139c6e1bfd2a08aceef832d1dac6760d8ad8
4
+ data.tar.gz: e2e37d3b222f1cb636e6bdaf26b45608686e974652ad697b32c2b3228614321b
5
+ SHA512:
6
+ metadata.gz: 34d94c4d21b97a5ab9a6824045160014346c4afc00329deec3c868ae6fb5d3868a5fdf295433ccde77d941e5f5443990995669dde16fffcfe9564d1520e3540f
7
+ data.tar.gz: a6f1cf81e74497fcc981990d7d46ed1b985ec15403ebca7d5eed49a7ce813e89caa96bb0e585cd28002d6c821d0e05eecb64a8a1da92eabaad824e57a348b9c9
@@ -0,0 +1,84 @@
1
+ # Allow compute credits usage.
2
+ use_compute_credits: $CIRRUS_USER_COLLABORATOR == 'true'
3
+
4
+ # Use an expired token that was used when fixtures were generated.
5
+ env:
6
+ INQ_GITHUB_USERNAME: "duckinator"
7
+ INQ_GITHUB_TOKEN: "9182777ff3c006795193a570cdac326b64459dc9"
8
+ INQ_USE_ENV: "true"
9
+
10
+ Lint_task:
11
+ container:
12
+ image: ruby:2.6-alpine
13
+ install_script:
14
+ - apk add --no-cache git build-base
15
+ - gem install bundler
16
+ - bundle install
17
+ script:
18
+ - ruby --version
19
+ - bundle exec rubocop
20
+
21
+ Linux_task:
22
+ container:
23
+ matrix:
24
+ - image: ruby:2.4-alpine
25
+ - image: ruby:2.5-alpine
26
+ - image: ruby:2.6-alpine
27
+ install_script:
28
+ - apk add --no-cache git build-base
29
+ - gem install bundler
30
+ - bundle install
31
+ script:
32
+ - ruby --version
33
+ - bundle exec rake spec
34
+
35
+ macOS_task:
36
+ osx_instance:
37
+ image: mojave-base
38
+ env:
39
+ matrix:
40
+ - RUBY_VERSION: 2.5
41
+ - RUBY_VERSION: 2.6
42
+ PATH: "/usr/local/opt/ruby@${RUBY_VERSION}/bin:$HOME/.gem/ruby/${RUBY_VERSION}.0/bin:$PATH"
43
+ install_script:
44
+ # Based on pyenv homebrew recommendations.
45
+ # https://github.com/pyenv/pyenv/wiki#suggested-build-environment
46
+ - sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
47
+ - "brew install ruby@${RUBY_VERSION}"
48
+ - gem install bundler --user-install
49
+ - bundle install
50
+ script:
51
+ - ruby --version
52
+ - bundle exec rake spec
53
+
54
+ # NOTE: The `ruby` package on FreeBSD is currently Ruby 2.4.
55
+ FreeBSD_task:
56
+ freebsd_instance:
57
+ image: freebsd-12-0-release-amd64
58
+ env:
59
+ RUBY_VERSION: 2.4
60
+ install_script:
61
+ - RB=`echo $RUBY_VERSION | tr -d '.'`
62
+ - pkg install -y ruby ruby${RB}-gems rubygem-rake git
63
+ - gem install bundler
64
+ - bundle install
65
+ script:
66
+ - ruby --version
67
+ - bundle exec rake spec
68
+
69
+ Windows_task:
70
+ env:
71
+ matrix:
72
+ - RUBY_VERSION: 2.5.3.101
73
+ - RUBY_VERSION: 2.6.3.1
74
+ windows_container:
75
+ os_version: 2019
76
+ image: cirrusci/windowsservercore:2019
77
+ install_script:
78
+ - choco install -y ruby --version %RUBY_VERSION%
79
+ - refreshenv
80
+ - gem install bundler
81
+ - bundle install
82
+ script:
83
+ - refreshenv
84
+ - bundle exec rake spec
@@ -0,0 +1,23 @@
1
+ ---
2
+ engines:
3
+ bundler-audit:
4
+ enabled: false
5
+ duplication:
6
+ enabled: true
7
+ config:
8
+ languages:
9
+ - ruby
10
+ fixme:
11
+ enabled: true
12
+ rubocop:
13
+ enabled: true
14
+ channel: rubocop-0-49
15
+ ratings:
16
+ paths:
17
+ - Gemfile.lock
18
+ - "**.rb"
19
+ exclude_paths:
20
+ - fixtures/vcr_cassettes/
21
+ - spec/
22
+ - ".bundle/"
23
+ - vendor/
@@ -0,0 +1,2 @@
1
+ user=duckinator
2
+ project=inq
@@ -0,0 +1,15 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+ report.json
11
+ report.html
12
+ !lib/inq/templates/report.html
13
+ *.dat
14
+ *.png
15
+ Thumbs.db
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --format documentation
2
+ --require spec_helper
@@ -0,0 +1,260 @@
1
+ AllCops:
2
+ DisplayCopNames: true
3
+ DisplayStyleGuide: true
4
+ TargetRubyVersion: 2.4
5
+ Exclude:
6
+ - 'inq.gemspec'
7
+ - 'bin/*'
8
+ - '**/*~'
9
+ - 'spec/capture_warnings.rb'
10
+ - 'spec/**/*.rb' # FIXME: Don't exclude this!
11
+ - 'lib/inq/report_collection.rb' # FIXME: Don't exclude this!
12
+ - 'lib/inq/text.rb' # FIXME: Don't exclude this!
13
+
14
+
15
+ # ===== BEGIN TEMPORARY DISABLED THINGS ===
16
+ # TODO: Go through these in detail and enable/configure any we want.
17
+
18
+ Style/RescueStandardError: # FIXME: Don't disable this.
19
+ Enabled: false
20
+
21
+ Style/SafeNavigation:
22
+ Enabled: false
23
+
24
+ Naming/MemoizedInstanceVariableName: # FIXME: Don't disable this.
25
+ Enabled: false
26
+
27
+ Style/AccessModifierDeclarations: # ??? wtf?
28
+ Enabled: false
29
+
30
+ Layout/AlignArguments: # I Really thought this was already enabled.
31
+ Enabled: false
32
+
33
+ Style/MutableConstant: # FIXME: Don't disable this.
34
+ Enabled: false
35
+
36
+ Naming/HeredocDelimiterNaming: # FIXME: Don't disable this.
37
+ Enabled: false
38
+
39
+ Style/EmptyLambdaParameter: # FIXME: Don't disable this.
40
+ Enabled: false
41
+
42
+ Naming/UncommunicativeMethodParamName: # FIXME: Probably don't disable this.
43
+ Enabled: false
44
+
45
+ # ===== END TEMPORARY DISABLED THINGS ===
46
+
47
+
48
+
49
+ # Exceptions should inherit from StandardError.
50
+ # (RuboCop default is to inherit from RuntimeError.)
51
+ Lint/InheritException:
52
+ EnforcedStyle: standard_error
53
+
54
+ Metrics/AbcSize:
55
+ Max: 17
56
+
57
+ Metrics/BlockLength:
58
+ Exclude:
59
+ - 'spec/**/*_spec.rb'
60
+
61
+
62
+ # Getting this back to the default of 100 would be nice,
63
+ # but the few cases that exceed it don't seem overly concerning.
64
+ Metrics/ClassLength:
65
+ Max: 130
66
+
67
+ # Still try for 80, but we'll allow 110 because there's a not-insignificant
68
+ # number of cases where we have long lines.
69
+ #
70
+ # It may be worth revisiting this in the future and refactoring those lines.
71
+ Metrics/LineLength:
72
+ Max: 120
73
+ AllowHeredoc: true
74
+
75
+ # Too short methods lead to extraction of single-use methods, which can make
76
+ # the code easier to read (by naming things), but can also clutter the class
77
+ Metrics/MethodLength:
78
+ Max: 25
79
+
80
+ Style/Alias:
81
+ EnforcedStyle: prefer_alias_method
82
+
83
+ # Most readable form.
84
+ Layout/AlignHash:
85
+ EnforcedHashRocketStyle: table
86
+ EnforcedColonStyle: table
87
+ # Disable because it wound up conflicting with a lot of things like:
88
+ # foo('bar',
89
+ # baz: 'asdf',
90
+ # beep: 'boop')
91
+ #
92
+ # I suspect these'll disappear when overarching architectural issues are
93
+ # addressed.
94
+ Enabled: false
95
+
96
+ Layout/AlignParameters:
97
+ # See Style/AlignedHash.
98
+ Enabled: false
99
+
100
+ # This codebase may be English, but some English words contain diacritics.
101
+ Style/AsciiComments:
102
+ Enabled: false
103
+
104
+ # Despite the fact that some English words contain diacritics, we want all
105
+ # method names to be writable by people who don't have an easy way to type
106
+ # words with diacritics.
107
+ Naming/AsciiIdentifiers:
108
+ Enabled: true
109
+
110
+ # { ... } for multi-line blocks is okay, follow Weirichs rule instead:
111
+ # https://web.archive.org/web/20140221124509/http://onestepback.org/index.cgi/Tech/Ruby/BraceVsDoEnd.rdoc
112
+ Style/BlockDelimiters:
113
+ Enabled: false
114
+
115
+ # There's more nuance around this than RuboCop seems capable of.
116
+ Style/BracesAroundHashParameters:
117
+ Enabled: false
118
+
119
+ Style/ConditionalAssignment:
120
+ Enabled: false
121
+
122
+ # Don't force use of Time or Date; DateTime is okay.
123
+ Style/DateTime:
124
+ Enabled: false
125
+
126
+ # Unicode is good, mkay?
127
+ Style/Encoding:
128
+ Enabled: true
129
+
130
+ # Force Unix line endings.
131
+ Layout/EndOfLine:
132
+ Enabled: true
133
+ EnforcedStyle: lf
134
+
135
+ Layout/EmptyLineAfterGuardClause:
136
+ Enabled: false
137
+
138
+ # A lot of the approaches I use for making things readable makes this angry.
139
+ # E.g., formatting multiple consecutive assignments so that the equal signs
140
+ # and values line up.
141
+ #
142
+ # foobar = 'blah'
143
+ # baz = 'asdf'
144
+ # beep = 'boop'
145
+ Layout/ExtraSpacing:
146
+ Enabled: false
147
+
148
+ # # bad
149
+ #
150
+ # format('%<greeting>s', greeting: 'Hello')
151
+ # format('%s', 'Hello')
152
+ #
153
+ # # good
154
+ #
155
+ # format('%{greeting}', greeting: 'Hello')
156
+ Style/FormatStringToken:
157
+ EnforcedStyle: template
158
+
159
+ # Freeze string literals to future-proof the code.
160
+ Style/FrozenStringLiteralComment:
161
+ Enabled: true
162
+ EnforcedStyle: always
163
+
164
+ # Mixing hash styles just looks silly.
165
+ # http://www.rubydoc.info/gems/rubocop/RuboCop/Cop/Style/HashSyntax
166
+ Style/HashSyntax:
167
+ EnforcedStyle: no_mixed_keys
168
+
169
+ Layout/IndentFirstHashElement:
170
+ Enabled: true
171
+ EnforcedStyle: consistent
172
+
173
+ Layout/IndentFirstArrayElement:
174
+ Enabled: true
175
+ EnforcedStyle: consistent
176
+
177
+ # I deplore assignments in conditions and never want them in any codebase
178
+ # I have direct control over.
179
+ Style/ParenthesesAroundCondition:
180
+ AllowSafeAssignment: false
181
+ Lint/AssignmentInCondition:
182
+ AllowSafeAssignment: false
183
+
184
+ # Use [] for `%`-literal delimiters (e.g. for %q[]) that RuboCop doesn't define
185
+ # anything for. (E.g., %q[].)
186
+ #
187
+ # The reason I prefer [] instead of () is that most of the time I use
188
+ # `%`-literals is inside of function calls, and using () makes it blend in too
189
+ # much.
190
+ Style/PercentLiteralDelimiters:
191
+ Enabled: true
192
+ PreferredDelimiters:
193
+ default: "[]"
194
+ '%w': '[]'
195
+ '%W': '[]'
196
+
197
+ # `has_key?` and `has_value?` are clearer than `key?` and `value?`.
198
+ Style/PreferredHashMethods:
199
+ Enabled: true
200
+ EnforcedStyle: verbose
201
+
202
+ # do / end blocks should be used for side effects,
203
+ # methods that run a block for side effects and have
204
+ # a useful return value are rare, assign the return
205
+ # value to a local variable for those cases.
206
+ Style/MethodCalledOnDoEndBlock:
207
+ Enabled: true
208
+
209
+ # Indent method calls relative to the receiver, e.g.:
210
+ # foo \
211
+ # .bar \
212
+ # .baz \
213
+ # .asdf
214
+ Layout/MultilineMethodCallIndentation:
215
+ EnforcedStyle: indented_relative_to_receiver
216
+
217
+ # Indenting the chained dots beneath each other is not supported by this cop,
218
+ # see https://github.com/bbatsov/rubocop/issues/1633
219
+ Layout/MultilineOperationIndentation:
220
+ Enabled: false
221
+
222
+ # {'foo' => 'bar'} not { 'foo' => 'bar' }
223
+ Layout/SpaceInsideHashLiteralBraces:
224
+ Enabled: true
225
+ EnforcedStyle: no_space
226
+
227
+ # I find "foo > 0" more readable than "foo.positive?" personally.
228
+ Style/NumericPredicate:
229
+ Enabled: false
230
+
231
+ # https://www.rubydoc.info/gems/rubocop/RuboCop/Cop/Style/RegexpLiteral
232
+ Style/RegexpLiteral:
233
+ Enabled: false
234
+
235
+ # Use double quotes everywhere by default.
236
+ Style/StringLiterals:
237
+ EnforcedStyle: double_quotes
238
+
239
+ # Prefer [:foo, :bar] over %i[foo bar].
240
+ Style/SymbolArray:
241
+ Enabled: true
242
+ EnforcedStyle: brackets
243
+
244
+ # Prefer ["foo", "bar"] over %w[foo bar].
245
+ Style/WordArray:
246
+ Enabled: true
247
+ EnforcedStyle: brackets
248
+
249
+ # Require parentheses around complex ternary conditions.
250
+ Style/TernaryParentheses:
251
+ Enabled: true
252
+ EnforcedStyle: require_parentheses_when_complex
253
+
254
+ # Require a comma after the last item in an array or hash if each item is on
255
+ # its own line.
256
+ Style/TrailingCommaInArrayLiteral:
257
+ EnforcedStyleForMultiline: comma
258
+
259
+ Style/TrailingCommaInHashLiteral:
260
+ EnforcedStyleForMultiline: comma
@@ -0,0 +1,24 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.4
4
+ - 2.5
5
+ - 2.6
6
+ - ruby-head
7
+
8
+ matrix:
9
+ allow_failures:
10
+ - rvm:
11
+ - ruby-head
12
+
13
+ before_install:
14
+ - gem install bundler
15
+
16
+ # See https://bors.tech/documentation/getting-started/
17
+ branches:
18
+ only:
19
+ # This is where pull requests from "bors r+" are built.
20
+ - staging
21
+ # This is where pull requests from "bors try" are built.
22
+ - trying
23
+ # Build pull requests.
24
+ - master
@@ -0,0 +1,499 @@
1
+ # Change Log
2
+
3
+ ## [v26.0.0](https://github.com/duckinator/inq/tree/v26.0.0) (2019-05-03)
4
+ [Full Changelog](https://github.com/duckinator/inq/compare/v25.0.0...v26.0.0)
5
+
6
+ **Closed issues:**
7
+
8
+ - Define/add APIs used by HowIs-compat gem [\#275](https://github.com/duckinator/inq/issues/275)
9
+ - Rename to inq [\#258](https://github.com/duckinator/inq/issues/258)
10
+
11
+ **Merged pull requests:**
12
+
13
+ - Implement APIs for HowIs compatibility gem. [\#276](https://github.com/duckinator/inq/pull/276) ([duckinator](https://github.com/duckinator))
14
+ - Attempt to add Cirrus CI support. [\#273](https://github.com/duckinator/inq/pull/273) ([duckinator](https://github.com/duckinator))
15
+ - Rename HowIs to Inq. [\#271](https://github.com/duckinator/inq/pull/271) ([duckinator](https://github.com/duckinator))
16
+
17
+ ## [v25.0.0](https://github.com/duckinator/inq/tree/v25.0.0) (2019-04-26)
18
+ [Full Changelog](https://github.com/duckinator/inq/compare/v24.0.0...v25.0.0)
19
+
20
+ **Closed issues:**
21
+
22
+ - Image example of report.html [\#260](https://github.com/duckinator/inq/issues/260)
23
+ - Alternative to "Issues Per Label" section [\#245](https://github.com/duckinator/inq/issues/245)
24
+ - Travis CI: Configure HOWIS\_BASIC\_AUTH et al [\#240](https://github.com/duckinator/inq/issues/240)
25
+ - "Issues per label" missing issues. [\#230](https://github.com/duckinator/inq/issues/230)
26
+ - resolve codeclimate issues [\#227](https://github.com/duckinator/inq/issues/227)
27
+ - no implicit conversion of nil into String \(TypeError\) [\#222](https://github.com/duckinator/inq/issues/222)
28
+ - Document PR process [\#198](https://github.com/duckinator/inq/issues/198)
29
+ - Better visualization of 'Issues Per Label' section [\#152](https://github.com/duckinator/inq/issues/152)
30
+ - Exporting to HTML file returns HTML partial [\#151](https://github.com/duckinator/inq/issues/151)
31
+ - Track data over time [\#111](https://github.com/duckinator/inq/issues/111)
32
+ - group Issues Per Label by category type [\#71](https://github.com/duckinator/inq/issues/71)
33
+ - Use authentication [\#6](https://github.com/duckinator/inq/issues/6)
34
+ - Add ReportCollection\#save\_all [\#257](https://github.com/duckinator/inq/issues/257)
35
+ - Support project configs with multiple repositories. [\#256](https://github.com/duckinator/inq/issues/256)
36
+ - Show progress while generating reports [\#255](https://github.com/duckinator/inq/issues/255)
37
+ - Use config file instead of env vars [\#253](https://github.com/duckinator/inq/issues/253)
38
+ - Include new contributors in reports [\#248](https://github.com/duckinator/inq/issues/248)
39
+ - Remove "Issues per Label" section. [\#244](https://github.com/duckinator/inq/issues/244)
40
+ - Refactor how\_is/cli.rb [\#243](https://github.com/duckinator/inq/issues/243)
41
+ - Refactor Sources::Github.basic\_auth [\#241](https://github.com/duckinator/inq/issues/241)
42
+
43
+ **Merged pull requests:**
44
+
45
+ - Update changelog [\#270](https://github.com/duckinator/inq/pull/270) ([duckinator](https://github.com/duckinator))
46
+ - Version bump to v25.0.0. [\#269](https://github.com/duckinator/inq/pull/269) ([duckinator](https://github.com/duckinator))
47
+ - Multi repo configs [\#268](https://github.com/duckinator/inq/pull/268) ([duckinator](https://github.com/duckinator))
48
+ - Remove dead code. [\#266](https://github.com/duckinator/inq/pull/266) ([duckinator](https://github.com/duckinator))
49
+ - yay documentation! [\#265](https://github.com/duckinator/inq/pull/265) ([duckinator](https://github.com/duckinator))
50
+ - Add caching mechanism to speed up duplicate runs [\#263](https://github.com/duckinator/inq/pull/263) ([jules2689](https://github.com/jules2689))
51
+ - README: Add screenshot [\#261](https://github.com/duckinator/inq/pull/261) ([olleolleolle](https://github.com/olleolleolle))
52
+ - Clean up reports [\#259](https://github.com/duckinator/inq/pull/259) ([duckinator](https://github.com/duckinator))
53
+ - Refactor; support config files. [\#254](https://github.com/duckinator/inq/pull/254) ([duckinator](https://github.com/duckinator))
54
+ - HowIs::CLI refactor [\#252](https://github.com/duckinator/inq/pull/252) ([duckinator](https://github.com/duckinator))
55
+ - update build-debug.rb script [\#251](https://github.com/duckinator/inq/pull/251) ([duckinator](https://github.com/duckinator))
56
+ - update supported Ruby versions [\#250](https://github.com/duckinator/inq/pull/250) ([duckinator](https://github.com/duckinator))
57
+ - Misc cleanup [\#249](https://github.com/duckinator/inq/pull/249) ([duckinator](https://github.com/duckinator))
58
+ - Refactor GitHub authentication [\#247](https://github.com/duckinator/inq/pull/247) ([duckinator](https://github.com/duckinator))
59
+ - Document PR and issue management processes. [\#246](https://github.com/duckinator/inq/pull/246) ([duckinator](https://github.com/duckinator))
60
+ - Skip tests that require an access token if running as a PR build. [\#242](https://github.com/duckinator/inq/pull/242) ([duckinator](https://github.com/duckinator))
61
+ - README: fix typo [\#239](https://github.com/duckinator/inq/pull/239) ([olleolleolle](https://github.com/olleolleolle))
62
+ - Enable the executable flag \(chmod +x\) for bin/setup [\#238](https://github.com/duckinator/inq/pull/238) ([olleolleolle](https://github.com/olleolleolle))
63
+ - Only throw errors for undefined env vars if they're used. [\#237](https://github.com/duckinator/inq/pull/237) ([duckinator](https://github.com/duckinator))
64
+ - README: Drop Gemnasium badge [\#236](https://github.com/duckinator/inq/pull/236) ([olleolleolle](https://github.com/olleolleolle))
65
+ - Rubocop-related cleanup [\#235](https://github.com/duckinator/inq/pull/235) ([duckinator](https://github.com/duckinator))
66
+ - Refactor cli [\#234](https://github.com/duckinator/inq/pull/234) ([duckinator](https://github.com/duckinator))
67
+ - Refactor 2 [\#233](https://github.com/duckinator/inq/pull/233) ([duckinator](https://github.com/duckinator))
68
+ - Fix Rubocop warnings. [\#232](https://github.com/duckinator/inq/pull/232) ([duckinator](https://github.com/duckinator))
69
+ - Refactor [\#231](https://github.com/duckinator/inq/pull/231) ([duckinator](https://github.com/duckinator))
70
+ - Miscellaneous cleanup. [\#229](https://github.com/duckinator/inq/pull/229) ([duckinator](https://github.com/duckinator))
71
+ - CLI Refactor [\#228](https://github.com/duckinator/inq/pull/228) ([duckinator](https://github.com/duckinator))
72
+ - \[WIP\] Collect CI information. [\#226](https://github.com/duckinator/inq/pull/226) ([duckinator](https://github.com/duckinator))
73
+
74
+ ## [v24.0.0](https://github.com/duckinator/inq/tree/v24.0.0) (2018-03-17)
75
+ [Full Changelog](https://github.com/duckinator/inq/compare/v23.0.0...v24.0.0)
76
+
77
+ **Merged pull requests:**
78
+
79
+ - bump version to v24.0.0; add json dependency; add future\_changelog Rake task [\#225](https://github.com/duckinator/inq/pull/225) ([duckinator](https://github.com/duckinator))
80
+ - Improve error output; update README. [\#224](https://github.com/duckinator/inq/pull/224) ([duckinator](https://github.com/duckinator))
81
+ - update .travis.yml. [\#223](https://github.com/duckinator/inq/pull/223) ([duckinator](https://github.com/duckinator))
82
+
83
+ ## [v23.0.0](https://github.com/duckinator/inq/tree/v23.0.0) (2018-01-19)
84
+ [Full Changelog](https://github.com/duckinator/inq/compare/v22.0.0...v23.0.0)
85
+
86
+ **Merged pull requests:**
87
+
88
+ - Make config-based reports work again. [\#221](https://github.com/duckinator/inq/pull/221) ([duckinator](https://github.com/duckinator))
89
+
90
+ ## [v22.0.0](https://github.com/duckinator/inq/tree/v22.0.0) (2018-01-19)
91
+ [Full Changelog](https://github.com/duckinator/inq/compare/v21.0.0...v22.0.0)
92
+
93
+ **Merged pull requests:**
94
+
95
+ - Make CLI parser store the date when passed --config. [\#220](https://github.com/duckinator/inq/pull/220) ([duckinator](https://github.com/duckinator))
96
+ - Update readme [\#219](https://github.com/duckinator/inq/pull/219) ([duckinator](https://github.com/duckinator))
97
+
98
+ ## [v21.0.0](https://github.com/duckinator/inq/tree/v21.0.0) (2018-01-19)
99
+ [Full Changelog](https://github.com/duckinator/inq/compare/v20.0.0...v21.0.0)
100
+
101
+ **Merged pull requests:**
102
+
103
+ - Release v21.0.0 [\#218](https://github.com/duckinator/inq/pull/218) ([duckinator](https://github.com/duckinator))
104
+ - Idempotent reports [\#217](https://github.com/duckinator/inq/pull/217) ([duckinator](https://github.com/duckinator))
105
+
106
+ ## [v20.0.0](https://github.com/duckinator/inq/tree/v20.0.0) (2017-12-22)
107
+ [Full Changelog](https://github.com/duckinator/inq/compare/v19.0.0...v20.0.0)
108
+
109
+ **Closed issues:**
110
+
111
+ - Figure out why CodeClimate is unhappy [\#200](https://github.com/duckinator/inq/issues/200)
112
+ - Refactor + improve tests for Contributions class [\#194](https://github.com/duckinator/inq/issues/194)
113
+ - Analysis/Analyzer refactor. [\#142](https://github.com/duckinator/inq/issues/142)
114
+ - Make internal-only methods private [\#138](https://github.com/duckinator/inq/issues/138)
115
+ - Export cleanup [\#133](https://github.com/duckinator/inq/issues/133)
116
+ - Use APIs instead of scraping /pulse [\#122](https://github.com/duckinator/inq/issues/122)
117
+ - Rake task for clearing VCR cache [\#95](https://github.com/duckinator/inq/issues/95)
118
+
119
+ **Merged pull requests:**
120
+
121
+ - version bump to v20.0.0. :3 [\#216](https://github.com/duckinator/inq/pull/216) ([duckinator](https://github.com/duckinator))
122
+ - Partial rewrite [\#215](https://github.com/duckinator/inq/pull/215) ([duckinator](https://github.com/duckinator))
123
+ - switch from Tessellator::Fetcher to Okay::HTTP. [\#214](https://github.com/duckinator/inq/pull/214) ([duckinator](https://github.com/duckinator))
124
+ - Remove XPulse class. [\#213](https://github.com/duckinator/inq/pull/213) ([duckinator](https://github.com/duckinator))
125
+ - Switch from Pulse to Contributions [\#212](https://github.com/duckinator/inq/pull/212) ([duckinator](https://github.com/duckinator))
126
+ - Gem: github\_api 0.18.1 [\#211](https://github.com/duckinator/inq/pull/211) ([olleolleolle](https://github.com/olleolleolle))
127
+ - Add tests for Contributions class [\#210](https://github.com/duckinator/inq/pull/210) ([duckinator](https://github.com/duckinator))
128
+ - Refactor [\#209](https://github.com/duckinator/inq/pull/209) ([duckinator](https://github.com/duckinator))
129
+ - use stable version of pry since there's no longer a conflict with slop [\#208](https://github.com/duckinator/inq/pull/208) ([duckinator](https://github.com/duckinator))
130
+ - add icons to README for Waffle.io, Travis, Code Climate, RubyGems, Gemnasium. [\#207](https://github.com/duckinator/inq/pull/207) ([duckinator](https://github.com/duckinator))
131
+
132
+ ## [v19.0.0](https://github.com/duckinator/inq/tree/v19.0.0) (2017-09-16)
133
+ [Full Changelog](https://github.com/duckinator/inq/compare/v18.1.0...v19.0.0)
134
+
135
+ **Closed issues:**
136
+
137
+ - move away from slop bc of conflicts [\#202](https://github.com/duckinator/inq/issues/202)
138
+ - Contributions: look up default\_branch in GitHub API [\#195](https://github.com/duckinator/inq/issues/195)
139
+ - Only enable VCR when used [\#185](https://github.com/duckinator/inq/issues/185)
140
+
141
+ **Merged pull requests:**
142
+
143
+ - bump version to 19.0.0; update changelog [\#206](https://github.com/duckinator/inq/pull/206) ([duckinator](https://github.com/duckinator))
144
+ - Move away from slop [\#205](https://github.com/duckinator/inq/pull/205) ([duckinator](https://github.com/duckinator))
145
+ - add .codeclimate.yml [\#204](https://github.com/duckinator/inq/pull/204) ([duckinator](https://github.com/duckinator))
146
+ - quick refactor of spec/capture\_warnings. [\#203](https://github.com/duckinator/inq/pull/203) ([duckinator](https://github.com/duckinator))
147
+ - \[docs\] YARD annotation for example [\#201](https://github.com/duckinator/inq/pull/201) ([olleolleolle](https://github.com/olleolleolle))
148
+ - Refactor: introduce pretty\_date\(date\) [\#199](https://github.com/duckinator/inq/pull/199) ([olleolleolle](https://github.com/olleolleolle))
149
+ - update VCR fixture [\#197](https://github.com/duckinator/inq/pull/197) ([duckinator](https://github.com/duckinator))
150
+ - Contributions: default\_branch fetching [\#196](https://github.com/duckinator/inq/pull/196) ([olleolleolle](https://github.com/olleolleolle))
151
+ - update tessellator-fetcher to ~\>5.0.2 [\#193](https://github.com/duckinator/inq/pull/193) ([duckinator](https://github.com/duckinator))
152
+ - Builds: a Travis CI API fetcher [\#192](https://github.com/duckinator/inq/pull/192) ([olleolleolle](https://github.com/olleolleolle))
153
+ - Contributions: YARD docblock type typo; typos [\#191](https://github.com/duckinator/inq/pull/191) ([olleolleolle](https://github.com/olleolleolle))
154
+
155
+ ## [v18.1.0](https://github.com/duckinator/inq/tree/v18.1.0) (2017-08-06)
156
+ [Full Changelog](https://github.com/duckinator/inq/compare/v18.0.5...v18.1.0)
157
+
158
+ **Merged pull requests:**
159
+
160
+ - bump version -- 18.1.0 [\#190](https://github.com/duckinator/inq/pull/190) ([duckinator](https://github.com/duckinator))
161
+ - Replace Pulse scraping with API calls [\#187](https://github.com/duckinator/inq/pull/187) ([duckinator](https://github.com/duckinator))
162
+
163
+ ## [v18.0.5](https://github.com/duckinator/inq/tree/v18.0.5) (2017-08-06)
164
+ [Full Changelog](https://github.com/duckinator/inq/compare/v18.0.4...v18.0.5)
165
+
166
+ **Closed issues:**
167
+
168
+ - Track new contributors [\#172](https://github.com/duckinator/inq/issues/172)
169
+ - Stop using hashie's master branch [\#168](https://github.com/duckinator/inq/issues/168)
170
+ - Include JSON reports in HTML reports [\#110](https://github.com/duckinator/inq/issues/110)
171
+
172
+ **Merged pull requests:**
173
+
174
+ - version bump -- v18.0.5 [\#188](https://github.com/duckinator/inq/pull/188) ([duckinator](https://github.com/duckinator))
175
+ - re-add Gemfile.lock to .gitignore [\#186](https://github.com/duckinator/inq/pull/186) ([duckinator](https://github.com/duckinator))
176
+ - List new contributors during period [\#184](https://github.com/duckinator/inq/pull/184) ([olleolleolle](https://github.com/olleolleolle))
177
+ - Remove Gemfile.lock. [\#183](https://github.com/duckinator/inq/pull/183) ([duckinator](https://github.com/duckinator))
178
+ - Gemfile: add pry as Git dep [\#182](https://github.com/duckinator/inq/pull/182) ([olleolleolle](https://github.com/olleolleolle))
179
+ - Add config file for github\_changelog\_generator [\#179](https://github.com/duckinator/inq/pull/179) ([olleolleolle](https://github.com/olleolleolle))
180
+ - RuboCop linting [\#178](https://github.com/duckinator/inq/pull/178) ([olleolleolle](https://github.com/olleolleolle))
181
+ - Use github\_changelog\_generator for generating the changelog. [\#177](https://github.com/duckinator/inq/pull/177) ([duckinator](https://github.com/duckinator))
182
+ - Include name of rules in RuboCop output [\#175](https://github.com/duckinator/inq/pull/175) ([olleolleolle](https://github.com/olleolleolle))
183
+ - Rubocop 0.49.1 [\#174](https://github.com/duckinator/inq/pull/174) ([olleolleolle](https://github.com/olleolleolle))
184
+ - Rubocop warning removal [\#173](https://github.com/duckinator/inq/pull/173) ([olleolleolle](https://github.com/olleolleolle))
185
+
186
+ ## [v18.0.4](https://github.com/duckinator/inq/tree/v18.0.4) (2017-07-14)
187
+ [Full Changelog](https://github.com/duckinator/inq/compare/v18.0.3...v18.0.4)
188
+
189
+ **Closed issues:**
190
+
191
+ - HowIs::CLI refactor [\#156](https://github.com/duckinator/inq/issues/156)
192
+ - "Invalid file" error doesn't include filename. [\#155](https://github.com/duckinator/inq/issues/155)
193
+ - No report and Hashie::Mash\#default warnings [\#154](https://github.com/duckinator/inq/issues/154)
194
+ - Remove from\_config\_file from docs [\#153](https://github.com/duckinator/inq/issues/153)
195
+ - Fix warnings when running `rake spec` [\#124](https://github.com/duckinator/inq/issues/124)
196
+ - Number of issues closed in the past month [\#106](https://github.com/duckinator/inq/issues/106)
197
+ - Number of PRs merged in the past month. [\#105](https://github.com/duckinator/inq/issues/105)
198
+ - Number of PRs/issues opened in past month [\#99](https://github.com/duckinator/inq/issues/99)
199
+ - Number of PRs/issues not updated in the past month [\#87](https://github.com/duckinator/inq/issues/87)
200
+
201
+ **Merged pull requests:**
202
+
203
+ - Release v18 0 4 [\#171](https://github.com/duckinator/inq/pull/171) ([duckinator](https://github.com/duckinator))
204
+ - Use Hashie stable; update Gemfile/add Gemfile.lock [\#170](https://github.com/duckinator/inq/pull/170) ([duckinator](https://github.com/duckinator))
205
+ - Pass -w to Ruby when running 'rake spec'. [\#169](https://github.com/duckinator/inq/pull/169) ([duckinator](https://github.com/duckinator))
206
+ - Rubocop cleanup [\#167](https://github.com/duckinator/inq/pull/167) ([duckinator](https://github.com/duckinator))
207
+ - Gemfile: use Hashie from master branch [\#166](https://github.com/duckinator/inq/pull/166) ([olleolleolle](https://github.com/olleolleolle))
208
+ - Update github\_api, contracts to latest [\#165](https://github.com/duckinator/inq/pull/165) ([olleolleolle](https://github.com/olleolleolle))
209
+ - Fix \(a significant number of\) RuboCop violations. [\#162](https://github.com/duckinator/inq/pull/162) ([duckinator](https://github.com/duckinator))
210
+ - README: Drop from\_config\_file reference [\#161](https://github.com/duckinator/inq/pull/161) ([olleolleolle](https://github.com/olleolleolle))
211
+ - move rubocop dep to gemspec [\#160](https://github.com/duckinator/inq/pull/160) ([duckinator](https://github.com/duckinator))
212
+
213
+ ## [v18.0.3](https://github.com/duckinator/inq/tree/v18.0.3) (2017-05-25)
214
+ [Full Changelog](https://github.com/duckinator/inq/compare/v18.0.2...v18.0.3)
215
+
216
+ **Closed issues:**
217
+
218
+ - Issue: report.html renders only \#\<HowIs:0x007fae56966700\> [\#149](https://github.com/duckinator/inq/issues/149)
219
+ - Make CONFIG\_FILE optional when using --config. [\#41](https://github.com/duckinator/inq/issues/41)
220
+
221
+ **Merged pull requests:**
222
+
223
+ - v18.0.3 -- CHANGELOG and version bump. [\#159](https://github.com/duckinator/inq/pull/159) ([duckinator](https://github.com/duckinator))
224
+ - Add RuboCop config [\#158](https://github.com/duckinator/inq/pull/158) ([duckinator](https://github.com/duckinator))
225
+ - CLI parser refactor [\#157](https://github.com/duckinator/inq/pull/157) ([duckinator](https://github.com/duckinator))
226
+ - exe/how\_is: Reinstate to\_json, to\_html [\#150](https://github.com/duckinator/inq/pull/150) ([olleolleolle](https://github.com/olleolleolle))
227
+
228
+ ## [v18.0.2](https://github.com/duckinator/inq/tree/v18.0.2) (2017-03-05)
229
+ [Full Changelog](https://github.com/duckinator/inq/compare/v18.0.1...v18.0.2)
230
+
231
+ **Merged pull requests:**
232
+
233
+ - v18.0.2 - Remove unnecessary .send\(\) call in exe/how\_is. [\#148](https://github.com/duckinator/inq/pull/148) ([duckinator](https://github.com/duckinator))
234
+
235
+ ## [v18.0.1](https://github.com/duckinator/inq/tree/v18.0.1) (2017-03-05)
236
+ [Full Changelog](https://github.com/duckinator/inq/compare/v18.0.0...v18.0.1)
237
+
238
+ **Merged pull requests:**
239
+
240
+ - v18.0.1 - fix --config flag [\#147](https://github.com/duckinator/inq/pull/147) ([duckinator](https://github.com/duckinator))
241
+
242
+ ## [v18.0.0](https://github.com/duckinator/inq/tree/v18.0.0) (2017-03-05)
243
+ [Full Changelog](https://github.com/duckinator/inq/compare/v17.0.0...v18.0.0)
244
+
245
+ **Closed issues:**
246
+
247
+ - Determine what is using open-uri [\#140](https://github.com/duckinator/inq/issues/140)
248
+ - :from != :from\_file [\#137](https://github.com/duckinator/inq/issues/137)
249
+ - Move --from documentation to README [\#136](https://github.com/duckinator/inq/issues/136)
250
+ - Why is rack required? [\#135](https://github.com/duckinator/inq/issues/135)
251
+ - Is :from\_file still an option? [\#134](https://github.com/duckinator/inq/issues/134)
252
+ - Move from\_config/from\_config\_file out of HowIs::CLI [\#52](https://github.com/duckinator/inq/issues/52)
253
+
254
+ **Merged pull requests:**
255
+
256
+ - v18.0.0 release [\#146](https://github.com/duckinator/inq/pull/146) ([duckinator](https://github.com/duckinator))
257
+ - Add HowIs.from\_hash method [\#144](https://github.com/duckinator/inq/pull/144) ([indirect](https://github.com/indirect))
258
+ - Move documentation from design/ to README. [\#143](https://github.com/duckinator/inq/pull/143) ([duckinator](https://github.com/duckinator))
259
+ - Fix --from. [\#141](https://github.com/duckinator/inq/pull/141) ([duckinator](https://github.com/duckinator))
260
+ - Unpin Rack version. [\#139](https://github.com/duckinator/inq/pull/139) ([duckinator](https://github.com/duckinator))
261
+ - Documentation! [\#132](https://github.com/duckinator/inq/pull/132) ([duckinator](https://github.com/duckinator))
262
+ - Remove shebang line from lib/ file. [\#131](https://github.com/duckinator/inq/pull/131) ([duckinator](https://github.com/duckinator))
263
+ - Fix URL in gemspec. [\#130](https://github.com/duckinator/inq/pull/130) ([duckinator](https://github.com/duckinator))
264
+ - Gemspec: Description grammar [\#129](https://github.com/duckinator/inq/pull/129) ([olleolleolle](https://github.com/olleolleolle))
265
+
266
+ ## [v17.0.0](https://github.com/duckinator/inq/tree/v17.0.0) (2017-02-09)
267
+ [Full Changelog](https://github.com/duckinator/inq/compare/v16.0.0...v17.0.0)
268
+
269
+ **Merged pull requests:**
270
+
271
+ - Make from\_json parse ALL dates, not just some of them. [\#128](https://github.com/duckinator/inq/pull/128) ([duckinator](https://github.com/duckinator))
272
+
273
+ ## [v16.0.0](https://github.com/duckinator/inq/tree/v16.0.0) (2017-02-09)
274
+ [Full Changelog](https://github.com/duckinator/inq/compare/v15.0.0...v16.0.0)
275
+
276
+ **Merged pull requests:**
277
+
278
+ - Make from\_json\(\) parse dates. [\#127](https://github.com/duckinator/inq/pull/127) ([duckinator](https://github.com/duckinator))
279
+
280
+ ## [v15.0.0](https://github.com/duckinator/inq/tree/v15.0.0) (2017-02-09)
281
+ [Full Changelog](https://github.com/duckinator/inq/compare/v14.0.0...v15.0.0)
282
+
283
+ **Closed issues:**
284
+
285
+ - include data from GitHub Pulse in Analysis [\#116](https://github.com/duckinator/inq/issues/116)
286
+
287
+ **Merged pull requests:**
288
+
289
+ - Implement HowIs.from\_json\(\). [\#126](https://github.com/duckinator/inq/pull/126) ([duckinator](https://github.com/duckinator))
290
+
291
+ ## [v14.0.0](https://github.com/duckinator/inq/tree/v14.0.0) (2017-02-09)
292
+ [Full Changelog](https://github.com/duckinator/inq/compare/v13.0.0...v14.0.0)
293
+
294
+ **Closed issues:**
295
+
296
+ - Remove dead code [\#121](https://github.com/duckinator/inq/issues/121)
297
+ - Update documentation with API changes [\#118](https://github.com/duckinator/inq/issues/118)
298
+ - design an API [\#115](https://github.com/duckinator/inq/issues/115)
299
+ - correct readme [\#114](https://github.com/duckinator/inq/issues/114)
300
+
301
+ **Merged pull requests:**
302
+
303
+ - Include Pulse data in JSON reports. [\#125](https://github.com/duckinator/inq/pull/125) ([duckinator](https://github.com/duckinator))
304
+ - Remove dead code. [\#123](https://github.com/duckinator/inq/pull/123) ([duckinator](https://github.com/duckinator))
305
+ - Update README.md about API redesign. [\#120](https://github.com/duckinator/inq/pull/120) ([duckinator](https://github.com/duckinator))
306
+ - CHANGELOG typo [\#119](https://github.com/duckinator/inq/pull/119) ([olleolleolle](https://github.com/olleolleolle))
307
+
308
+ ## [v13.0.0](https://github.com/duckinator/inq/tree/v13.0.0) (2017-02-09)
309
+ [Full Changelog](https://github.com/duckinator/inq/compare/v12.0.0...v13.0.0)
310
+
311
+ **Closed issues:**
312
+
313
+ - Add ISSUES.md [\#102](https://github.com/duckinator/inq/issues/102)
314
+ - Have change log link to tags [\#100](https://github.com/duckinator/inq/issues/100)
315
+
316
+ **Merged pull requests:**
317
+
318
+ - API redesign [\#117](https://github.com/duckinator/inq/pull/117) ([duckinator](https://github.com/duckinator))
319
+ - Update README.md [\#113](https://github.com/duckinator/inq/pull/113) ([duckinator](https://github.com/duckinator))
320
+ - remove pdfs and relax rack version [\#112](https://github.com/duckinator/inq/pull/112) ([indirect](https://github.com/indirect))
321
+ - \[design.md\] add 'information about how\_is' section. [\#109](https://github.com/duckinator/inq/pull/109) ([duckinator](https://github.com/duckinator))
322
+ - Specifications [\#108](https://github.com/duckinator/inq/pull/108) ([duckinator](https://github.com/duckinator))
323
+ - Have CHANGELOG link to code snapshots. [\#107](https://github.com/duckinator/inq/pull/107) ([duckinator](https://github.com/duckinator))
324
+ - Add link for ungrouped issues. [\#104](https://github.com/duckinator/inq/pull/104) ([duckinator](https://github.com/duckinator))
325
+ - Add ISSUES.md. [\#103](https://github.com/duckinator/inq/pull/103) ([duckinator](https://github.com/duckinator))
326
+ - CLI warning on single-word repository argument [\#98](https://github.com/duckinator/inq/pull/98) ([olleolleolle](https://github.com/olleolleolle))
327
+
328
+ ## [v12.0.0](https://github.com/duckinator/inq/tree/v12.0.0) (2016-12-11)
329
+ [Full Changelog](https://github.com/duckinator/inq/compare/v11.0.0...v12.0.0)
330
+
331
+ **Closed issues:**
332
+
333
+ - ZeroDivisionError [\#91](https://github.com/duckinator/inq/issues/91)
334
+ - Rake task\(s\) for regenerating example reports. [\#84](https://github.com/duckinator/inq/issues/84)
335
+ - make issue\_or\_pr\_summary use kwargs [\#78](https://github.com/duckinator/inq/issues/78)
336
+ - Define unimplemented BaseReport methods [\#77](https://github.com/duckinator/inq/issues/77)
337
+ - Extract BaseReport [\#76](https://github.com/duckinator/inq/issues/76)
338
+ - Release v11.0 [\#75](https://github.com/duckinator/inq/issues/75)
339
+ - convert average age/oldest/newest to lists [\#70](https://github.com/duckinator/inq/issues/70)
340
+ - newest PR/issue [\#69](https://github.com/duckinator/inq/issues/69)
341
+
342
+ **Merged pull requests:**
343
+
344
+ - version bump to 12.0.0 [\#97](https://github.com/duckinator/inq/pull/97) ([duckinator](https://github.com/duckinator))
345
+ - rake generate =\> rake generate\_reports. [\#96](https://github.com/duckinator/inq/pull/96) ([duckinator](https://github.com/duckinator))
346
+ - Rake tasks [\#94](https://github.com/duckinator/inq/pull/94) ([duckinator](https://github.com/duckinator))
347
+ - Fix divide by zero when no issues [\#92](https://github.com/duckinator/inq/pull/92) ([duckinator](https://github.com/duckinator))
348
+ - Changelog v12.0 [\#89](https://github.com/duckinator/inq/pull/89) ([duckinator](https://github.com/duckinator))
349
+ - Refactoring Report + \*Report. [\#88](https://github.com/duckinator/inq/pull/88) ([duckinator](https://github.com/duckinator))
350
+ - Rake tasks [\#86](https://github.com/duckinator/inq/pull/86) ([duckinator](https://github.com/duckinator))
351
+ - Newest pr issue attempt 2 [\#85](https://github.com/duckinator/inq/pull/85) ([duckinator](https://github.com/duckinator))
352
+ - Convert issue/PR info to a list. [\#83](https://github.com/duckinator/inq/pull/83) ([duckinator](https://github.com/duckinator))
353
+ - Improve generated HTML, for easier debugging. [\#82](https://github.com/duckinator/inq/pull/82) ([duckinator](https://github.com/duckinator))
354
+ - Update readme [\#81](https://github.com/duckinator/inq/pull/81) ([duckinator](https://github.com/duckinator))
355
+ - Define unimplemented methods; make github\_pulse\_summary private. [\#80](https://github.com/duckinator/inq/pull/80) ([duckinator](https://github.com/duckinator))
356
+ - Extract BaseReport into its own file. [\#79](https://github.com/duckinator/inq/pull/79) ([duckinator](https://github.com/duckinator))
357
+
358
+ ## [v11.0.0](https://github.com/duckinator/inq/tree/v11.0.0) (2016-11-13)
359
+ [Full Changelog](https://github.com/duckinator/inq/compare/v10.0.0...v11.0.0)
360
+
361
+ **Closed issues:**
362
+
363
+ - Failing tests. [\#68](https://github.com/duckinator/inq/issues/68)
364
+ - `how\_is how-is/how\_is` is broken [\#61](https://github.com/duckinator/inq/issues/61)
365
+ - Rename export! to export\_file [\#57](https://github.com/duckinator/inq/issues/57)
366
+ - Remove how\_is/chart.rb [\#56](https://github.com/duckinator/inq/issues/56)
367
+ - Unknown option --report-file referenced in the README [\#51](https://github.com/duckinator/inq/issues/51)
368
+ - Specify period for reports [\#50](https://github.com/duckinator/inq/issues/50)
369
+ - Handle singular/plural PRs and issues properly [\#49](https://github.com/duckinator/inq/issues/49)
370
+ - HTML graph messes up "\(No label\)" graph label [\#48](https://github.com/duckinator/inq/issues/48)
371
+ - Document library usage. [\#45](https://github.com/duckinator/inq/issues/45)
372
+ - Use VCR instead of files containing API responses [\#37](https://github.com/duckinator/inq/issues/37)
373
+ - Make integration tests not rely on GitHub API [\#36](https://github.com/duckinator/inq/issues/36)
374
+ - Integration tests [\#26](https://github.com/duckinator/inq/issues/26)
375
+ - Links [\#18](https://github.com/duckinator/inq/issues/18)
376
+ - \[PDF\] Show labels outside of graph [\#8](https://github.com/duckinator/inq/issues/8)
377
+
378
+ **Merged pull requests:**
379
+
380
+ - Add changelog. [\#73](https://github.com/duckinator/inq/pull/73) ([duckinator](https://github.com/duckinator))
381
+ - Fix failing tests. [\#72](https://github.com/duckinator/inq/pull/72) ([duckinator](https://github.com/duckinator))
382
+ - Add tests for --help, -h, --version, and -v. [\#67](https://github.com/duckinator/inq/pull/67) ([duckinator](https://github.com/duckinator))
383
+ - Test refactoring [\#66](https://github.com/duckinator/inq/pull/66) ([duckinator](https://github.com/duckinator))
384
+ - Handle singular/plural PRs and issues correctly. [\#65](https://github.com/duckinator/inq/pull/65) ([duckinator](https://github.com/duckinator))
385
+ - Remove duplicate period. [\#64](https://github.com/duckinator/inq/pull/64) ([duckinator](https://github.com/duckinator))
386
+ - Handle cases where there are no issues or PRs. [\#63](https://github.com/duckinator/inq/pull/63) ([duckinator](https://github.com/duckinator))
387
+ - Fix "No label" graph label. [\#62](https://github.com/duckinator/inq/pull/62) ([duckinator](https://github.com/duckinator))
388
+ - Rename export! to export\_file. [\#60](https://github.com/duckinator/inq/pull/60) ([duckinator](https://github.com/duckinator))
389
+ - Remove remnants of PDF-related stuff. [\#59](https://github.com/duckinator/inq/pull/59) ([duckinator](https://github.com/duckinator))
390
+ - FUCK YEAH DOCUMENTATION [\#58](https://github.com/duckinator/inq/pull/58) ([duckinator](https://github.com/duckinator))
391
+ - Specify time period for reports. [\#55](https://github.com/duckinator/inq/pull/55) ([duckinator](https://github.com/duckinator))
392
+ - SO LONG, PDF REPORTS. YOU WILL NOT BE MISSED. [\#54](https://github.com/duckinator/inq/pull/54) ([duckinator](https://github.com/duckinator))
393
+ - Document Ruby API. [\#53](https://github.com/duckinator/inq/pull/53) ([duckinator](https://github.com/duckinator))
394
+ - Update roadmap.markdown [\#47](https://github.com/duckinator/inq/pull/47) ([duckinator](https://github.com/duckinator))
395
+ - New roadmap. [\#46](https://github.com/duckinator/inq/pull/46) ([duckinator](https://github.com/duckinator))
396
+
397
+ ## [v10.0.0](https://github.com/duckinator/inq/tree/v10.0.0) (2016-09-01)
398
+ [Full Changelog](https://github.com/duckinator/inq/compare/v9.0.0...v10.0.0)
399
+
400
+ **Closed issues:**
401
+
402
+ - --version is broken [\#42](https://github.com/duckinator/inq/issues/42)
403
+ - report generation fails [\#25](https://github.com/duckinator/inq/issues/25)
404
+
405
+ **Merged pull requests:**
406
+
407
+ - Parser specs [\#43](https://github.com/duckinator/inq/pull/43) ([duckinator](https://github.com/duckinator))
408
+
409
+ ## [v9.0.0](https://github.com/duckinator/inq/tree/v9.0.0) (2016-08-20)
410
+ [Full Changelog](https://github.com/duckinator/inq/compare/v8.0.0...v9.0.0)
411
+
412
+ **Closed issues:**
413
+
414
+ - Help text is outdated. [\#33](https://github.com/duckinator/inq/issues/33)
415
+ - `how\_is rubygems/rubygems` raises contract violation [\#32](https://github.com/duckinator/inq/issues/32)
416
+ - Warning when executing how\_is [\#29](https://github.com/duckinator/inq/issues/29)
417
+ - Intermittent off-by-one date error in Analyzer\#average\_date\_for test [\#21](https://github.com/duckinator/inq/issues/21)
418
+
419
+ **Merged pull requests:**
420
+
421
+ - We're not using Cucumber + Aruba. [\#40](https://github.com/duckinator/inq/pull/40) ([duckinator](https://github.com/duckinator))
422
+ - Option parser refactor [\#39](https://github.com/duckinator/inq/pull/39) ([duckinator](https://github.com/duckinator))
423
+ - Fix first integration test [\#38](https://github.com/duckinator/inq/pull/38) ([duckinator](https://github.com/duckinator))
424
+ - Update documentation. [\#35](https://github.com/duckinator/inq/pull/35) ([duckinator](https://github.com/duckinator))
425
+ - Fix contract error [\#34](https://github.com/duckinator/inq/pull/34) ([duckinator](https://github.com/duckinator))
426
+ - Use the correct config file in integration tests. [\#31](https://github.com/duckinator/inq/pull/31) ([duckinator](https://github.com/duckinator))
427
+ - Remove redundant definiton of C. [\#30](https://github.com/duckinator/inq/pull/30) ([duckinator](https://github.com/duckinator))
428
+ - Fix Analyzer\#average\_age\_for test. [\#28](https://github.com/duckinator/inq/pull/28) ([duckinator](https://github.com/duckinator))
429
+ - Integration tests [\#27](https://github.com/duckinator/inq/pull/27) ([duckinator](https://github.com/duckinator))
430
+
431
+ ## [v8.0.0](https://github.com/duckinator/inq/tree/v8.0.0) (2016-07-28)
432
+ [Full Changelog](https://github.com/duckinator/inq/compare/v7.0.0...v8.0.0)
433
+
434
+ ## [v7.0.0](https://github.com/duckinator/inq/tree/v7.0.0) (2016-07-28)
435
+ [Full Changelog](https://github.com/duckinator/inq/compare/v6.0.0...v7.0.0)
436
+
437
+ ## [v6.0.0](https://github.com/duckinator/inq/tree/v6.0.0) (2016-07-28)
438
+ [Full Changelog](https://github.com/duckinator/inq/compare/v5.0.0...v6.0.0)
439
+
440
+ **Merged pull requests:**
441
+
442
+ - CLI specs [\#24](https://github.com/duckinator/inq/pull/24) ([duckinator](https://github.com/duckinator))
443
+ - Spelling in OptParser help for --config [\#23](https://github.com/duckinator/inq/pull/23) ([olleolleolle](https://github.com/olleolleolle))
444
+
445
+ ## [v5.0.0](https://github.com/duckinator/inq/tree/v5.0.0) (2016-07-21)
446
+ [Full Changelog](https://github.com/duckinator/inq/compare/v4.0.0...v5.0.0)
447
+
448
+ ## [v4.0.0](https://github.com/duckinator/inq/tree/v4.0.0) (2016-07-19)
449
+ [Full Changelog](https://github.com/duckinator/inq/compare/v3.0.0...v4.0.0)
450
+
451
+ **Closed issues:**
452
+
453
+ - Monthly summary [\#19](https://github.com/duckinator/inq/issues/19)
454
+
455
+ **Merged pull requests:**
456
+
457
+ - Add text summary. [\#22](https://github.com/duckinator/inq/pull/22) ([duckinator](https://github.com/duckinator))
458
+
459
+ ## [v3.0.0](https://github.com/duckinator/inq/tree/v3.0.0) (2016-07-13)
460
+ [Full Changelog](https://github.com/duckinator/inq/compare/v2.0.0...v3.0.0)
461
+
462
+ **Closed issues:**
463
+
464
+ - Exception when running `how\_is duckinator/how\_is` from master [\#16](https://github.com/duckinator/inq/issues/16)
465
+
466
+ **Merged pull requests:**
467
+
468
+ - HTML links [\#20](https://github.com/duckinator/inq/pull/20) ([duckinator](https://github.com/duckinator))
469
+
470
+ ## [v2.0.0](https://github.com/duckinator/inq/tree/v2.0.0) (2016-06-27)
471
+ [Full Changelog](https://github.com/duckinator/inq/compare/v1.0.0...v2.0.0)
472
+
473
+ **Closed issues:**
474
+
475
+ - HTML exports [\#13](https://github.com/duckinator/inq/issues/13)
476
+ - When importing from JSON, don't require repository name as argument. [\#10](https://github.com/duckinator/inq/issues/10)
477
+ - Allow export to Ruby objects as well as files [\#7](https://github.com/duckinator/inq/issues/7)
478
+
479
+ **Merged pull requests:**
480
+
481
+ - HTML graphs [\#17](https://github.com/duckinator/inq/pull/17) ([duckinator](https://github.com/duckinator))
482
+
483
+ ## [v1.0.0](https://github.com/duckinator/inq/tree/v1.0.0) (2016-06-22)
484
+ **Closed issues:**
485
+
486
+ - Fix failing tests [\#15](https://github.com/duckinator/inq/issues/15)
487
+ - Update README [\#11](https://github.com/duckinator/inq/issues/11)
488
+ - Find a better name [\#2](https://github.com/duckinator/inq/issues/2)
489
+ - Metrics to track [\#1](https://github.com/duckinator/inq/issues/1)
490
+
491
+ **Merged pull requests:**
492
+
493
+ - waffle.io Badge [\#14](https://github.com/duckinator/inq/pull/14) ([waffle-iron](https://github.com/waffle-iron))
494
+ - Executable: Fail faster, use abort [\#9](https://github.com/duckinator/inq/pull/9) ([olleolleolle](https://github.com/olleolleolle))
495
+ - Rotate images with MiniMagick [\#5](https://github.com/duckinator/inq/pull/5) ([olleolleolle](https://github.com/olleolleolle))
496
+
497
+
498
+
499
+ \* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*