stand 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: ada5f35baff401668f87f31f92f91b1770e9dbef
4
+ data.tar.gz: 681319591617aeba132531ad2d88eeb30d5e2d76
5
+ SHA512:
6
+ metadata.gz: b6b90e3df446ad7b4b536b552c455dfa42736c2576c1ec40dde224b5cf68b59573e08e64d27a8cec1fd8bf923a294f7c6173faa73e45857e682158e1075648e7
7
+ data.tar.gz: b1a74aacda57b791b7510f995418bf263d279695ac4ff7114feb225d8025cbcb71bc3c93be31321f855202175a79cbb9739991978e2b51d1444c780900e3c6ab
data/.gitignore ADDED
@@ -0,0 +1,2 @@
1
+ standup.yml
2
+ *.gem
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,168 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ standup (0.0.1)
5
+ activesupport
6
+ easy_app_helper
7
+ gitlab
8
+
9
+ GEM
10
+ remote: https://rubygems.org/
11
+ specs:
12
+ activesupport (5.0.1)
13
+ concurrent-ruby (~> 1.0, >= 1.0.2)
14
+ i18n (~> 0.7)
15
+ minitest (~> 5.1)
16
+ tzinfo (~> 1.1)
17
+ addressable (2.5.0)
18
+ public_suffix (~> 2.0, >= 2.0.2)
19
+ ast (2.3.0)
20
+ builder (3.2.3)
21
+ ci_reporter (2.0.0)
22
+ builder (>= 2.1.2)
23
+ ci_reporter_rspec (1.0.0)
24
+ ci_reporter (~> 2.0)
25
+ rspec (>= 2.14, < 4)
26
+ coderay (1.1.1)
27
+ concurrent-ruby (1.0.4)
28
+ crack (0.4.3)
29
+ safe_yaml (~> 1.0.0)
30
+ deep_merge (1.1.1)
31
+ diff-lcs (1.3)
32
+ docile (1.1.5)
33
+ easy_app_helper (4.2.3)
34
+ activesupport
35
+ stacked_config (~> 2.0.0)
36
+ ffi (1.9.17)
37
+ formatador (0.2.5)
38
+ gitlab (3.7.0)
39
+ httparty (~> 0.13.0)
40
+ terminal-table
41
+ guard (2.14.1)
42
+ formatador (>= 0.2.4)
43
+ listen (>= 2.7, < 4.0)
44
+ lumberjack (~> 1.0)
45
+ nenv (~> 0.1)
46
+ notiffany (~> 0.0)
47
+ pry (>= 0.9.12)
48
+ shellany (~> 0.0)
49
+ thor (>= 0.18.1)
50
+ guard-compat (1.2.1)
51
+ guard-rspec (4.7.3)
52
+ guard (~> 2.1)
53
+ guard-compat (~> 1.1)
54
+ rspec (>= 2.99.0, < 4.0)
55
+ guard-rubocop (1.2.0)
56
+ guard (~> 2.0)
57
+ rubocop (~> 0.20)
58
+ hashdiff (0.3.2)
59
+ httparty (0.13.7)
60
+ json (~> 1.8)
61
+ multi_xml (>= 0.5.2)
62
+ i18n (0.8.0)
63
+ json (1.8.6)
64
+ listen (3.1.5)
65
+ rb-fsevent (~> 0.9, >= 0.9.4)
66
+ rb-inotify (~> 0.9, >= 0.9.7)
67
+ ruby_dep (~> 1.2)
68
+ lumberjack (1.0.11)
69
+ method_source (0.8.2)
70
+ minitest (5.10.1)
71
+ multi_xml (0.6.0)
72
+ nenv (0.3.0)
73
+ notiffany (0.1.1)
74
+ nenv (~> 0.1)
75
+ shellany (~> 0.0)
76
+ parser (2.4.0.0)
77
+ ast (~> 2.2)
78
+ powerpack (0.1.1)
79
+ pry (0.10.4)
80
+ coderay (~> 1.1.0)
81
+ method_source (~> 0.8.1)
82
+ slop (~> 3.4)
83
+ psych (2.0.8)
84
+ public_suffix (2.0.5)
85
+ rack (2.0.1)
86
+ rack-test (0.6.3)
87
+ rack (>= 1.0)
88
+ rainbow (2.2.1)
89
+ rake (12.0.0)
90
+ rb-fsevent (0.9.8)
91
+ rb-inotify (0.9.8)
92
+ ffi (>= 0.5.0)
93
+ rspec (3.5.0)
94
+ rspec-core (~> 3.5.0)
95
+ rspec-expectations (~> 3.5.0)
96
+ rspec-mocks (~> 3.5.0)
97
+ rspec-core (3.5.4)
98
+ rspec-support (~> 3.5.0)
99
+ rspec-expectations (3.5.0)
100
+ diff-lcs (>= 1.2.0, < 2.0)
101
+ rspec-support (~> 3.5.0)
102
+ rspec-its (1.2.0)
103
+ rspec-core (>= 3.0.0)
104
+ rspec-expectations (>= 3.0.0)
105
+ rspec-mocks (3.5.0)
106
+ diff-lcs (>= 1.2.0, < 2.0)
107
+ rspec-support (~> 3.5.0)
108
+ rspec-support (3.5.0)
109
+ rubocop (0.47.1)
110
+ parser (>= 2.3.3.1, < 3.0)
111
+ powerpack (~> 0.1)
112
+ rainbow (>= 1.99.1, < 3.0)
113
+ ruby-progressbar (~> 1.7)
114
+ unicode-display_width (~> 1.0, >= 1.0.1)
115
+ ruby-progressbar (1.8.1)
116
+ ruby_dep (1.5.0)
117
+ safe_yaml (1.0.4)
118
+ shellany (0.0.1)
119
+ simplecov (0.13.0)
120
+ docile (~> 1.1.0)
121
+ json (>= 1.8, < 3)
122
+ simplecov-html (~> 0.10.0)
123
+ simplecov-html (0.10.0)
124
+ simplecov-rcov (0.2.3)
125
+ simplecov (>= 0.4.1)
126
+ slop (3.6.0)
127
+ stacked_config (2.0.1)
128
+ slop (~> 3.0)
129
+ super_stack (~> 1.0)
130
+ super_stack (1.0.2)
131
+ deep_merge
132
+ psych (= 2.0.8)
133
+ terminal-table (1.7.3)
134
+ unicode-display_width (~> 1.1.1)
135
+ thor (0.19.4)
136
+ thread_safe (0.3.5)
137
+ timecop (0.8.1)
138
+ tzinfo (1.2.2)
139
+ thread_safe (~> 0.1)
140
+ unicode-display_width (1.1.3)
141
+ webmock (2.3.2)
142
+ addressable (>= 2.3.6)
143
+ crack (>= 0.3.2)
144
+ hashdiff
145
+
146
+ PLATFORMS
147
+ ruby
148
+
149
+ DEPENDENCIES
150
+ ci_reporter
151
+ ci_reporter_rspec
152
+ guard
153
+ guard-rspec
154
+ guard-rubocop
155
+ pry
156
+ rack-test
157
+ rake
158
+ rspec
159
+ rspec-its
160
+ rubocop
161
+ simplecov
162
+ simplecov-rcov
163
+ standup!
164
+ timecop
165
+ webmock
166
+
167
+ BUNDLED WITH
168
+ 1.13.7
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License
2
+
3
+ Copyright (c) 2017 Capitaine Train SAS. https://www.trainline.eu/
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,34 @@
1
+ # Standup
2
+
3
+ This gem is a simple binary to help you generate reports of your work.
4
+
5
+ # Usage
6
+
7
+ Simply,
8
+
9
+ gem install standup
10
+
11
+ And you are good to go via
12
+
13
+ > standup --username <gitlab_username>
14
+ ----- DONE -----
15
+ A Merge Request title 1 (project_name1)
16
+ A Merge request title 2 (project_name2)
17
+ ----------------
18
+
19
+ --- REVIEWED ---
20
+ A reviewed merge request title 1 (project_name2)
21
+ ----------------
22
+
23
+ Forgot a standup two days ago? Just
24
+
25
+ standup --from 2017-02-01 --to 2017-02-02 --username <gitlab_username>
26
+
27
+
28
+ # Integrations
29
+
30
+ For now, only Gitlab's API.
31
+
32
+ # License
33
+
34
+ MIT Licensed © Capitaine Train SAS
data/bin/standup ADDED
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+ require 'standup'
3
+
4
+ Standup::App.new.run
@@ -0,0 +1,38 @@
1
+ require 'easy_app_helper'
2
+
3
+ require 'standup/config_parser'
4
+ require 'standup/report_generator'
5
+
6
+ module Standup
7
+ class App
8
+ include EasyAppHelper
9
+
10
+ VERSION = '0.0.1'
11
+ NAME = 'Auto Standup'
12
+ DESCRIPTION = 'Fetchs data from gitlab to report what you have done'
13
+
14
+ def initialize
15
+ config.config_file_base_name = 'standup'
16
+ config.describes_application app_name: NAME,
17
+ app_version: VERSION,
18
+ app_description: DESCRIPTION
19
+ add_script_options
20
+ end
21
+
22
+ def add_script_options
23
+ config.add_command_line_section('Application Options') do |s|
24
+ s.on :from, 'From specific day', argument: true
25
+ s.on :to, 'To specific day', argument: true
26
+ s.on :username, 'Username', argument: true
27
+ end
28
+ end
29
+
30
+ def run
31
+ settings = ConfigParser.new(config)
32
+
33
+ ReportGenerator.new(settings).gitlab_report!
34
+ end
35
+ end
36
+ end
37
+
38
+ Standup::App.new.run
@@ -0,0 +1,56 @@
1
+ module Standup
2
+ class ConfigParser
3
+
4
+ attr_reader :to_date, :from_date, :config
5
+
6
+ def initialize(config)
7
+ @config = config
8
+
9
+ help_needed?
10
+ verbose?
11
+
12
+ validate_config!
13
+
14
+ @to_date, @from_date = parse_dates
15
+ end
16
+
17
+ private
18
+
19
+ def validate_config!
20
+ fail 'Please provide a --username parameter' unless config[:username]
21
+ fail 'Please provide a Gitlab access token in your configuration file' unless config['gitlab_access_token']
22
+ end
23
+
24
+ def help_needed?
25
+ return unless @config[:help]
26
+
27
+ puts @config.command_line_help
28
+ exit 0
29
+ end
30
+
31
+ def verbose?
32
+ return unless @config[:verbose]
33
+
34
+ puts ' ## Here is a display of the config sources and contents'
35
+ puts @config.detailed_layers_info
36
+ puts ' ## This the resulting merged config'
37
+ puts @config[].to_yaml
38
+ end
39
+
40
+ def parse_dates
41
+ if @config[:from]
42
+ from_date = Time.parse(@config[:from])
43
+ else
44
+ from_date = (Time.now - 1.day).beginning_of_day
45
+ end
46
+
47
+ if @config[:to]
48
+ to_date = Time.parse(@config[:to])
49
+ else
50
+ to_date = Time.now.beginning_of_day
51
+ end
52
+
53
+ [to_date, from_date]
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,80 @@
1
+ require 'gitlab'
2
+
3
+ module Standup
4
+ class ReportGenerator
5
+ def initialize(settings)
6
+ @settings = settings
7
+
8
+ configure_gitlab_client
9
+ end
10
+
11
+ def gitlab_report!
12
+ done = []
13
+ reviewed = []
14
+ config = @settings.config
15
+ to_date = @settings.to_date
16
+ from_date = @settings.from_date
17
+
18
+ projects_query = {
19
+ per_page: 10,
20
+ scope: :owned,
21
+ search: config['gitlab_project_search_pattern'],
22
+ order_by: :last_activity_at,
23
+ sort: :desc
24
+ }
25
+
26
+ mrs_query = {
27
+ per_page: 100,
28
+ state: :merged,
29
+ order_by: :updated_at,
30
+ sort: :desc
31
+ }
32
+
33
+ projects = Gitlab.projects(projects_query)
34
+
35
+ projects.each do |project|
36
+ begin
37
+ merged_mrs = Gitlab.merge_requests(project.id, mrs_query)
38
+ rescue Gitlab::Error::Forbidden
39
+ # Don't seem to have acces to some MRs
40
+ merged_mrs = []
41
+ end
42
+
43
+ merged_mrs.each do |mr|
44
+ updated_at = Time.parse(mr.updated_at)
45
+ author = mr.author.username
46
+ assignee = mr.assignee && mr.assignee.username
47
+
48
+ if updated_at < to_date &&
49
+ updated_at > from_date
50
+
51
+ if author == config[:username]
52
+ done << "#{mr.title} (#{project.name})"
53
+ elsif assignee == config[:username]
54
+ reviewed << "#{mr.title} (#{project.name})"
55
+ end
56
+ end
57
+ end
58
+ end
59
+
60
+ puts '----- DONE -----'
61
+ puts done
62
+ puts "----------------\n\n"
63
+
64
+ puts '--- REVIEWED ---'
65
+ puts reviewed
66
+ puts "----------------\n\n"
67
+ end
68
+
69
+ private
70
+
71
+ def configure_gitlab_client
72
+ api_endpoint = @settings.config['gitlab_endpoint'] || 'https://gitlab.com/api/v3'.freeze
73
+
74
+ Gitlab.configure do |c|
75
+ c.endpoint = api_endpoint
76
+ c.private_token = @settings.config['gitlab_access_token']
77
+ end
78
+ end
79
+ end
80
+ end
@@ -0,0 +1,3 @@
1
+ module Standup
2
+ VERSION = '0.0.1'
3
+ end
data/lib/standup.rb ADDED
@@ -0,0 +1,6 @@
1
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
2
+ require 'active_support/core_ext/time'
3
+ require 'active_support/core_ext/numeric/time'
4
+
5
+ require 'standup/version'
6
+ require 'standup/app'
data/stand.gemspec ADDED
@@ -0,0 +1,41 @@
1
+ $: << File.expand_path('../lib', __FILE__)
2
+ require 'standup/version'
3
+
4
+ Gem::Specification.new do |s|
5
+ s.name = 'stand'
6
+ s.licenses = ['MIT']
7
+ s.version = Standup::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ['Paul Bonaud', 'Théophile Helleboid']
10
+ s.email = ['paul.bonaud@trainline.com']
11
+ s.homepage = 'https://rubygems.org/gems/stand'
12
+ s.summary = %q(Generate your standup reports instantly.)
13
+ s.description = %q(Generate your standup reports instantly.)
14
+
15
+ s.files = `git ls-files`.split("\n")
16
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
17
+ s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
18
+ s.require_paths = ['lib']
19
+
20
+ s.required_ruby_version = '>= 2.2.2'
21
+
22
+ s.add_dependency 'easy_app_helper'
23
+ s.add_dependency 'activesupport'
24
+ s.add_dependency 'gitlab'
25
+
26
+ s.add_development_dependency 'pry'
27
+ s.add_development_dependency 'guard'
28
+ s.add_development_dependency 'guard-rspec'
29
+ s.add_development_dependency 'guard-rubocop'
30
+ s.add_development_dependency 'rubocop'
31
+ s.add_development_dependency 'ci_reporter'
32
+ s.add_development_dependency 'ci_reporter_rspec'
33
+ s.add_development_dependency 'rack-test'
34
+ s.add_development_dependency 'rake'
35
+ s.add_development_dependency 'rspec'
36
+ s.add_development_dependency 'rspec-its'
37
+ s.add_development_dependency 'simplecov'
38
+ s.add_development_dependency 'simplecov-rcov'
39
+ s.add_development_dependency 'timecop'
40
+ s.add_development_dependency 'webmock'
41
+ end
metadata ADDED
@@ -0,0 +1,310 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: stand
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Paul Bonaud
8
+ - Théophile Helleboid
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2017-05-01 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: easy_app_helper
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: '0'
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ version: '0'
28
+ - !ruby/object:Gem::Dependency
29
+ name: activesupport
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ - !ruby/object:Gem::Dependency
43
+ name: gitlab
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: '0'
49
+ type: :runtime
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ - !ruby/object:Gem::Dependency
57
+ name: pry
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ - !ruby/object:Gem::Dependency
71
+ name: guard
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: '0'
84
+ - !ruby/object:Gem::Dependency
85
+ name: guard-rspec
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
91
+ type: :development
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ version: '0'
98
+ - !ruby/object:Gem::Dependency
99
+ name: guard-rubocop
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: '0'
105
+ type: :development
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
112
+ - !ruby/object:Gem::Dependency
113
+ name: rubocop
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
119
+ type: :development
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - ">="
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: ci_reporter
128
+ requirement: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: '0'
133
+ type: :development
134
+ prerelease: false
135
+ version_requirements: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - ">="
138
+ - !ruby/object:Gem::Version
139
+ version: '0'
140
+ - !ruby/object:Gem::Dependency
141
+ name: ci_reporter_rspec
142
+ requirement: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - ">="
145
+ - !ruby/object:Gem::Version
146
+ version: '0'
147
+ type: :development
148
+ prerelease: false
149
+ version_requirements: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - ">="
152
+ - !ruby/object:Gem::Version
153
+ version: '0'
154
+ - !ruby/object:Gem::Dependency
155
+ name: rack-test
156
+ requirement: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - ">="
159
+ - !ruby/object:Gem::Version
160
+ version: '0'
161
+ type: :development
162
+ prerelease: false
163
+ version_requirements: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - ">="
166
+ - !ruby/object:Gem::Version
167
+ version: '0'
168
+ - !ruby/object:Gem::Dependency
169
+ name: rake
170
+ requirement: !ruby/object:Gem::Requirement
171
+ requirements:
172
+ - - ">="
173
+ - !ruby/object:Gem::Version
174
+ version: '0'
175
+ type: :development
176
+ prerelease: false
177
+ version_requirements: !ruby/object:Gem::Requirement
178
+ requirements:
179
+ - - ">="
180
+ - !ruby/object:Gem::Version
181
+ version: '0'
182
+ - !ruby/object:Gem::Dependency
183
+ name: rspec
184
+ requirement: !ruby/object:Gem::Requirement
185
+ requirements:
186
+ - - ">="
187
+ - !ruby/object:Gem::Version
188
+ version: '0'
189
+ type: :development
190
+ prerelease: false
191
+ version_requirements: !ruby/object:Gem::Requirement
192
+ requirements:
193
+ - - ">="
194
+ - !ruby/object:Gem::Version
195
+ version: '0'
196
+ - !ruby/object:Gem::Dependency
197
+ name: rspec-its
198
+ requirement: !ruby/object:Gem::Requirement
199
+ requirements:
200
+ - - ">="
201
+ - !ruby/object:Gem::Version
202
+ version: '0'
203
+ type: :development
204
+ prerelease: false
205
+ version_requirements: !ruby/object:Gem::Requirement
206
+ requirements:
207
+ - - ">="
208
+ - !ruby/object:Gem::Version
209
+ version: '0'
210
+ - !ruby/object:Gem::Dependency
211
+ name: simplecov
212
+ requirement: !ruby/object:Gem::Requirement
213
+ requirements:
214
+ - - ">="
215
+ - !ruby/object:Gem::Version
216
+ version: '0'
217
+ type: :development
218
+ prerelease: false
219
+ version_requirements: !ruby/object:Gem::Requirement
220
+ requirements:
221
+ - - ">="
222
+ - !ruby/object:Gem::Version
223
+ version: '0'
224
+ - !ruby/object:Gem::Dependency
225
+ name: simplecov-rcov
226
+ requirement: !ruby/object:Gem::Requirement
227
+ requirements:
228
+ - - ">="
229
+ - !ruby/object:Gem::Version
230
+ version: '0'
231
+ type: :development
232
+ prerelease: false
233
+ version_requirements: !ruby/object:Gem::Requirement
234
+ requirements:
235
+ - - ">="
236
+ - !ruby/object:Gem::Version
237
+ version: '0'
238
+ - !ruby/object:Gem::Dependency
239
+ name: timecop
240
+ requirement: !ruby/object:Gem::Requirement
241
+ requirements:
242
+ - - ">="
243
+ - !ruby/object:Gem::Version
244
+ version: '0'
245
+ type: :development
246
+ prerelease: false
247
+ version_requirements: !ruby/object:Gem::Requirement
248
+ requirements:
249
+ - - ">="
250
+ - !ruby/object:Gem::Version
251
+ version: '0'
252
+ - !ruby/object:Gem::Dependency
253
+ name: webmock
254
+ requirement: !ruby/object:Gem::Requirement
255
+ requirements:
256
+ - - ">="
257
+ - !ruby/object:Gem::Version
258
+ version: '0'
259
+ type: :development
260
+ prerelease: false
261
+ version_requirements: !ruby/object:Gem::Requirement
262
+ requirements:
263
+ - - ">="
264
+ - !ruby/object:Gem::Version
265
+ version: '0'
266
+ description: Generate your standup reports instantly.
267
+ email:
268
+ - paul.bonaud@trainline.com
269
+ executables:
270
+ - standup
271
+ extensions: []
272
+ extra_rdoc_files: []
273
+ files:
274
+ - ".gitignore"
275
+ - Gemfile
276
+ - Gemfile.lock
277
+ - LICENSE
278
+ - README.md
279
+ - bin/standup
280
+ - lib/standup.rb
281
+ - lib/standup/app.rb
282
+ - lib/standup/config_parser.rb
283
+ - lib/standup/report_generator.rb
284
+ - lib/standup/version.rb
285
+ - stand.gemspec
286
+ homepage: https://rubygems.org/gems/stand
287
+ licenses:
288
+ - MIT
289
+ metadata: {}
290
+ post_install_message:
291
+ rdoc_options: []
292
+ require_paths:
293
+ - lib
294
+ required_ruby_version: !ruby/object:Gem::Requirement
295
+ requirements:
296
+ - - ">="
297
+ - !ruby/object:Gem::Version
298
+ version: 2.2.2
299
+ required_rubygems_version: !ruby/object:Gem::Requirement
300
+ requirements:
301
+ - - ">="
302
+ - !ruby/object:Gem::Version
303
+ version: '0'
304
+ requirements: []
305
+ rubyforge_project:
306
+ rubygems_version: 2.5.2
307
+ signing_key:
308
+ specification_version: 4
309
+ summary: Generate your standup reports instantly.
310
+ test_files: []