caperoma 0.1.0 → 4.0.1
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 +5 -5
- data/.ruby-version +1 -0
- data/Capefile +48 -0
- data/Capefile.template +48 -0
- data/Capefile.test +20 -0
- data/Gemfile +25 -10
- data/Gemfile.lock +196 -77
- data/HELP +321 -0
- data/README.md +528 -0
- data/Rakefile +73 -18
- data/VERSION +1 -1
- data/bin/caperoma +47 -11
- data/caperoma.gemspec +144 -45
- data/config/crontab +10 -0
- data/config/schedule.rb +21 -0
- data/lib/caperoma.rb +409 -9
- data/lib/caperoma/models/account.rb +47 -0
- data/lib/caperoma/models/application_record.rb +5 -0
- data/lib/caperoma/models/branch.rb +6 -0
- data/lib/caperoma/models/project.rb +14 -0
- data/lib/caperoma/models/property.rb +5 -0
- data/lib/caperoma/models/report.rb +177 -0
- data/lib/caperoma/models/report_recipient.rb +6 -0
- data/lib/caperoma/models/reports/daily_report.rb +23 -0
- data/lib/caperoma/models/reports/retrospective_report.rb +19 -0
- data/lib/caperoma/models/reports/three_day_report.rb +19 -0
- data/lib/caperoma/models/task.rb +368 -0
- data/lib/caperoma/models/tasks/bug.rb +36 -0
- data/lib/caperoma/models/tasks/chore.rb +40 -0
- data/lib/caperoma/models/tasks/feature.rb +27 -0
- data/lib/caperoma/models/tasks/fix.rb +56 -0
- data/lib/caperoma/models/tasks/meeting.rb +40 -0
- data/lib/caperoma/models/tasks/modules/git.rb +65 -0
- data/lib/caperoma/models/tasks/task_with_commit.rb +40 -0
- data/lib/caperoma/models/tasks/task_with_separate_branch.rb +42 -0
- data/lib/caperoma/services/airbrake_email_processor.rb +47 -0
- data/lib/caperoma/services/pivotal_fetcher.rb +108 -0
- data/lib/caperoma/version.rb +9 -0
- data/spec/caperoma_spec.rb +3 -21
- data/spec/factories/accounts.rb +10 -0
- data/spec/factories/branches.rb +9 -0
- data/spec/factories/projects.rb +8 -0
- data/spec/factories/report_recipients.rb +7 -0
- data/spec/factories/reports.rb +16 -0
- data/spec/factories/tasks.rb +37 -0
- data/spec/features/bug_spec.rb +60 -0
- data/spec/features/chore_spec.rb +60 -0
- data/spec/features/command_unknown_spec.rb +14 -0
- data/spec/features/config_spec.rb +161 -0
- data/spec/features/feature_spec.rb +60 -0
- data/spec/features/finish_spec.rb +18 -0
- data/spec/features/fix_spec.rb +60 -0
- data/spec/features/meeting_spec.rb +22 -0
- data/spec/features/projects_spec.rb +17 -0
- data/spec/features/report_recipientss_spec.rb +117 -0
- data/spec/features/reports_spec.rb +65 -0
- data/spec/features/status_spec.rb +33 -0
- data/spec/features/version_spec.rb +11 -0
- data/spec/models/account_spec.rb +51 -0
- data/spec/models/branch_spec.rb +8 -0
- data/spec/models/bug_spec.rb +33 -0
- data/spec/models/chore_spec.rb +33 -0
- data/spec/models/daily_report_spec.rb +38 -0
- data/spec/models/feature_spec.rb +33 -0
- data/spec/models/fix_spec.rb +55 -0
- data/spec/models/meeting_spec.rb +33 -0
- data/spec/models/project_spec.rb +11 -0
- data/spec/models/report_recipient_spec.rb +22 -0
- data/spec/models/report_spec.rb +16 -0
- data/spec/models/retrospective_report_spec.rb +38 -0
- data/spec/models/task_spec.rb +613 -0
- data/spec/models/task_with_commit_spec.rb +105 -0
- data/spec/models/task_with_separate_branch_spec.rb +97 -0
- data/spec/models/three_day_report_spec.rb +49 -0
- data/spec/spec_helper.rb +26 -16
- data/spec/support/capefile_generator.rb +36 -0
- data/spec/support/database_cleaner.rb +21 -0
- data/spec/support/stubs.rb +178 -9
- metadata +283 -42
- data/.document +0 -5
- data/README.rdoc +0 -26
- data/lib/caperoma/credentials.rb +0 -13
- data/lib/caperoma/jira_client.rb +0 -57
- data/spec/caperoma/credentials_spec.rb +0 -25
- data/spec/caperoma/jira_spec.rb +0 -35
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 8a648f676cfe9c4062e1598073274c668162b813e7ddfeba586d3c46479bfe76
|
4
|
+
data.tar.gz: 91239642ce5d990d056f72c2c1147ce37ba9252bbe69c180cdd11e7232f2d229
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: afa44dd7474666982ee43221b177cc6c27837df1ac5dbe472abbe2a6b3a4260c0e8618924d82d0bbcb204dadbefb8784f694b43be1237b28997fdf4f51bdf19e
|
7
|
+
data.tar.gz: b5414cb1fa697731ebdf4172519862506a0531fb3f554c4307503e62100ec821e5800585d40848a604b3ca0990cf88fb62e9f0a670fe6511fde6f9dbd34360fd
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.6.3
|
data/Capefile
ADDED
@@ -0,0 +1,48 @@
|
|
1
|
+
# Capefile is a settings file for Caperoma (programming automation system).
|
2
|
+
# More detailed information about Caperoma can be found on these sites:
|
3
|
+
# http://caperoma.io
|
4
|
+
# https://github.com/zoopyserg/caperoma/
|
5
|
+
# https://rubygems.org/gems/caperoma
|
6
|
+
# http://www.rubydoc.info/gems/caperoma/4.0.1
|
7
|
+
|
8
|
+
# This file is formatted as a YAML document.
|
9
|
+
|
10
|
+
# A working example of this configuration file in a live project can be seen here:
|
11
|
+
# https://github.com/zoopyserg/caperoma/blob/master/Capefile
|
12
|
+
|
13
|
+
# --- GITHUB SETTINGS:
|
14
|
+
## The relative path to the repository of this project on Github, to which you need to send pull requests.
|
15
|
+
github_repo: zoopyserg/caperoma
|
16
|
+
|
17
|
+
# --- JIRA SETTINGS:
|
18
|
+
## The full URL of your Jira server where you will create tasks.
|
19
|
+
jira_url: https://zoopyserg.atlassian.net/
|
20
|
+
|
21
|
+
## The ID of this project on your Jira system.
|
22
|
+
jira_project_id: 10001
|
23
|
+
|
24
|
+
## Issue identifiers of various types on your Jira system.
|
25
|
+
jira_issue_type_ids:
|
26
|
+
feature: 10101
|
27
|
+
bug: 10103
|
28
|
+
chore: 10100
|
29
|
+
fix: 10101
|
30
|
+
meeting: 10100
|
31
|
+
|
32
|
+
## Jira conversion identifiers.
|
33
|
+
jira_transition_ids:
|
34
|
+
todo: 11
|
35
|
+
in_progress: 21
|
36
|
+
done: 31
|
37
|
+
|
38
|
+
# --- PIVOTAL TRAKCER SETTINGS:
|
39
|
+
## The ID of this project on the PivotalTracker site.
|
40
|
+
pivotal_tracker_project_id: 2374972
|
41
|
+
|
42
|
+
## What tasks to create in PivotalTracker in case the task from Pivotal is not attached to the task in Caperoma
|
43
|
+
## (i.e. the -p or --pivotal_id parameter was not specified at the time of the task start).
|
44
|
+
create_features_in_pivotal: true
|
45
|
+
create_bugs_in_pivotal: true
|
46
|
+
create_chores_in_pivotal: true
|
47
|
+
create_fixes_in_pivotal_as_chores: false
|
48
|
+
create_meetings_in_pivotal_as_chores: false
|
data/Capefile.template
ADDED
@@ -0,0 +1,48 @@
|
|
1
|
+
# Capefile is a settings file for Caperoma (programming automation system).
|
2
|
+
# More detailed information about Caperoma can be found on these sites:
|
3
|
+
# http://caperoma.io
|
4
|
+
# https://github.com/zoopyserg/caperoma/
|
5
|
+
# https://rubygems.org/gems/caperoma
|
6
|
+
# http://www.rubydoc.info/gems/caperoma/4.0.1
|
7
|
+
|
8
|
+
# This file is formatted as a YAML document.
|
9
|
+
|
10
|
+
# A working example of this configuration file in a live project can be seen here:
|
11
|
+
# https://github.com/zoopyserg/caperoma/blob/master/Capefile
|
12
|
+
|
13
|
+
# --- GITHUB SETTINGS:
|
14
|
+
## The relative path to the repository of this project on Github, to which you need to send pull requests.
|
15
|
+
# github_repo: owner/repository
|
16
|
+
|
17
|
+
# --- JIRA SETTINGS:
|
18
|
+
## The full URL of your Jira server where you will create tasks.
|
19
|
+
# jira_url: https://example.atlassian.net/
|
20
|
+
|
21
|
+
## The ID of this project on your Jira system.
|
22
|
+
# jira_project_id: 12345
|
23
|
+
|
24
|
+
## Issue identifiers of various types on your Jira system.
|
25
|
+
# jira_issue_type_ids:
|
26
|
+
# feature: 10101
|
27
|
+
# bug: 10103
|
28
|
+
# chore: 10100
|
29
|
+
# fix: 10101
|
30
|
+
# meeting: 10100
|
31
|
+
|
32
|
+
## Jira conversion identifiers.
|
33
|
+
# jira_transition_ids:
|
34
|
+
# todo: 11
|
35
|
+
# in_progress: 21
|
36
|
+
# done: 31
|
37
|
+
|
38
|
+
# --- PIVOTAL TRAKCER SETTINGS:
|
39
|
+
## The ID of this project on the PivotalTracker site.
|
40
|
+
# pivotal_tracker_project_id: 12345678
|
41
|
+
|
42
|
+
## What tasks to create in PivotalTracker in case the task from Pivotal is not attached to the task in Caperoma
|
43
|
+
## (i.e. the -p or --pivotal_id parameter was not specified at the time of the task start).
|
44
|
+
# create_features_in_pivotal: true
|
45
|
+
# create_bugs_in_pivotal: true
|
46
|
+
# create_chores_in_pivotal: true
|
47
|
+
# create_fixes_in_pivotal_as_chores: false
|
48
|
+
# create_meetings_in_pivotal_as_chores: false
|
data/Capefile.test
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
---
|
2
|
+
github_repo: owner/repo
|
3
|
+
jira_url: https://owner.atlassian.net/
|
4
|
+
jira_project_id: '123'
|
5
|
+
jira_issue_type_ids:
|
6
|
+
feature: 10101
|
7
|
+
bug: 10103
|
8
|
+
chore: 10100
|
9
|
+
fix: 10101
|
10
|
+
meeting: 10100
|
11
|
+
jira_transition_ids:
|
12
|
+
todo: 11
|
13
|
+
in_progress: 21
|
14
|
+
done: 31
|
15
|
+
pivotal_tracker_project_id: 2374972
|
16
|
+
create_features_in_pivotal: true
|
17
|
+
create_bugs_in_pivotal: true
|
18
|
+
create_chores_in_pivotal: true
|
19
|
+
create_fixes_in_pivotal_as_chores: false
|
20
|
+
create_meetings_in_pivotal_as_chores: false
|
data/Gemfile
CHANGED
@@ -1,16 +1,31 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
source 'https://rubygems.org'
|
4
|
+
|
5
|
+
ruby '2.6.3'
|
2
6
|
|
3
7
|
# Runtime dependencies
|
4
|
-
|
5
|
-
gem '
|
8
|
+
gem 'actionpack'
|
9
|
+
gem 'actionview'
|
10
|
+
gem 'activerecord'
|
11
|
+
gem 'activesupport'
|
12
|
+
gem 'faraday'
|
13
|
+
gem 'gmail'
|
14
|
+
gem 'jbuilder'
|
15
|
+
gem 'pivotal-tracker'
|
16
|
+
gem 'rubocop'
|
17
|
+
gem 'sqlite3'
|
18
|
+
gem 'time_difference'
|
19
|
+
gem 'whenever', require: false
|
6
20
|
|
7
|
-
# Add dependencies to develop your gem here.
|
8
|
-
# Include everything needed to run rake, tests, features, etc.
|
9
21
|
group :development do
|
10
|
-
gem '
|
11
|
-
gem '
|
12
|
-
gem '
|
13
|
-
gem '
|
14
|
-
gem '
|
22
|
+
gem 'bundler'
|
23
|
+
gem 'database_cleaner'
|
24
|
+
gem 'factory_bot_rails'
|
25
|
+
gem 'juwelier'
|
26
|
+
gem 'rdoc'
|
15
27
|
gem 'rspec'
|
28
|
+
gem 'shoulda'
|
29
|
+
gem 'shoulda-matchers'
|
30
|
+
gem 'timecop'
|
16
31
|
end
|
data/Gemfile.lock
CHANGED
@@ -1,99 +1,218 @@
|
|
1
1
|
GEM
|
2
|
-
remote:
|
2
|
+
remote: https://rubygems.org/
|
3
3
|
specs:
|
4
|
-
|
5
|
-
|
6
|
-
|
4
|
+
actionpack (5.2.3)
|
5
|
+
actionview (= 5.2.3)
|
6
|
+
activesupport (= 5.2.3)
|
7
|
+
rack (~> 2.0)
|
8
|
+
rack-test (>= 0.6.3)
|
9
|
+
rails-dom-testing (~> 2.0)
|
10
|
+
rails-html-sanitizer (~> 1.0, >= 1.0.2)
|
11
|
+
actionview (5.2.3)
|
12
|
+
activesupport (= 5.2.3)
|
13
|
+
builder (~> 3.1)
|
14
|
+
erubi (~> 1.4)
|
15
|
+
rails-dom-testing (~> 2.0)
|
16
|
+
rails-html-sanitizer (~> 1.0, >= 1.0.3)
|
17
|
+
activemodel (5.2.3)
|
18
|
+
activesupport (= 5.2.3)
|
19
|
+
activerecord (5.2.3)
|
20
|
+
activemodel (= 5.2.3)
|
21
|
+
activesupport (= 5.2.3)
|
22
|
+
arel (>= 9.0)
|
23
|
+
activesupport (5.2.3)
|
24
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
25
|
+
i18n (>= 0.7, < 2)
|
7
26
|
minitest (~> 5.1)
|
8
|
-
thread_safe (~> 0.1)
|
9
27
|
tzinfo (~> 1.1)
|
10
|
-
addressable (2.
|
11
|
-
|
28
|
+
addressable (2.6.0)
|
29
|
+
public_suffix (>= 2.0.2, < 4.0)
|
30
|
+
arel (9.0.0)
|
31
|
+
ast (2.4.0)
|
32
|
+
builder (3.2.3)
|
33
|
+
chronic (0.10.2)
|
34
|
+
concurrent-ruby (1.1.5)
|
35
|
+
crack (0.4.3)
|
36
|
+
safe_yaml (~> 1.0.0)
|
37
|
+
crass (1.0.4)
|
38
|
+
database_cleaner (1.7.0)
|
12
39
|
descendants_tracker (0.0.4)
|
13
40
|
thread_safe (~> 0.3, >= 0.3.1)
|
14
|
-
diff-lcs (1.
|
15
|
-
|
16
|
-
|
41
|
+
diff-lcs (1.3)
|
42
|
+
domain_name (0.5.20190701)
|
43
|
+
unf (>= 0.0.5, < 1.0.0)
|
44
|
+
erubi (1.8.0)
|
45
|
+
factory_bot (5.0.2)
|
46
|
+
activesupport (>= 4.2.0)
|
47
|
+
factory_bot_rails (5.0.2)
|
48
|
+
factory_bot (~> 5.0.2)
|
49
|
+
railties (>= 4.2.0)
|
50
|
+
faraday (0.15.4)
|
17
51
|
multipart-post (>= 1.2, < 3)
|
18
|
-
git (1.
|
19
|
-
github_api (0.
|
20
|
-
addressable (~> 2.
|
21
|
-
descendants_tracker (~> 0.0.
|
22
|
-
faraday (~> 0.8
|
23
|
-
hashie (>=
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
52
|
+
git (1.5.0)
|
53
|
+
github_api (0.18.2)
|
54
|
+
addressable (~> 2.4)
|
55
|
+
descendants_tracker (~> 0.0.4)
|
56
|
+
faraday (~> 0.8)
|
57
|
+
hashie (~> 3.5, >= 3.5.2)
|
58
|
+
oauth2 (~> 1.0)
|
59
|
+
gmail (0.7.1)
|
60
|
+
gmail_xoauth (>= 0.3.0)
|
61
|
+
mail (>= 2.2.1)
|
62
|
+
gmail_xoauth (0.4.2)
|
63
|
+
oauth (>= 0.3.6)
|
64
|
+
hashie (3.6.0)
|
65
|
+
highline (2.0.2)
|
66
|
+
http-cookie (1.0.3)
|
67
|
+
domain_name (~> 0.5)
|
68
|
+
i18n (1.6.0)
|
69
|
+
concurrent-ruby (~> 1.0)
|
70
|
+
jaro_winkler (1.5.3)
|
71
|
+
jbuilder (2.9.1)
|
72
|
+
activesupport (>= 4.2.0)
|
73
|
+
juwelier (2.4.9)
|
31
74
|
builder
|
32
|
-
bundler
|
33
|
-
git
|
75
|
+
bundler
|
76
|
+
git
|
34
77
|
github_api
|
35
|
-
highline
|
36
|
-
|
78
|
+
highline
|
79
|
+
kamelcase (~> 0)
|
80
|
+
nokogiri
|
81
|
+
psych
|
37
82
|
rake
|
38
83
|
rdoc
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
84
|
+
semver2
|
85
|
+
jwt (2.2.1)
|
86
|
+
kamelcase (0.0.2)
|
87
|
+
semver2 (~> 3)
|
88
|
+
loofah (2.2.3)
|
89
|
+
crass (~> 1.0.2)
|
90
|
+
nokogiri (>= 1.5.9)
|
91
|
+
mail (2.7.1)
|
92
|
+
mini_mime (>= 0.1.1)
|
93
|
+
method_source (0.9.2)
|
94
|
+
mime-types (3.2.2)
|
95
|
+
mime-types-data (~> 3.2015)
|
96
|
+
mime-types-data (3.2019.0331)
|
97
|
+
mini_mime (1.0.2)
|
98
|
+
mini_portile2 (2.4.0)
|
99
|
+
minitest (5.11.3)
|
100
|
+
multi_json (1.13.1)
|
101
|
+
multi_xml (0.6.0)
|
102
|
+
multipart-post (2.1.1)
|
103
|
+
netrc (0.11.0)
|
104
|
+
nokogiri (1.10.3)
|
105
|
+
mini_portile2 (~> 2.4.0)
|
106
|
+
nokogiri-happymapper (0.8.1)
|
107
|
+
nokogiri (~> 1.5)
|
108
|
+
oauth (0.5.4)
|
109
|
+
oauth2 (1.4.1)
|
110
|
+
faraday (>= 0.8, < 0.16.0)
|
111
|
+
jwt (>= 1.0, < 3.0)
|
55
112
|
multi_json (~> 1.3)
|
56
113
|
multi_xml (~> 0.5)
|
57
|
-
rack (
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
114
|
+
rack (>= 1.2, < 3)
|
115
|
+
parallel (1.17.0)
|
116
|
+
parser (2.6.3.0)
|
117
|
+
ast (~> 2.4.0)
|
118
|
+
pivotal-tracker (0.5.13)
|
119
|
+
builder
|
120
|
+
crack
|
121
|
+
nokogiri (>= 1.5.5)
|
122
|
+
nokogiri-happymapper (>= 0.5.4)
|
123
|
+
rest-client (>= 1.8.0)
|
124
|
+
psych (3.1.0)
|
125
|
+
public_suffix (3.1.1)
|
126
|
+
rack (2.0.7)
|
127
|
+
rack-test (1.1.0)
|
128
|
+
rack (>= 1.0, < 3)
|
129
|
+
rails-dom-testing (2.0.3)
|
130
|
+
activesupport (>= 4.2.0)
|
131
|
+
nokogiri (>= 1.6)
|
132
|
+
rails-html-sanitizer (1.0.4)
|
133
|
+
loofah (~> 2.2, >= 2.2.2)
|
134
|
+
railties (5.2.3)
|
135
|
+
actionpack (= 5.2.3)
|
136
|
+
activesupport (= 5.2.3)
|
137
|
+
method_source
|
138
|
+
rake (>= 0.8.7)
|
139
|
+
thor (>= 0.19.0, < 2.0)
|
140
|
+
rainbow (3.0.0)
|
141
|
+
rake (12.3.3)
|
142
|
+
rdoc (6.1.1)
|
143
|
+
rest-client (2.0.2)
|
144
|
+
http-cookie (>= 1.0.2, < 2.0)
|
145
|
+
mime-types (>= 1.16, < 4.0)
|
146
|
+
netrc (~> 0.8)
|
147
|
+
rspec (3.8.0)
|
148
|
+
rspec-core (~> 3.8.0)
|
149
|
+
rspec-expectations (~> 3.8.0)
|
150
|
+
rspec-mocks (~> 3.8.0)
|
151
|
+
rspec-core (3.8.2)
|
152
|
+
rspec-support (~> 3.8.0)
|
153
|
+
rspec-expectations (3.8.4)
|
154
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
155
|
+
rspec-support (~> 3.8.0)
|
156
|
+
rspec-mocks (3.8.1)
|
69
157
|
diff-lcs (>= 1.2.0, < 2.0)
|
70
|
-
rspec-support (~> 3.
|
71
|
-
rspec-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
158
|
+
rspec-support (~> 3.8.0)
|
159
|
+
rspec-support (3.8.2)
|
160
|
+
rubocop (0.73.0)
|
161
|
+
jaro_winkler (~> 1.5.1)
|
162
|
+
parallel (~> 1.10)
|
163
|
+
parser (>= 2.6)
|
164
|
+
rainbow (>= 2.2.2, < 4.0)
|
165
|
+
ruby-progressbar (~> 1.7)
|
166
|
+
unicode-display_width (>= 1.4.0, < 1.7)
|
167
|
+
ruby-progressbar (1.10.1)
|
168
|
+
safe_yaml (1.0.5)
|
169
|
+
semver2 (3.4.2)
|
170
|
+
shoulda (2.11.3)
|
171
|
+
shoulda-matchers (4.1.1)
|
172
|
+
activesupport (>= 4.2.0)
|
173
|
+
sqlite3 (1.4.1)
|
174
|
+
thor (0.20.3)
|
175
|
+
thread_safe (0.3.6)
|
176
|
+
time_difference (0.7.0)
|
177
|
+
activesupport (~> 5.1)
|
178
|
+
timecop (0.9.1)
|
179
|
+
tzinfo (1.2.5)
|
87
180
|
thread_safe (~> 0.1)
|
181
|
+
unf (0.1.4)
|
182
|
+
unf_ext
|
183
|
+
unf_ext (0.0.7.6)
|
184
|
+
unicode-display_width (1.6.0)
|
185
|
+
whenever (1.0.0)
|
186
|
+
chronic (>= 0.6.3)
|
88
187
|
|
89
188
|
PLATFORMS
|
90
189
|
ruby
|
91
190
|
|
92
191
|
DEPENDENCIES
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
192
|
+
actionpack
|
193
|
+
actionview
|
194
|
+
activerecord
|
195
|
+
activesupport
|
196
|
+
bundler
|
197
|
+
database_cleaner
|
198
|
+
factory_bot_rails
|
199
|
+
faraday
|
200
|
+
gmail
|
201
|
+
jbuilder
|
202
|
+
juwelier
|
203
|
+
pivotal-tracker
|
204
|
+
rdoc
|
97
205
|
rspec
|
206
|
+
rubocop
|
98
207
|
shoulda
|
99
|
-
|
208
|
+
shoulda-matchers
|
209
|
+
sqlite3
|
210
|
+
time_difference
|
211
|
+
timecop
|
212
|
+
whenever
|
213
|
+
|
214
|
+
RUBY VERSION
|
215
|
+
ruby 2.6.3p62
|
216
|
+
|
217
|
+
BUNDLED WITH
|
218
|
+
1.17.3
|