ididthis 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.codeclimate.yml +3 -0
- data/.document +6 -0
- data/.gitignore +1 -1
- data/.rspec +1 -0
- data/.rubocop.yml +22 -0
- data/.rubocop_todo.yml +69 -0
- data/.simplecov +15 -0
- data/.travis.yml +15 -5
- data/Gemfile +1 -1
- data/README.md +33 -17
- data/Rakefile +40 -7
- data/exe/ididthis +1 -1
- data/ididthis.gemspec +27 -19
- data/lib/ididthis/api.rb +31 -28
- data/lib/ididthis/cli.rb +110 -30
- data/lib/ididthis/config.rb +40 -31
- data/lib/ididthis/version.rb +1 -1
- data/lib/ididthis.rb +2 -1
- metadata +117 -29
- data/lib/ididthis/cli/done.rb +0 -12
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a5fdab8903df3a60ba03a9f4a27e8109d8282788
|
|
4
|
+
data.tar.gz: 92ec7c0fd2bef95cec4ac17acaf5461e2a26ded8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 04b657883d8cf00816998cd1b31d8f0060f7eb254e797d9af74170a9a426f47d972f8ccb2e54359f9d406fcb16a198e4e6f1491d130f1c0b4f833618ccda792d
|
|
7
|
+
data.tar.gz: b528860b50263e07e6bdca0ad3cfc7374c9135016c9f48c97a9341258b2c6f5fe60c9be7ff2416afd8c39b1a957899b3fe34c74adaa215bc82355f5a9362c3c6
|
data/.codeclimate.yml
ADDED
data/.document
ADDED
data/.gitignore
CHANGED
data/.rspec
CHANGED
data/.rubocop.yml
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
inherit_from: .rubocop_todo.yml
|
|
2
|
+
|
|
3
|
+
require: rubocop-rspec
|
|
4
|
+
|
|
5
|
+
AllCops:
|
|
6
|
+
Include:
|
|
7
|
+
- 'Gemfile'
|
|
8
|
+
- 'Rakefile'
|
|
9
|
+
- 'ididthis.gemspec'
|
|
10
|
+
Exclude:
|
|
11
|
+
- bin/*
|
|
12
|
+
|
|
13
|
+
# Enforce outdented access modifiers
|
|
14
|
+
AccessModifierIndentation:
|
|
15
|
+
EnforcedStyle: outdent
|
|
16
|
+
|
|
17
|
+
EmptyLinesAroundAccessModifier:
|
|
18
|
+
Enabled: true
|
|
19
|
+
|
|
20
|
+
# Standardize on double quotes
|
|
21
|
+
StringLiterals:
|
|
22
|
+
EnforcedStyle: double_quotes
|
data/.rubocop_todo.yml
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# This configuration was generated by
|
|
2
|
+
# `rubocop --auto-gen-config`
|
|
3
|
+
# on 2015-08-07 11:34:15 -0400 using RuboCop version 0.33.0.
|
|
4
|
+
# The point is for the user to remove these configuration records
|
|
5
|
+
# one by one as the offenses are removed from the code base.
|
|
6
|
+
# Note that changes in the inspected code, or installation of new
|
|
7
|
+
# versions of RuboCop, may require this file to be generated again.
|
|
8
|
+
|
|
9
|
+
# Offense count: 1
|
|
10
|
+
Lint/UselessAssignment:
|
|
11
|
+
Exclude:
|
|
12
|
+
- 'lib/ididthis/cli.rb'
|
|
13
|
+
|
|
14
|
+
# Offense count: 1
|
|
15
|
+
Metrics/AbcSize:
|
|
16
|
+
Max: 18
|
|
17
|
+
|
|
18
|
+
# Offense count: 1
|
|
19
|
+
# Configuration parameters: CountComments.
|
|
20
|
+
Metrics/ClassLength:
|
|
21
|
+
Max: 123
|
|
22
|
+
|
|
23
|
+
# Offense count: 5
|
|
24
|
+
# Configuration parameters: AllowURI, URISchemes.
|
|
25
|
+
Metrics/LineLength:
|
|
26
|
+
Max: 112
|
|
27
|
+
|
|
28
|
+
# Offense count: 3
|
|
29
|
+
# Configuration parameters: CountComments.
|
|
30
|
+
Metrics/MethodLength:
|
|
31
|
+
Max: 12
|
|
32
|
+
|
|
33
|
+
# Offense count: 2
|
|
34
|
+
# Cop supports --auto-correct.
|
|
35
|
+
# Configuration parameters: SupportedStyles.
|
|
36
|
+
Style/AccessModifierIndentation:
|
|
37
|
+
EnforcedStyle: outdent
|
|
38
|
+
|
|
39
|
+
# Offense count: 24
|
|
40
|
+
# Cop supports --auto-correct.
|
|
41
|
+
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
|
42
|
+
Style/AlignParameters:
|
|
43
|
+
Enabled: false
|
|
44
|
+
|
|
45
|
+
# Offense count: 1
|
|
46
|
+
Style/Documentation:
|
|
47
|
+
Exclude:
|
|
48
|
+
- 'lib/ididthis/version.rb'
|
|
49
|
+
|
|
50
|
+
# Offense count: 4
|
|
51
|
+
# Configuration parameters: Exclude.
|
|
52
|
+
Style/FileName:
|
|
53
|
+
Exclude:
|
|
54
|
+
- 'bin/cc-tddium-post-worker'
|
|
55
|
+
- 'bin/git-version-bump'
|
|
56
|
+
- 'bin/ruby-parse'
|
|
57
|
+
- 'bin/ruby-rewrite'
|
|
58
|
+
|
|
59
|
+
# Offense count: 58
|
|
60
|
+
# Cop supports --auto-correct.
|
|
61
|
+
# Configuration parameters: EnforcedStyle, SupportedStyles, UseHashRocketsWithSymbolValues.
|
|
62
|
+
Style/HashSyntax:
|
|
63
|
+
Enabled: false
|
|
64
|
+
|
|
65
|
+
# Offense count: 176
|
|
66
|
+
# Cop supports --auto-correct.
|
|
67
|
+
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
|
68
|
+
Style/StringLiterals:
|
|
69
|
+
Enabled: false
|
data/.simplecov
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
require 'coveralls'
|
|
2
|
+
require 'codeclimate-test-reporter'
|
|
3
|
+
|
|
4
|
+
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
|
|
5
|
+
SimpleCov::Formatter::HTMLFormatter,
|
|
6
|
+
Coveralls::SimpleCov::Formatter,
|
|
7
|
+
CodeClimate::TestReporter::Formatter
|
|
8
|
+
]
|
|
9
|
+
|
|
10
|
+
SimpleCov.start do
|
|
11
|
+
add_filter "/spec/"
|
|
12
|
+
minimum_coverage(50.0)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
|
data/.travis.yml
CHANGED
|
@@ -1,7 +1,17 @@
|
|
|
1
1
|
language: ruby
|
|
2
2
|
rvm:
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
- 2.2.0
|
|
4
|
+
- 2.1.0
|
|
5
|
+
- 2.0.0
|
|
6
|
+
- 1.9.3
|
|
7
|
+
- jruby
|
|
8
|
+
before_install:
|
|
9
|
+
- gem install bundler -v 1.10.2
|
|
10
|
+
script:
|
|
11
|
+
- bundle exec rake test
|
|
12
|
+
notifications:
|
|
13
|
+
pushover:
|
|
14
|
+
api_key:
|
|
15
|
+
secure: B4aN8EQW8mVLk14cgY8MeZuUCj3UsoVsYvDPNIPOrWLCxdyIFSdE0ncIzejGKyfE+hIzEFEO8shBBRXu4GksEemj3RD5hm7rNMtOGbcSDq7+Bm03MU65RABDsXm4JFwCop770ZEtVbEuTmivA33Upaxlw6cBwjS8EgYVnjI60IfOiQePD5hc0X8dcGYDzxe05tzEFB8KJxUDsajfUdXFkRcRhwKrrFggs6OIRl+h35OYFs2IkYYKxRkvfsU2LJQ4D8QMq0ZxNLu5BNxTFAJmiuBzPH2gfCHnE1Ny7TFA0orAXVWcNT5s9llJpkidtgUhWI9m1c1YXPq94fmSZW9JZTzQLhl7enbw6p0ZuajYcrtacatCvdecJQeWKrJRddqOjRRUusS9zrj7UYWtMQx7Sg0+z/Yq/ooiZFo2jnMfdm3dsw7CnBw9uCVDc9St9GXU1AbysfUi8pq4tQB5CorJZO81Y0e2wAXqak/NKKFOvFpuZAaAb4zwRVd71otOoU+WvP1UxlmqJPkxWZ9MCbHvwVDyj0bn92R0hv2XfWON71dGxAHpkwQy4FFvxMztZASfg1uHElQ0bLbC0P1dXnR9ExaqU/KxwwPjFhfcKP2+mxD2upUinWHIPFjudSPlWaogCDbQ/iuZahXKZgFTMunJ5enqtYw1mjQlr3Hsn3bZ1Iw=
|
|
16
|
+
users:
|
|
17
|
+
secure: tnFgv9r4mYeVsL+uvvVh9ncoIDEQGgtIC069OP1kuNH6RZobz5qLBX2IEz6WWasyms++T1jt6UJhGR2bIzXb8GHTn2WyNjczqlLLuai/lIhQdSd3t1v4po0MDuD6pyBQ8oUri39Zuw99fqcQwEcP+pMjp0iqPSdVj1qznMl7zEirs19ZHLPp/ejA/OBSM5D44Rhi+hW8aZ0n0ROUaZSt6xHeS0qO4Gy0Rpmq4QV39ovJUHsURZF9etGUTtJw8o3ZxrFXOJSAnh+n37Gc5F+KVx7SzerwD7AC699m8CbdoDq32xK+v/wGzwRz68HoTCir4Nl0FT+JWudoJdQbcLJ7bbN0paBXc7Ogf8rGv9I7tRiMEwRVLZaRjXdDRpnHeutfWH1DG3K6Q+HnOIpVAlz4oQR5gcGOmriLB78aNCZELxc7j41bnrii53PTgtxdsXqvuIkHm5eLPQFd6AlvMlN3ZnsJja492YkBOx+jf94Uk11e12kK8q1xKR29yyH/o7eeDb8q89Pa1YksaS7m+yKy3zq26XGsFDk646D3FMc69wOS4YRmj4N0rdtpZRpHnQuvC0TCjBtfbSDmgNhj/DQzVrqOuJ8qUwWk75B3miYrRkIMLqtmXqJbpu3QUlDP4MvtH1vqZD1hOBUDqAlAIGD+4Wfd8JqUxAAxyAmnO8VpISE=
|
data/Gemfile
CHANGED
data/README.md
CHANGED
|
@@ -1,41 +1,57 @@
|
|
|
1
|
-
|
|
1
|
+
[] [rubygems]
|
|
2
|
+
[] [travis]
|
|
3
|
+
[] [gemnasium]
|
|
4
|
+
[] [code_climate]
|
|
5
|
+
[] [coveralls]
|
|
6
|
+
[]()
|
|
2
7
|
|
|
3
|
-
|
|
8
|
+
[rubygems]: http://badge.fury.io/rb/ididthis
|
|
9
|
+
[travis]: https://travis-ci.org/duckpuppy/ididthis
|
|
10
|
+
[gemnasium]: https://gemnasium.com/duckpuppy/ididthis
|
|
11
|
+
[code_climate]: https://codeclimate.com/github/duckpuppy/ididthis
|
|
12
|
+
[coveralls]: https://coveralls.io/github/duckpuppy/ididthis?branch=develop
|
|
4
13
|
|
|
5
|
-
|
|
14
|
+
# ididthis
|
|
6
15
|
|
|
7
|
-
|
|
16
|
+
`ididthis` is a command-line utilty for posting and viewing dones on [iDoneThis] [idonethis].
|
|
8
17
|
|
|
9
|
-
|
|
18
|
+
## Installation
|
|
10
19
|
|
|
11
|
-
|
|
12
|
-
gem 'ididthis'
|
|
13
|
-
```
|
|
20
|
+
$ gem install ididthis
|
|
14
21
|
|
|
15
|
-
|
|
22
|
+
## Usage
|
|
16
23
|
|
|
17
|
-
|
|
24
|
+
A list of commands for `ididthis` can be seen by running
|
|
18
25
|
|
|
19
|
-
|
|
26
|
+
$ ididthis help
|
|
20
27
|
|
|
21
|
-
|
|
28
|
+
Addtional help for a command can be show by running
|
|
22
29
|
|
|
23
|
-
|
|
30
|
+
$ ididthis help COMMAND
|
|
24
31
|
|
|
25
|
-
|
|
32
|
+
`ididthis` supports only what the current [iDoneThis API] [idonethis_api] allows. As newer releases of the API are developed, this gem will update to take advantage of the newer functionality.
|
|
33
|
+
Noticably missing from the API currently are methods for manipulating existing dones.
|
|
26
34
|
|
|
27
35
|
## Development
|
|
28
36
|
|
|
29
|
-
After checking out the repo, run `
|
|
37
|
+
After checking out the repo, run `bundle install` to install dependencies.
|
|
38
|
+
Then, run `rake rspec` to run the tests. You can also run `rake console` for an
|
|
39
|
+
interactive prompt that will allow you to experiment.
|
|
30
40
|
|
|
31
|
-
To install this gem onto your local machine, run `bundle exec rake install`. To
|
|
41
|
+
To install this gem onto your local machine, run `bundle exec rake install`. To
|
|
42
|
+
release a new version, update the version number in `version.rb`, and then run
|
|
43
|
+
`bundle exec rake release`, which will create a git tag for the version if one
|
|
44
|
+
doesn't exist, push git commits and tags, and push the `.gem` file to
|
|
45
|
+
[rubygems.org](https://rubygems.org).
|
|
32
46
|
|
|
33
47
|
## Contributing
|
|
34
48
|
|
|
35
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/
|
|
49
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/duckpuppy/ididthis. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
|
|
36
50
|
|
|
37
51
|
|
|
38
52
|
## License
|
|
39
53
|
|
|
40
54
|
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
|
41
55
|
|
|
56
|
+
[idonethis]: https://idonethis.com
|
|
57
|
+
[idonethis_api]: https://idoneths.com/api
|
data/Rakefile
CHANGED
|
@@ -1,18 +1,51 @@
|
|
|
1
|
-
require "bundler/gem_tasks"
|
|
1
|
+
# require "bundler/gem_tasks"
|
|
2
2
|
require "rspec/core/rake_task"
|
|
3
3
|
require "rubygems/tasks"
|
|
4
4
|
require "dotenv/tasks"
|
|
5
|
+
require "rake/clean"
|
|
6
|
+
require "rdoc/task"
|
|
7
|
+
require "rubocop/rake_task"
|
|
5
8
|
|
|
6
|
-
lib_dir = File.expand_path(
|
|
9
|
+
lib_dir = File.expand_path("lib", File.dirname(__FILE__))
|
|
7
10
|
$LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
|
|
8
11
|
|
|
12
|
+
CLEAN.include("pkg")
|
|
13
|
+
CLEAN.include("coverage")
|
|
14
|
+
|
|
9
15
|
RSpec::Core::RakeTask.new(:spec)
|
|
16
|
+
|
|
17
|
+
RuboCop::RakeTask.new do |task|
|
|
18
|
+
task.requires << "rubocop-rspec"
|
|
19
|
+
task.options = ["-fh", "-ocoverage/rubocop.html",
|
|
20
|
+
"-fj", "-ocoverage/rubocop.json"]
|
|
21
|
+
end
|
|
22
|
+
|
|
10
23
|
Gem::Tasks.new(
|
|
11
|
-
build: {gem: true, tar: true, zip:true},
|
|
12
|
-
sign:
|
|
24
|
+
build: { gem: true, tar: true, zip: true },
|
|
25
|
+
sign: { checksum: true, pgp: false },
|
|
26
|
+
scm: { tag: false }
|
|
13
27
|
) do |tasks|
|
|
14
|
-
tasks.console.command =
|
|
28
|
+
tasks.console.command = "pry"
|
|
15
29
|
end
|
|
16
30
|
|
|
17
|
-
task :
|
|
18
|
-
task :
|
|
31
|
+
task default: :spec
|
|
32
|
+
task test: :spec
|
|
33
|
+
|
|
34
|
+
desc "Run all code analysis tools"
|
|
35
|
+
task :analyze => [:test, :rubocop]
|
|
36
|
+
|
|
37
|
+
namespace :reports do
|
|
38
|
+
desc "Open test coverage in browser"
|
|
39
|
+
task :coverage => [:test] do
|
|
40
|
+
# TODO: Switch based on OS
|
|
41
|
+
`open coverage/index.html`
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
desc "Open RuboCop report in browser"
|
|
45
|
+
task :rubocop do
|
|
46
|
+
sh "bundle exec rake rubocop" do
|
|
47
|
+
# Ignore errors
|
|
48
|
+
end
|
|
49
|
+
`open coverage/rubocop.html`
|
|
50
|
+
end
|
|
51
|
+
end
|
data/exe/ididthis
CHANGED
data/ididthis.gemspec
CHANGED
|
@@ -1,29 +1,37 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
|
-
lib = File.expand_path(
|
|
2
|
+
lib = File.expand_path("../lib", __FILE__)
|
|
3
3
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
|
-
require
|
|
4
|
+
require "ididthis/version"
|
|
5
5
|
|
|
6
6
|
Gem::Specification.new do |spec|
|
|
7
|
-
spec.name
|
|
8
|
-
spec.
|
|
9
|
-
spec.
|
|
10
|
-
spec.
|
|
7
|
+
spec.name = "ididthis"
|
|
8
|
+
spec.description = "A command line utility for posting and viewing dones on iDidThis."
|
|
9
|
+
spec.version = Ididthis::VERSION
|
|
10
|
+
spec.authors = ["Patrick Aikens"]
|
|
11
|
+
spec.email = ["paikens@gmail.com"]
|
|
11
12
|
|
|
12
|
-
spec.summary
|
|
13
|
-
spec.homepage
|
|
14
|
-
spec.license
|
|
13
|
+
spec.summary = "Command line interface to iDoneThis using the API"
|
|
14
|
+
spec.homepage = "https://github.com/duckpuppy/ididthis.git"
|
|
15
|
+
spec.license = "MIT"
|
|
16
|
+
spec.required_ruby_version = ">= 1.9.3"
|
|
15
17
|
|
|
16
|
-
spec.files
|
|
17
|
-
spec.bindir
|
|
18
|
-
spec.executables
|
|
19
|
-
spec.require_paths
|
|
18
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
|
19
|
+
spec.bindir = "exe"
|
|
20
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
21
|
+
spec.require_paths = ["lib"]
|
|
20
22
|
|
|
21
|
-
spec.add_dependency "highline"
|
|
22
|
-
spec.add_dependency "rest-client"
|
|
23
|
-
spec.add_dependency "thor"
|
|
24
|
-
spec.add_development_dependency "
|
|
23
|
+
spec.add_dependency "highline", "~> 1.7"
|
|
24
|
+
spec.add_dependency "rest-client", "~> 1.8"
|
|
25
|
+
spec.add_dependency "thor", "~> 0.19.1"
|
|
26
|
+
spec.add_development_dependency "rubygems-tasks", "~> 0.2.4"
|
|
27
|
+
spec.add_development_dependency "dotenv", "~> 2.0"
|
|
25
28
|
spec.add_development_dependency "bundler", "~> 1.10"
|
|
26
29
|
spec.add_development_dependency "rake", "~> 10.0"
|
|
27
|
-
spec.add_development_dependency "rspec"
|
|
28
|
-
spec.add_development_dependency "pry"
|
|
30
|
+
spec.add_development_dependency "rspec", "~> 3.3"
|
|
31
|
+
spec.add_development_dependency "pry", "~> 0.9"
|
|
32
|
+
spec.add_development_dependency "travis", "~>1.8"
|
|
33
|
+
spec.add_development_dependency "coveralls", "~> 0.8"
|
|
34
|
+
spec.add_development_dependency "rubocop", "~> 0.33"
|
|
35
|
+
spec.add_development_dependency "rubocop-rspec", "~> 1.3"
|
|
36
|
+
spec.add_development_dependency "codeclimate-test-reporter", "~> 0.4"
|
|
29
37
|
end
|
data/lib/ididthis/api.rb
CHANGED
|
@@ -1,39 +1,46 @@
|
|
|
1
|
-
require
|
|
1
|
+
require "rest-client"
|
|
2
2
|
|
|
3
3
|
module Ididthis
|
|
4
4
|
module API
|
|
5
|
+
# TODO: Investigate using the ActiveResource-style calls
|
|
6
|
+
# Class for accessing the iDoneThis API
|
|
5
7
|
class Client
|
|
6
|
-
|
|
7
|
-
|
|
8
|
+
attr_writer :token
|
|
9
|
+
|
|
10
|
+
def initialize(token)
|
|
11
|
+
@token = token
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def validate_token
|
|
15
|
+
RestClient.get(ENDPOINTS[:noop], header_map) do |response|
|
|
8
16
|
case response.code
|
|
9
17
|
when 200
|
|
10
18
|
return true
|
|
11
19
|
else
|
|
12
20
|
return false
|
|
13
21
|
end
|
|
14
|
-
|
|
22
|
+
end
|
|
15
23
|
end
|
|
16
24
|
|
|
17
|
-
def
|
|
25
|
+
def teams
|
|
18
26
|
RestClient.get(
|
|
19
|
-
ENDPOINTS[:team],
|
|
20
|
-
{:content_type => :json, :accept => :json, :Authorization => tokenize(token)}
|
|
27
|
+
ENDPOINTS[:team], header_map
|
|
21
28
|
) do |response, request, result, &block|
|
|
22
29
|
case response.code
|
|
23
30
|
when 200
|
|
24
31
|
resp = JSON.parse(response.body, :symbolize_names => true)
|
|
25
|
-
#
|
|
26
|
-
|
|
32
|
+
# FIXME: This is not right, need to throw an error when no teams
|
|
33
|
+
# are found
|
|
34
|
+
resp[:ok] ? resp[:results] : []
|
|
27
35
|
else
|
|
28
36
|
response.return!(request, result, &block)
|
|
29
37
|
end
|
|
30
38
|
end
|
|
31
39
|
end
|
|
32
40
|
|
|
33
|
-
def
|
|
41
|
+
def team
|
|
34
42
|
RestClient.get(
|
|
35
|
-
Ididthis::Config[:team],
|
|
36
|
-
{:content_type => :json, :accept => :json, :Authorization => tokenize(token)}
|
|
43
|
+
Ididthis::Config[:team], header_map
|
|
37
44
|
) do |response, request, result, &block|
|
|
38
45
|
case response.code
|
|
39
46
|
when 200
|
|
@@ -42,19 +49,13 @@ module Ididthis
|
|
|
42
49
|
else
|
|
43
50
|
response.return!(request, result, &block)
|
|
44
51
|
end
|
|
45
|
-
end
|
|
52
|
+
end
|
|
46
53
|
end
|
|
47
54
|
|
|
48
|
-
def post_done(
|
|
49
|
-
payload = {:
|
|
50
|
-
payload[:done_date] = options[:date] if options[:date]
|
|
51
|
-
payload[:meta_data] = options[:metadata] if options[:metadata]
|
|
52
|
-
|
|
55
|
+
def post_done(done, team, options)
|
|
56
|
+
payload = { raw_text: done, team: team }.merge(options)
|
|
53
57
|
RestClient.post(
|
|
54
|
-
ENDPOINTS[:dones],
|
|
55
|
-
payload.to_json,
|
|
56
|
-
{:content_type => :json, :accept => :json, :Authorization => tokenize(token)}
|
|
57
|
-
) do |response, request, result, &block|
|
|
58
|
+
ENDPOINTS[:dones], payload.to_json, header_map) do |response|
|
|
58
59
|
case response.code
|
|
59
60
|
when 201
|
|
60
61
|
puts "Posted your done!"
|
|
@@ -64,10 +65,10 @@ module Ididthis
|
|
|
64
65
|
end
|
|
65
66
|
end
|
|
66
67
|
|
|
67
|
-
def
|
|
68
|
+
def dones(options)
|
|
68
69
|
RestClient.get(
|
|
69
70
|
ENDPOINTS[:dones],
|
|
70
|
-
|
|
71
|
+
header_map.merge(:params => options)
|
|
71
72
|
) do |response, request, result, &block|
|
|
72
73
|
case response.code
|
|
73
74
|
when 200
|
|
@@ -79,11 +80,13 @@ module Ididthis
|
|
|
79
80
|
end
|
|
80
81
|
end
|
|
81
82
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
83
|
+
def header_map
|
|
84
|
+
{
|
|
85
|
+
:content_type => :json,
|
|
86
|
+
:accept => :json,
|
|
87
|
+
:Authorization => "Token #{@token}"
|
|
88
|
+
}
|
|
85
89
|
end
|
|
86
90
|
end
|
|
87
91
|
end
|
|
88
92
|
end
|
|
89
|
-
|
data/lib/ididthis/cli.rb
CHANGED
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
|
-
require
|
|
3
|
-
require
|
|
2
|
+
require "thor"
|
|
3
|
+
require "ididthis"
|
|
4
4
|
|
|
5
5
|
module Ididthis
|
|
6
|
+
# Class providing the command line interface processing
|
|
6
7
|
class CommandLine < Thor
|
|
8
|
+
class_option :color,
|
|
9
|
+
:type => :boolean,
|
|
10
|
+
:default => true,
|
|
11
|
+
:desc => "Colorize output"
|
|
12
|
+
|
|
7
13
|
desc "configure", "(Re)configure the client."
|
|
8
14
|
long_desc <<-CONFIGURE
|
|
9
15
|
|
|
@@ -19,50 +25,124 @@ module Ididthis
|
|
|
19
25
|
desc "post [OPTIONS] DONE", "Post a new done"
|
|
20
26
|
long_desc <<-POST
|
|
21
27
|
|
|
22
|
-
`post` will post a new done or goal to iDoneThis.
|
|
23
|
-
To tag the done, simply include the tags in the done using #hashtags.
|
|
28
|
+
`post` will post a new done or goal to iDoneThis.
|
|
29
|
+
To tag the done, simply include the tags in the done using #hashtags.
|
|
30
|
+
If any tag doesn"t already exist, it will be created.
|
|
24
31
|
POST
|
|
25
|
-
option :date,
|
|
26
|
-
|
|
27
|
-
|
|
32
|
+
option :date,
|
|
33
|
+
:aliases => "-d",
|
|
34
|
+
:type => :string,
|
|
35
|
+
:banner => "YYYY-MM-DD",
|
|
36
|
+
:desc => "The date for this done."
|
|
37
|
+
option :team,
|
|
38
|
+
:aliases => "-t",
|
|
39
|
+
:type => :string,
|
|
40
|
+
:default => Ididthis::Config[:team],
|
|
41
|
+
:banner => "SHORT_NAME",
|
|
42
|
+
:desc => "The team to post to."
|
|
43
|
+
option :goal,
|
|
44
|
+
:aliases => "-g",
|
|
45
|
+
:type => :boolean,
|
|
46
|
+
:desc => "Post a goal rather than a done"
|
|
28
47
|
def post(done)
|
|
29
|
-
|
|
30
|
-
|
|
48
|
+
post_options = {}
|
|
49
|
+
post_options[:done_date] = options[:date] if options[:date]
|
|
50
|
+
post_options[:meta_data] = options[:metadata] if options[:metadata]
|
|
51
|
+
c = Ididthis::API::Client.new(Ididthis::Config[:token])
|
|
52
|
+
c.post_done(
|
|
53
|
+
options[:goal] ? "[] #{done}" : done, options[:team],
|
|
54
|
+
post_options
|
|
55
|
+
)
|
|
31
56
|
end
|
|
32
57
|
|
|
33
58
|
desc "dones [OPTIONS]", "List dones"
|
|
34
59
|
long_desc <<-DONES
|
|
35
60
|
DONES
|
|
36
|
-
option :team,
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
option :
|
|
43
|
-
|
|
44
|
-
|
|
61
|
+
option :team,
|
|
62
|
+
:aliases => "-t",
|
|
63
|
+
:type => :string,
|
|
64
|
+
:default => Ididthis::Config[:team],
|
|
65
|
+
:banner => "SHORT_NAME",
|
|
66
|
+
:desc => "Show only dones from TEAM"
|
|
67
|
+
option :owner,
|
|
68
|
+
:aliases => "-o",
|
|
69
|
+
:type => :string,
|
|
70
|
+
:banner => "USERNAME",
|
|
71
|
+
:desc => "Show only dones belonging to USERNAME"
|
|
72
|
+
option :date,
|
|
73
|
+
:aliases => "-d",
|
|
74
|
+
:type => :string,
|
|
75
|
+
:banner => "YYYY-MM-DD, yesterday, or today",
|
|
76
|
+
:desc => "Show only dones from DATE"
|
|
77
|
+
option :after,
|
|
78
|
+
:type => :string,
|
|
79
|
+
:banner => "YYYY-MM-DD",
|
|
80
|
+
:desc => "Show only dones on or after DATE"
|
|
81
|
+
option :before,
|
|
82
|
+
:type => :string,
|
|
83
|
+
:banner => "YYYY-MM-DD",
|
|
84
|
+
:desc => "Show only dones on or before DATE"
|
|
85
|
+
option :tags,
|
|
86
|
+
:type => :string,
|
|
87
|
+
:banner => "TAG...",
|
|
88
|
+
:desc => "Show only dones tagged with TAGs. Comma separated list."
|
|
89
|
+
option :order,
|
|
90
|
+
:type => :string,
|
|
91
|
+
:banner => "ORDER",
|
|
92
|
+
:enum => ["created", "done_date", "-created", "-done_date"],
|
|
93
|
+
:desc => "Order results by ORDER."
|
|
94
|
+
option :limit,
|
|
95
|
+
:aliases => "-l",
|
|
96
|
+
:type => :numeric,
|
|
97
|
+
:banner => "LIMIT",
|
|
98
|
+
:desc => "Limit the number of results returned. Maximum of 100."
|
|
99
|
+
option :page,
|
|
100
|
+
:aliases => "-p",
|
|
101
|
+
:type => :numeric,
|
|
102
|
+
:banner => "PAGE",
|
|
103
|
+
:desc => "Used in conjunction with --limit to get more results."
|
|
45
104
|
def dones
|
|
46
|
-
query_mappings = {
|
|
105
|
+
query_mappings = {
|
|
106
|
+
date: "done_date",
|
|
107
|
+
after: "done_date_after",
|
|
108
|
+
before: "done_date_before",
|
|
109
|
+
order: "order_by",
|
|
110
|
+
limit: "page_size" }
|
|
47
111
|
params = Hash[options.map { |k, v| [query_mappings[k] || k, v] }]
|
|
48
|
-
c = Ididthis::API::Client.new
|
|
49
|
-
|
|
50
|
-
dones.each do |done|
|
|
51
|
-
puts "#{yellow(done[:done_date])} #{green(done[:owner])}\t#{done[:raw_text]}".gsub(/(#\b[^\s]+\b)/, "\e[31m\\1\e[0m")
|
|
52
|
-
end
|
|
112
|
+
c = Ididthis::API::Client.new(Ididthis::Config[:token])
|
|
113
|
+
print_dones(c.dones(params))
|
|
53
114
|
end
|
|
54
115
|
|
|
55
116
|
desc "teams", "Update your team list from the server."
|
|
56
117
|
def teams
|
|
57
118
|
end
|
|
58
119
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
120
|
+
private
|
|
121
|
+
|
|
122
|
+
# TODO: Break output to separate formatter classes
|
|
123
|
+
def print_dones(dones)
|
|
124
|
+
dones.each do |done|
|
|
125
|
+
print format_column(done[:done_date], COLORS[:yellow])
|
|
126
|
+
print format_column(done[:owner], COLORS[:green], " ")
|
|
127
|
+
puts format_column(highlight_tags(done[:raw_text]), "", "\t")
|
|
128
|
+
end
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
def highlight_tags(done_text)
|
|
132
|
+
options[:color] ? done_text.gsub(/(#\b[^\s]+\b)/, "\e[31m\\1\e[0m") : done_text
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
def format_column(text, color_code, prefix = "", suffix = "")
|
|
136
|
+
column_text = "#{prefix}#{color_code if options[:color] && color_code}"
|
|
137
|
+
column_text += text
|
|
138
|
+
column_text += "#{COLORS[:reset] if options[:color] && color_code}#{suffix}"
|
|
62
139
|
end
|
|
63
140
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
141
|
+
COLORS = {
|
|
142
|
+
reset: "\e[0m",
|
|
143
|
+
red: "\e[31m",
|
|
144
|
+
green: "\e[32m",
|
|
145
|
+
yellow: "\e[33m"
|
|
146
|
+
}
|
|
67
147
|
end
|
|
68
148
|
end
|
data/lib/ididthis/config.rb
CHANGED
|
@@ -1,54 +1,40 @@
|
|
|
1
|
-
require
|
|
2
|
-
require
|
|
1
|
+
require "highline/import"
|
|
2
|
+
require "yaml"
|
|
3
3
|
|
|
4
4
|
module Ididthis
|
|
5
|
+
# Handles creating and retrieving configuration
|
|
5
6
|
module Config
|
|
6
|
-
|
|
7
|
-
|
|
7
|
+
module_function
|
|
8
|
+
|
|
9
|
+
PATH = ENV["IDIDTHIS_CONFIG"] || File.join(ENV["HOME"], ".ididthis.yml")
|
|
8
10
|
|
|
9
11
|
def defaults
|
|
10
12
|
{
|
|
11
13
|
teams: {},
|
|
12
|
-
team:
|
|
13
|
-
token:
|
|
14
|
+
team: "",
|
|
15
|
+
token: ""
|
|
14
16
|
}
|
|
15
17
|
end
|
|
16
18
|
|
|
17
19
|
def [](key)
|
|
18
20
|
configs[key]
|
|
19
21
|
rescue => e
|
|
20
|
-
warn
|
|
22
|
+
warn "invalid config file"
|
|
21
23
|
warn e.message
|
|
22
24
|
defaults[key]
|
|
23
25
|
end
|
|
24
26
|
|
|
25
27
|
def configure!
|
|
26
|
-
|
|
27
|
-
client = Ididthis::API::Client.new
|
|
28
|
-
|
|
29
|
-
token = ask("iDoneThis API Token: ") do |token|
|
|
30
|
-
token.default = current[:token]
|
|
31
|
-
token.whitespace = :strip
|
|
32
|
-
token.responses[:not_valid] = "The token you have entered cannot be validated. Please try again."
|
|
33
|
-
token.responses[:ask_on_error] = :question
|
|
34
|
-
token.validate = lambda do |t|
|
|
35
|
-
client.validate_token(t)
|
|
36
|
-
end
|
|
37
|
-
end
|
|
28
|
+
token = ask_token
|
|
38
29
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
menu.select_by = :index_or_name
|
|
43
|
-
teams.each do |team|
|
|
44
|
-
menu.choice(team[:name]) {
|
|
45
|
-
team
|
|
46
|
-
}
|
|
47
|
-
end
|
|
48
|
-
end
|
|
30
|
+
client = Ididthis::API::Client.new(token)
|
|
31
|
+
teams = client.teams
|
|
32
|
+
team = ask_team(teams)
|
|
49
33
|
|
|
50
|
-
File.open(PATH,
|
|
51
|
-
f << { :token => token,
|
|
34
|
+
File.open(PATH, "w") do |f|
|
|
35
|
+
f << { :token => token,
|
|
36
|
+
:team => team[:short_name],
|
|
37
|
+
:teams => teams }.to_yaml
|
|
52
38
|
end
|
|
53
39
|
end
|
|
54
40
|
|
|
@@ -59,5 +45,28 @@ module Ididthis
|
|
|
59
45
|
defaults
|
|
60
46
|
end
|
|
61
47
|
end
|
|
48
|
+
|
|
49
|
+
def ask_token
|
|
50
|
+
ask("iDoneThis API Token: ") do |tkn|
|
|
51
|
+
tkn.default = configs[:token]
|
|
52
|
+
tkn.whitespace = :strip
|
|
53
|
+
tkn.responses[:not_valid] = "The token you have entered cannot be validated. Please try again."
|
|
54
|
+
tkn.responses[:ask_on_error] = :question
|
|
55
|
+
tkn.validate = lambda do |t|
|
|
56
|
+
client = Ididthis::API::Client.new(t)
|
|
57
|
+
client.validate_token
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def ask_team(teams)
|
|
63
|
+
choose do |menu|
|
|
64
|
+
menu.prompt = "Which team will you be posting dones to? "
|
|
65
|
+
menu.select_by = :index_or_name
|
|
66
|
+
teams.each do |t|
|
|
67
|
+
menu.choice(t[:name]) { t }
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
62
71
|
end
|
|
63
72
|
end
|
data/lib/ididthis/version.rb
CHANGED
data/lib/ididthis.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
2
|
begin
|
|
3
|
-
require
|
|
3
|
+
require "Win32/Console/ANSI" if RUBY_PLATFORM =~ /win32/
|
|
4
4
|
rescue LoadError
|
|
5
5
|
raise "You must gem install win32console to use color on Windows"
|
|
6
6
|
end
|
|
@@ -12,6 +12,7 @@ require "ididthis/cli"
|
|
|
12
12
|
require "highline/import"
|
|
13
13
|
require "json"
|
|
14
14
|
|
|
15
|
+
# Main module
|
|
15
16
|
module Ididthis
|
|
16
17
|
CONFIG_FILE = File.expand_path("~/.ididthis")
|
|
17
18
|
API_VERSION = "0.1"
|
metadata
CHANGED
|
@@ -1,71 +1,85 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ididthis
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Patrick Aikens
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2015-08-
|
|
11
|
+
date: 2015-08-07 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: highline
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
|
-
- - "
|
|
17
|
+
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '
|
|
19
|
+
version: '1.7'
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
|
-
- - "
|
|
24
|
+
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: '
|
|
26
|
+
version: '1.7'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: rest-client
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
|
-
- - "
|
|
31
|
+
- - "~>"
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '
|
|
33
|
+
version: '1.8'
|
|
34
34
|
type: :runtime
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
|
-
- - "
|
|
38
|
+
- - "~>"
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: '
|
|
40
|
+
version: '1.8'
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: thor
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
|
-
- - "
|
|
45
|
+
- - "~>"
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version:
|
|
47
|
+
version: 0.19.1
|
|
48
48
|
type: :runtime
|
|
49
49
|
prerelease: false
|
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
|
52
|
-
- - "
|
|
52
|
+
- - "~>"
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
version: 0.19.1
|
|
55
|
+
- !ruby/object:Gem::Dependency
|
|
56
|
+
name: rubygems-tasks
|
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
|
58
|
+
requirements:
|
|
59
|
+
- - "~>"
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: 0.2.4
|
|
62
|
+
type: :development
|
|
63
|
+
prerelease: false
|
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
+
requirements:
|
|
66
|
+
- - "~>"
|
|
53
67
|
- !ruby/object:Gem::Version
|
|
54
|
-
version:
|
|
68
|
+
version: 0.2.4
|
|
55
69
|
- !ruby/object:Gem::Dependency
|
|
56
70
|
name: dotenv
|
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
|
58
72
|
requirements:
|
|
59
|
-
- - "
|
|
73
|
+
- - "~>"
|
|
60
74
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: '0'
|
|
75
|
+
version: '2.0'
|
|
62
76
|
type: :development
|
|
63
77
|
prerelease: false
|
|
64
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
79
|
requirements:
|
|
66
|
-
- - "
|
|
80
|
+
- - "~>"
|
|
67
81
|
- !ruby/object:Gem::Version
|
|
68
|
-
version: '0'
|
|
82
|
+
version: '2.0'
|
|
69
83
|
- !ruby/object:Gem::Dependency
|
|
70
84
|
name: bundler
|
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -98,31 +112,101 @@ dependencies:
|
|
|
98
112
|
name: rspec
|
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
|
100
114
|
requirements:
|
|
101
|
-
- - "
|
|
115
|
+
- - "~>"
|
|
102
116
|
- !ruby/object:Gem::Version
|
|
103
|
-
version: '
|
|
117
|
+
version: '3.3'
|
|
104
118
|
type: :development
|
|
105
119
|
prerelease: false
|
|
106
120
|
version_requirements: !ruby/object:Gem::Requirement
|
|
107
121
|
requirements:
|
|
108
|
-
- - "
|
|
122
|
+
- - "~>"
|
|
109
123
|
- !ruby/object:Gem::Version
|
|
110
|
-
version: '
|
|
124
|
+
version: '3.3'
|
|
111
125
|
- !ruby/object:Gem::Dependency
|
|
112
126
|
name: pry
|
|
113
127
|
requirement: !ruby/object:Gem::Requirement
|
|
114
128
|
requirements:
|
|
115
|
-
- - "
|
|
129
|
+
- - "~>"
|
|
130
|
+
- !ruby/object:Gem::Version
|
|
131
|
+
version: '0.9'
|
|
132
|
+
type: :development
|
|
133
|
+
prerelease: false
|
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
135
|
+
requirements:
|
|
136
|
+
- - "~>"
|
|
137
|
+
- !ruby/object:Gem::Version
|
|
138
|
+
version: '0.9'
|
|
139
|
+
- !ruby/object:Gem::Dependency
|
|
140
|
+
name: travis
|
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
|
142
|
+
requirements:
|
|
143
|
+
- - "~>"
|
|
116
144
|
- !ruby/object:Gem::Version
|
|
117
|
-
version: '
|
|
145
|
+
version: '1.8'
|
|
118
146
|
type: :development
|
|
119
147
|
prerelease: false
|
|
120
148
|
version_requirements: !ruby/object:Gem::Requirement
|
|
121
149
|
requirements:
|
|
122
|
-
- - "
|
|
150
|
+
- - "~>"
|
|
151
|
+
- !ruby/object:Gem::Version
|
|
152
|
+
version: '1.8'
|
|
153
|
+
- !ruby/object:Gem::Dependency
|
|
154
|
+
name: coveralls
|
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
|
156
|
+
requirements:
|
|
157
|
+
- - "~>"
|
|
123
158
|
- !ruby/object:Gem::Version
|
|
124
|
-
version: '0'
|
|
125
|
-
|
|
159
|
+
version: '0.8'
|
|
160
|
+
type: :development
|
|
161
|
+
prerelease: false
|
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
163
|
+
requirements:
|
|
164
|
+
- - "~>"
|
|
165
|
+
- !ruby/object:Gem::Version
|
|
166
|
+
version: '0.8'
|
|
167
|
+
- !ruby/object:Gem::Dependency
|
|
168
|
+
name: rubocop
|
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
|
170
|
+
requirements:
|
|
171
|
+
- - "~>"
|
|
172
|
+
- !ruby/object:Gem::Version
|
|
173
|
+
version: '0.33'
|
|
174
|
+
type: :development
|
|
175
|
+
prerelease: false
|
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
177
|
+
requirements:
|
|
178
|
+
- - "~>"
|
|
179
|
+
- !ruby/object:Gem::Version
|
|
180
|
+
version: '0.33'
|
|
181
|
+
- !ruby/object:Gem::Dependency
|
|
182
|
+
name: rubocop-rspec
|
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
|
184
|
+
requirements:
|
|
185
|
+
- - "~>"
|
|
186
|
+
- !ruby/object:Gem::Version
|
|
187
|
+
version: '1.3'
|
|
188
|
+
type: :development
|
|
189
|
+
prerelease: false
|
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
191
|
+
requirements:
|
|
192
|
+
- - "~>"
|
|
193
|
+
- !ruby/object:Gem::Version
|
|
194
|
+
version: '1.3'
|
|
195
|
+
- !ruby/object:Gem::Dependency
|
|
196
|
+
name: codeclimate-test-reporter
|
|
197
|
+
requirement: !ruby/object:Gem::Requirement
|
|
198
|
+
requirements:
|
|
199
|
+
- - "~>"
|
|
200
|
+
- !ruby/object:Gem::Version
|
|
201
|
+
version: '0.4'
|
|
202
|
+
type: :development
|
|
203
|
+
prerelease: false
|
|
204
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
205
|
+
requirements:
|
|
206
|
+
- - "~>"
|
|
207
|
+
- !ruby/object:Gem::Version
|
|
208
|
+
version: '0.4'
|
|
209
|
+
description: A command line utility for posting and viewing dones on iDidThis.
|
|
126
210
|
email:
|
|
127
211
|
- paikens@gmail.com
|
|
128
212
|
executables:
|
|
@@ -130,9 +214,14 @@ executables:
|
|
|
130
214
|
extensions: []
|
|
131
215
|
extra_rdoc_files: []
|
|
132
216
|
files:
|
|
217
|
+
- ".codeclimate.yml"
|
|
218
|
+
- ".document"
|
|
133
219
|
- ".env"
|
|
134
220
|
- ".gitignore"
|
|
135
221
|
- ".rspec"
|
|
222
|
+
- ".rubocop.yml"
|
|
223
|
+
- ".rubocop_todo.yml"
|
|
224
|
+
- ".simplecov"
|
|
136
225
|
- ".travis.yml"
|
|
137
226
|
- CODE_OF_CONDUCT.md
|
|
138
227
|
- Gemfile
|
|
@@ -144,7 +233,6 @@ files:
|
|
|
144
233
|
- lib/ididthis.rb
|
|
145
234
|
- lib/ididthis/api.rb
|
|
146
235
|
- lib/ididthis/cli.rb
|
|
147
|
-
- lib/ididthis/cli/done.rb
|
|
148
236
|
- lib/ididthis/config.rb
|
|
149
237
|
- lib/ididthis/version.rb
|
|
150
238
|
homepage: https://github.com/duckpuppy/ididthis.git
|
|
@@ -159,7 +247,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
159
247
|
requirements:
|
|
160
248
|
- - ">="
|
|
161
249
|
- !ruby/object:Gem::Version
|
|
162
|
-
version:
|
|
250
|
+
version: 1.9.3
|
|
163
251
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
164
252
|
requirements:
|
|
165
253
|
- - ">="
|