gh-contrib 0.1.0 → 0.2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 695f1e9a2ac7a554cf3b3f6b3c53bdc871597111ecfbf196965409ee5c5fb35b
4
- data.tar.gz: c2575fbbc136a0cb62b5255977c3c392c2157f4c25469079cc1696385c09649d
3
+ metadata.gz: 6b461e7ed40823baa2cbecf0fe7a25d354e678089cef57adf19fe1f4286a013a
4
+ data.tar.gz: 9f9ebbbfcd9719894bfdb7a5696b514efae4d9d1f9a56ab0795cf9ddac51d347
5
5
  SHA512:
6
- metadata.gz: 43e50cfb7a4225d8617322e47685610bd3896b5c64210d62f4eff55484d7c07da76cdd0cf2f16353a846798c5e1abcb0608186e04b5a143613f1e71236e8bce8
7
- data.tar.gz: 5269229a79f630c12484c71d36972140fe68665d171c726f2013368abbfad7977389b2bfe05a45b85eda60119e60e7b229750774ca62cf5924f915495eea3ff9
6
+ metadata.gz: b960eabf170476fa4fe552a0511c8b95ceb5c1db13fddb16d5ae69d7b39ac077203ff860f87c87b771942fb9282882a8bd856853135688e8dca08264784df18c
7
+ data.tar.gz: 4fe4b17264bc20478e03a29116ab041f707299aed542a98684a8d7d6ddf3f4983e018b97407b3ebc805b62274d8228b14b703642e43f5e86f28e40a063e6036c
@@ -1,10 +1,30 @@
1
1
  version: 2
2
2
  jobs:
3
- build:
3
+ test2.3.0:
4
4
  docker:
5
- - image: circleci/ruby:2.5.1
5
+ - image: ruby:2.3.0
6
6
  working_directory: /home/circleci/gh-contirb
7
7
  steps:
8
8
  - checkout
9
- - run: bundle install
10
9
  - run: ./script/test.sh
10
+ test2.4.0:
11
+ docker:
12
+ - image: ruby:2.4.0
13
+ working_directory: /home/circleci/gh-contirb
14
+ steps:
15
+ - checkout
16
+ - run: ./script/test.sh
17
+ test2.5.0:
18
+ docker:
19
+ - image: ruby:2.5.0
20
+ working_directory: /home/circleci/gh-contirb
21
+ steps:
22
+ - checkout
23
+ - run: ./script/test.sh
24
+ workflows:
25
+ version: 2
26
+ test_multiple ruby version:
27
+ jobs:
28
+ - test2.3.0
29
+ - test2.4.0
30
+ - test2.5.0
data/Gemfile CHANGED
@@ -4,3 +4,4 @@ git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
4
4
 
5
5
  # Specify your gem's dependencies in gh-contrib.gemspec
6
6
  gemspec
7
+ gem 'aruba', '~> 0.14.6'
@@ -1,13 +1,45 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- gh-contrib (0.1.0)
4
+ gh-contrib (0.2.0)
5
5
  thor
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
+ aruba (0.14.6)
11
+ childprocess (>= 0.6.3, < 0.10.0)
12
+ contracts (~> 0.9)
13
+ cucumber (>= 1.3.19)
14
+ ffi (~> 1.9.10)
15
+ rspec-expectations (>= 2.99)
16
+ thor (~> 0.19)
17
+ backports (3.11.4)
18
+ builder (3.2.3)
19
+ childprocess (0.9.0)
20
+ ffi (~> 1.0, >= 1.0.11)
21
+ contracts (0.16.0)
22
+ cucumber (3.1.2)
23
+ builder (>= 2.1.2)
24
+ cucumber-core (~> 3.2.0)
25
+ cucumber-expressions (~> 6.0.1)
26
+ cucumber-wire (~> 0.0.1)
27
+ diff-lcs (~> 1.3)
28
+ gherkin (~> 5.1.0)
29
+ multi_json (>= 1.7.5, < 2.0)
30
+ multi_test (>= 0.1.2)
31
+ cucumber-core (3.2.0)
32
+ backports (>= 3.8.0)
33
+ cucumber-tag_expressions (~> 1.1.0)
34
+ gherkin (>= 5.0.0)
35
+ cucumber-expressions (6.0.1)
36
+ cucumber-tag_expressions (1.1.1)
37
+ cucumber-wire (0.0.1)
10
38
  diff-lcs (1.3)
39
+ ffi (1.9.25)
40
+ gherkin (5.1.0)
41
+ multi_json (1.13.1)
42
+ multi_test (0.1.2)
11
43
  rake (10.5.0)
12
44
  rspec (3.8.0)
13
45
  rspec-core (~> 3.8.0)
@@ -28,10 +60,11 @@ PLATFORMS
28
60
  ruby
29
61
 
30
62
  DEPENDENCIES
63
+ aruba (~> 0.14.6)
31
64
  bundler (~> 1.16)
32
65
  gh-contrib!
33
66
  rake (~> 10.0)
34
67
  rspec (~> 3.0)
35
68
 
36
69
  BUNDLED WITH
37
- 1.16.1
70
+ 1.16.4
data/README.md CHANGED
@@ -1,12 +1,15 @@
1
1
  # Gh::Contrib
2
2
  [![CircleCI](https://circleci.com/gh/chaspy/gh-contrib/tree/master.svg?style=svg)][status]
3
+ [![GitHub release](https://img.shields.io/github/release/chaspy/gh-contrib/all.svg?style=flat-square)][release]
4
+ [![Gem Version](https://badge.fury.io/rb/gh-contrib.svg)][gem]
5
+ [![MIT License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)][license]
3
6
 
4
7
  [status]: https://circleci.com/gh/chaspy/gh-contrib
8
+ [release]: https://github.com/chaspy/gh-contrib/releases
9
+ [gem]: https://badge.fury.io/rb/gh-contrib
10
+ [license]: https://github.com/chaspy/gh-contrib/blob/master/LICENSE
5
11
 
6
-
7
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/gh/contrib`. To experiment with that code, run `bin/console` for an interactive prompt.
8
-
9
- TODO: Delete this and the text above, and describe your gem
12
+ Show your contribution for a specific time period.
10
13
 
11
14
  ## Installation
12
15
 
@@ -32,6 +35,21 @@ If you get the report includes the private repository, please set environment va
32
35
 
33
36
  $ export GHCONTRIB_TOKEN="<your access token>"
34
37
 
38
+ ## Example
39
+
40
+ ```
41
+ $ gh-contrib report -u chaspy -s 2018-09-13 -e 2018-09-14
42
+ Hi chaspy, this is your contribution report :tada: in 2018-09-13..2018-09-14
43
+ # Pull Request
44
+ your created and merged pull request is 2!!
45
+
46
+ Add badges
47
+ https://github.com/chaspy/gh-contrib/pull/11
48
+
49
+ Exit when get abnormal status code
50
+ https://github.com/chaspy/gh-contrib/pull/10
51
+ ```
52
+
35
53
  ## Development
36
54
 
37
55
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
@@ -24,6 +24,7 @@ Gem::Specification.new do |spec|
24
24
  spec.add_development_dependency "bundler", "~> 1.16"
25
25
  spec.add_development_dependency "rake", "~> 10.0"
26
26
  spec.add_development_dependency "rspec", "~> 3.0"
27
+ spec.add_development_dependency "aruba"
27
28
 
28
29
  spec.add_dependency "thor"
29
30
  end
@@ -4,24 +4,16 @@ require 'net/https'
4
4
  require 'json'
5
5
 
6
6
  class CLI < Thor
7
- desc "report your contribution","-u <user>"
7
+ desc "report your contribution","--user <user name> --start <YYYY-MM-DD> --end <YYYY-MM-DD>"
8
8
  option :user, type: :string, aliases: '-u', desc: 'GitHub user name'
9
9
  option :start, type: :string, aliases: '-s', desc: 'Start date to get your contribution'
10
10
  option :end, type: :string, aliases: '-e', desc: 'End date to get your contribution'
11
11
  def report
12
- # validate arguments
13
12
  u = options[:user]
14
13
  s = options[:start]
15
14
  e = options[:end]
16
- if u.empty?
17
- return false
18
- elsif !s.match(/\d{4}-\d{2}-\d{2}/)
19
- return false
20
- elsif !e.match(/\d{4}-\d{2}-\d{2}/)
21
- return false
22
- else
23
- true
24
- end
15
+
16
+ exit if !validate(u,s,e)
25
17
 
26
18
  terms = "#{s}"+".."+"#{e}"
27
19
  path = "/search/issues?q=type:pr+in:body+is:merged+merged:#{terms}+author:#{u}&per_page=100"
@@ -34,6 +26,12 @@ class CLI < Thor
34
26
  http.request(req)
35
27
  }
36
28
 
29
+ if response.code != "200" then
30
+ puts "Get error from GitHub"
31
+ puts "#{response.code} #{response.message}"
32
+ exit
33
+ end
34
+
37
35
  result = JSON.parse(response.body)
38
36
 
39
37
  puts "Hi #{u}, this is your contribution report :tada: in #{terms}"
@@ -46,6 +44,16 @@ class CLI < Thor
46
44
  puts i['html_url']
47
45
  puts ""
48
46
  }
49
-
47
+ end
48
+
49
+ private
50
+ def validate(u,s,e)
51
+ if !s.match(/^\d{4}-\d{2}-\d{2}$/)
52
+ return false
53
+ elsif !e.match(/^\d{4}-\d{2}-\d{2}$/)
54
+ return false
55
+ else
56
+ true
57
+ end
50
58
  end
51
59
  end
@@ -1,5 +1,5 @@
1
1
  module Gh
2
2
  module Contrib
3
- VERSION = "0.1.0"
3
+ VERSION = "0.2.0"
4
4
  end
5
5
  end
@@ -1,3 +1,6 @@
1
1
  #!/bin/bash
2
2
  set -x
3
+ gem install bundler
4
+ bundle install
5
+ bundle exec rspec
3
6
  bundle exec exe/gh-contrib report -u chaspy -s 2018-08-31 -e 2018-09-05
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gh-contrib
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - kondo takeshi
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-09-08 00:00:00.000000000 Z
11
+ date: 2018-09-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '3.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: aruba
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: thor
57
71
  requirement: !ruby/object:Gem::Requirement