caperoma 0.1.0 → 4.0.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
data/Rakefile
CHANGED
@@ -1,30 +1,85 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'rubygems'
|
4
4
|
require 'bundler'
|
5
|
+
require 'fileutils'
|
6
|
+
|
5
7
|
begin
|
6
8
|
Bundler.setup(:default, :development)
|
7
9
|
rescue Bundler::BundlerError => e
|
8
|
-
|
9
|
-
|
10
|
+
warn e.message
|
11
|
+
warn 'Run `bundle install` to install missing gems'
|
10
12
|
exit e.status_code
|
11
13
|
end
|
12
14
|
require 'rake'
|
13
15
|
|
14
|
-
require '
|
15
|
-
|
16
|
+
require 'juwelier'
|
17
|
+
Juwelier::Tasks.new do |gem|
|
16
18
|
# gem is a Gem::Specification... see http://guides.rubygems.org/specification-reference/ for more options
|
17
19
|
gem.name = 'caperoma'
|
18
20
|
gem.homepage = 'http://github.com/zoopyserg/caperoma'
|
19
21
|
gem.license = 'MIT'
|
20
|
-
gem.summary = %
|
21
|
-
gem.description =
|
22
|
-
|
22
|
+
gem.summary = %(Automate your workflow with Ruby / Git / Jira / PivotalTracker.)
|
23
|
+
gem.description = <<-EOF
|
24
|
+
Caperoma automates many decisions related to the programming that you often don't realize, and which you can forget hundreds of times during the time of working on the project:
|
25
|
+
- pulling the latest code from upstream before you start working,
|
26
|
+
- remembering from which branch you started the feature to later make a pull request into it,
|
27
|
+
- creating & starting tasks in Jira,
|
28
|
+
- creating & starting tasks in Pivotal,
|
29
|
+
- naming branches,
|
30
|
+
- adding Jira ID into the branch name,
|
31
|
+
- style guide checks,
|
32
|
+
- commits,
|
33
|
+
- naming commits,
|
34
|
+
- adding Jira ID into commit name,
|
35
|
+
- adding Pivotal ID into commit name,
|
36
|
+
- git pushes,
|
37
|
+
- pull requests into correct branches,
|
38
|
+
- stopping tasks in Jira,
|
39
|
+
- stopping tasks in Pivotal,
|
40
|
+
- tracking time,
|
41
|
+
- logging time to Jira,
|
42
|
+
- switching back into the original branch and much more.
|
43
|
+
EOF
|
44
|
+
gem.files += FileList['lib/**/*', 'bin/*', '[A-Za-z.]*', 'spec/**/*', 'config/*'].to_a
|
45
|
+
gem.bindir = 'bin'
|
46
|
+
gem.executables = ['caperoma']
|
47
|
+
|
48
|
+
gem.add_runtime_dependency 'actionpack', '~> 5.2.3'
|
49
|
+
gem.add_runtime_dependency 'actionview', '~> 5.2.3'
|
50
|
+
gem.add_runtime_dependency 'activerecord', '~> 5.2.3'
|
51
|
+
gem.add_runtime_dependency 'activesupport', '~> 5.2.3'
|
52
|
+
gem.add_runtime_dependency 'faraday', '~> 0.15.4'
|
53
|
+
gem.add_runtime_dependency 'gmail', '~> 0.7.1'
|
54
|
+
gem.add_runtime_dependency 'jbuilder', '~> 2.9.1'
|
55
|
+
gem.add_runtime_dependency 'pivotal-tracker', '~> 0.5.13'
|
56
|
+
gem.add_runtime_dependency 'rubocop', '~> 0.73.0'
|
57
|
+
gem.add_runtime_dependency 'sqlite3', '~> 1.4.1'
|
58
|
+
gem.add_runtime_dependency 'time_difference', '~> 0.7.0'
|
59
|
+
|
60
|
+
gem.add_development_dependency 'bundler'
|
61
|
+
gem.add_development_dependency 'database_cleaner', '~> 1.7.0'
|
62
|
+
gem.add_development_dependency 'factory_bot_rails', '~> 5.0.2'
|
63
|
+
gem.add_development_dependency 'rdoc', '~> 6.1.1'
|
64
|
+
gem.add_development_dependency 'rspec', '~> 3.8.0'
|
65
|
+
gem.add_development_dependency 'shoulda', '~> 2.11.3'
|
66
|
+
gem.add_development_dependency 'shoulda-matchers', '~> 4.1.0'
|
67
|
+
gem.add_development_dependency 'timecop', '~> 0.9.1'
|
68
|
+
|
69
|
+
gem.requirements << 'sqlite'
|
70
|
+
gem.requirements << 'git'
|
71
|
+
|
72
|
+
gem.extra_rdoc_files = ['README.md', 'HELP']
|
73
|
+
gem.version = File.exist?('VERSION') ? File.read('VERSION') : ''
|
74
|
+
|
75
|
+
gem.email = 'sergevinogradoff.caperoma@gmail.com'
|
23
76
|
gem.authors = ['Serge Vinogradoff']
|
24
77
|
# dependencies defined in Gemfile
|
25
|
-
|
78
|
+
|
79
|
+
gem.post_install_message = "Thanks for installing Caperoma! \n Run `caperoma setup` to create the database for your work."
|
80
|
+
# gem.required_ruby_version = '>= 2.6.3'
|
26
81
|
end
|
27
|
-
|
82
|
+
Juwelier::RubygemsDotOrgTasks.new
|
28
83
|
|
29
84
|
require 'rspec/core'
|
30
85
|
require 'rspec/core/rake_task'
|
@@ -32,13 +87,7 @@ RSpec::Core::RakeTask.new(:spec) do |spec|
|
|
32
87
|
spec.pattern = FileList['spec/**/*_spec.rb']
|
33
88
|
end
|
34
89
|
|
35
|
-
|
36
|
-
task :simplecov do
|
37
|
-
ENV['COVERAGE'] = 'true'
|
38
|
-
Rake::Task['spec'].execute
|
39
|
-
end
|
40
|
-
|
41
|
-
task :default => :spec
|
90
|
+
task default: :spec
|
42
91
|
|
43
92
|
require 'rdoc/task'
|
44
93
|
Rake::RDocTask.new do |rdoc|
|
@@ -46,7 +95,13 @@ Rake::RDocTask.new do |rdoc|
|
|
46
95
|
|
47
96
|
rdoc.rdoc_dir = 'rdoc'
|
48
97
|
rdoc.title = "caperoma #{version}"
|
98
|
+
|
49
99
|
rdoc.rdoc_files.include('README*')
|
100
|
+
rdoc.rdoc_files.include('HELP*')
|
50
101
|
rdoc.rdoc_files.include('lib/**/*.rb')
|
102
|
+
rdoc.rdoc_files.include('lib/**/*')
|
103
|
+
rdoc.rdoc_files.include('bin/*')
|
104
|
+
rdoc.rdoc_files.include('[A-Za-z.]*')
|
105
|
+
rdoc.rdoc_files.include('spec/**/*')
|
106
|
+
rdoc.rdoc_files.include('config/*')
|
51
107
|
end
|
52
|
-
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1
|
1
|
+
4.0.1
|
data/bin/caperoma
CHANGED
@@ -1,18 +1,54 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
2
3
|
|
3
4
|
require 'caperoma'
|
4
5
|
|
5
|
-
|
6
|
+
def help
|
7
|
+
puts File.read(File.join(File.dirname(__FILE__), '..', 'HELP'))
|
8
|
+
end
|
6
9
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
10
|
+
case ARGV[0] # action
|
11
|
+
when 'setup'
|
12
|
+
Caperoma.setup
|
13
|
+
when 'get_jira_issue_type_ids'
|
14
|
+
Caperoma.get_jira_issue_type_ids
|
15
|
+
when 'init'
|
16
|
+
Caperoma.init
|
17
|
+
when 'copy_airbrake_emails_to_pivotal'
|
18
|
+
AirbrakeEmailProcessor.new.process
|
19
|
+
when 'projects'
|
20
|
+
Project.all.each { |project| puts "#{project.id}) #{project.folder_path} (jira_project_id: #{project.jira_project_id}, pivotal_tracker_project_id: #{project.pivotal_tracker_project_id})" }
|
21
|
+
when 'get_jira_issue_type_ids'
|
22
|
+
Caperoma.sync
|
23
|
+
when 'from_pivotal' # removing
|
24
|
+
puts 'Starting a task from Pivotal'
|
25
|
+
action, story_id = ARGV
|
26
|
+
PivotalFetcher.process(story_id)
|
27
|
+
puts 'A task from Pivotal is started'
|
28
|
+
when /^(chore|bug|feature|fix|meeting)$/
|
29
|
+
Caperoma.create_task(ARGV)
|
30
|
+
when 'finish'
|
31
|
+
Task.finish_started(ARGV[1])
|
32
|
+
when 'pause'
|
33
|
+
Task.pause_started(ARGV[1])
|
34
|
+
when 'abort'
|
35
|
+
Task.abort_started(ARGV[1])
|
36
|
+
when 'abort_without_time'
|
37
|
+
Task.abort_started_without_time(ARGV[1])
|
38
|
+
when 'accounts'
|
39
|
+
Caperoma.manage_accounts(ARGV)
|
40
|
+
when /^(status)$/
|
41
|
+
Task.status
|
42
|
+
when /^(delete_history)$/
|
43
|
+
Caperoma.drop_db
|
44
|
+
when /^(version|-v)$/
|
45
|
+
puts Caperoma::Version::STRING
|
46
|
+
when /^(help|-h)$/
|
47
|
+
help
|
48
|
+
when 'recipients'
|
49
|
+
Caperoma.manage_recipients(ARGV)
|
50
|
+
when 'report'
|
51
|
+
Caperoma.manage_reports(ARGV)
|
15
52
|
else
|
16
|
-
|
53
|
+
help
|
17
54
|
end
|
18
|
-
|
data/caperoma.gemspec
CHANGED
@@ -1,76 +1,175 @@
|
|
1
|
-
# Generated by
|
1
|
+
# Generated by juwelier
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
-
# Instead, edit
|
3
|
+
# Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: caperoma 0.1
|
5
|
+
# stub: caperoma 4.0.1 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
|
-
s.name = "caperoma"
|
9
|
-
s.version = "0.1
|
8
|
+
s.name = "caperoma".freeze
|
9
|
+
s.version = "4.0.1"
|
10
10
|
|
11
|
-
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
|
-
s.require_paths = ["lib"]
|
13
|
-
s.authors = ["Serge Vinogradoff"]
|
14
|
-
s.date = "
|
15
|
-
s.description = "
|
16
|
-
s.email = "
|
17
|
-
s.executables = ["caperoma"]
|
11
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
12
|
+
s.require_paths = ["lib".freeze]
|
13
|
+
s.authors = ["Serge Vinogradoff".freeze]
|
14
|
+
s.date = "2019-07-22"
|
15
|
+
s.description = " Caperoma automates many decisions related to the programming that you often don't realize, and which you can forget hundreds of times during the time of working on the project: \n - pulling the latest code from upstream before you start working,\n - remembering from which branch you started the feature to later make a pull request into it,\n - creating & starting tasks in Jira,\n - creating & starting tasks in Pivotal,\n - naming branches,\n - adding Jira ID into the branch name,\n - style guide checks,\n - commits,\n - naming commits,\n - adding Jira ID into commit name,\n - adding Pivotal ID into commit name,\n - git pushes,\n - pull requests into correct branches,\n - stopping tasks in Jira,\n - stopping tasks in Pivotal,\n - tracking time,\n - logging time to Jira,\n - switching back into the original branch and much more.\n".freeze
|
16
|
+
s.email = "sergevinogradoff.caperoma@gmail.com".freeze
|
17
|
+
s.executables = ["caperoma".freeze]
|
18
18
|
s.extra_rdoc_files = [
|
19
|
-
"
|
20
|
-
"README.
|
19
|
+
"HELP",
|
20
|
+
"README.md"
|
21
21
|
]
|
22
22
|
s.files = [
|
23
|
-
".
|
23
|
+
".ruby-version",
|
24
|
+
"Capefile",
|
25
|
+
"Capefile.template",
|
26
|
+
"Capefile.test",
|
24
27
|
"Gemfile",
|
25
28
|
"Gemfile.lock",
|
29
|
+
"HELP",
|
26
30
|
"LICENSE.txt",
|
27
|
-
"README.
|
31
|
+
"README.md",
|
28
32
|
"Rakefile",
|
29
33
|
"VERSION",
|
30
34
|
"bin/caperoma",
|
31
35
|
"caperoma.gemspec",
|
36
|
+
"config/crontab",
|
37
|
+
"config/schedule.rb",
|
32
38
|
"lib/caperoma.rb",
|
33
|
-
"lib/caperoma/
|
34
|
-
"lib/caperoma/
|
35
|
-
"
|
36
|
-
"
|
39
|
+
"lib/caperoma/models/account.rb",
|
40
|
+
"lib/caperoma/models/application_record.rb",
|
41
|
+
"lib/caperoma/models/branch.rb",
|
42
|
+
"lib/caperoma/models/project.rb",
|
43
|
+
"lib/caperoma/models/property.rb",
|
44
|
+
"lib/caperoma/models/report.rb",
|
45
|
+
"lib/caperoma/models/report_recipient.rb",
|
46
|
+
"lib/caperoma/models/reports/daily_report.rb",
|
47
|
+
"lib/caperoma/models/reports/retrospective_report.rb",
|
48
|
+
"lib/caperoma/models/reports/three_day_report.rb",
|
49
|
+
"lib/caperoma/models/task.rb",
|
50
|
+
"lib/caperoma/models/tasks/bug.rb",
|
51
|
+
"lib/caperoma/models/tasks/chore.rb",
|
52
|
+
"lib/caperoma/models/tasks/feature.rb",
|
53
|
+
"lib/caperoma/models/tasks/fix.rb",
|
54
|
+
"lib/caperoma/models/tasks/meeting.rb",
|
55
|
+
"lib/caperoma/models/tasks/modules/git.rb",
|
56
|
+
"lib/caperoma/models/tasks/task_with_commit.rb",
|
57
|
+
"lib/caperoma/models/tasks/task_with_separate_branch.rb",
|
58
|
+
"lib/caperoma/services/airbrake_email_processor.rb",
|
59
|
+
"lib/caperoma/services/pivotal_fetcher.rb",
|
60
|
+
"lib/caperoma/version.rb",
|
37
61
|
"spec/caperoma_spec.rb",
|
62
|
+
"spec/factories/accounts.rb",
|
63
|
+
"spec/factories/branches.rb",
|
64
|
+
"spec/factories/projects.rb",
|
65
|
+
"spec/factories/report_recipients.rb",
|
66
|
+
"spec/factories/reports.rb",
|
67
|
+
"spec/factories/tasks.rb",
|
68
|
+
"spec/features/bug_spec.rb",
|
69
|
+
"spec/features/chore_spec.rb",
|
70
|
+
"spec/features/command_unknown_spec.rb",
|
71
|
+
"spec/features/config_spec.rb",
|
72
|
+
"spec/features/feature_spec.rb",
|
73
|
+
"spec/features/finish_spec.rb",
|
74
|
+
"spec/features/fix_spec.rb",
|
75
|
+
"spec/features/meeting_spec.rb",
|
76
|
+
"spec/features/projects_spec.rb",
|
77
|
+
"spec/features/report_recipientss_spec.rb",
|
78
|
+
"spec/features/reports_spec.rb",
|
79
|
+
"spec/features/status_spec.rb",
|
80
|
+
"spec/features/version_spec.rb",
|
81
|
+
"spec/models/account_spec.rb",
|
82
|
+
"spec/models/branch_spec.rb",
|
83
|
+
"spec/models/bug_spec.rb",
|
84
|
+
"spec/models/chore_spec.rb",
|
85
|
+
"spec/models/daily_report_spec.rb",
|
86
|
+
"spec/models/feature_spec.rb",
|
87
|
+
"spec/models/fix_spec.rb",
|
88
|
+
"spec/models/meeting_spec.rb",
|
89
|
+
"spec/models/project_spec.rb",
|
90
|
+
"spec/models/report_recipient_spec.rb",
|
91
|
+
"spec/models/report_spec.rb",
|
92
|
+
"spec/models/retrospective_report_spec.rb",
|
93
|
+
"spec/models/task_spec.rb",
|
94
|
+
"spec/models/task_with_commit_spec.rb",
|
95
|
+
"spec/models/task_with_separate_branch_spec.rb",
|
96
|
+
"spec/models/three_day_report_spec.rb",
|
38
97
|
"spec/spec_helper.rb",
|
98
|
+
"spec/support/capefile_generator.rb",
|
99
|
+
"spec/support/database_cleaner.rb",
|
39
100
|
"spec/support/stubs.rb"
|
40
101
|
]
|
41
|
-
s.homepage = "http://github.com/zoopyserg/caperoma"
|
42
|
-
s.licenses = ["MIT"]
|
43
|
-
s.
|
44
|
-
s.
|
102
|
+
s.homepage = "http://github.com/zoopyserg/caperoma".freeze
|
103
|
+
s.licenses = ["MIT".freeze]
|
104
|
+
s.post_install_message = "Thanks for installing Caperoma! \n Run `caperoma setup` to create the database for your work.".freeze
|
105
|
+
s.requirements = ["sqlite".freeze, "git".freeze]
|
106
|
+
s.rubygems_version = "3.0.4".freeze
|
107
|
+
s.summary = "Automate your workflow with Ruby / Git / Jira / PivotalTracker.".freeze
|
45
108
|
|
46
109
|
if s.respond_to? :specification_version then
|
47
110
|
s.specification_version = 4
|
48
111
|
|
49
112
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
50
|
-
s.add_runtime_dependency(%q<
|
51
|
-
s.
|
52
|
-
s.
|
53
|
-
s.
|
54
|
-
s.
|
55
|
-
s.
|
56
|
-
s.
|
113
|
+
s.add_runtime_dependency(%q<actionpack>.freeze, ["~> 5.2.3"])
|
114
|
+
s.add_runtime_dependency(%q<actionview>.freeze, ["~> 5.2.3"])
|
115
|
+
s.add_runtime_dependency(%q<activerecord>.freeze, ["~> 5.2.3"])
|
116
|
+
s.add_runtime_dependency(%q<activesupport>.freeze, ["~> 5.2.3"])
|
117
|
+
s.add_runtime_dependency(%q<faraday>.freeze, ["~> 0.15.4"])
|
118
|
+
s.add_runtime_dependency(%q<gmail>.freeze, ["~> 0.7.1"])
|
119
|
+
s.add_runtime_dependency(%q<jbuilder>.freeze, ["~> 2.9.1"])
|
120
|
+
s.add_runtime_dependency(%q<pivotal-tracker>.freeze, ["~> 0.5.13"])
|
121
|
+
s.add_runtime_dependency(%q<rubocop>.freeze, ["~> 0.73.0"])
|
122
|
+
s.add_runtime_dependency(%q<sqlite3>.freeze, ["~> 1.4.1"])
|
123
|
+
s.add_runtime_dependency(%q<time_difference>.freeze, ["~> 0.7.0"])
|
124
|
+
s.add_development_dependency(%q<bundler>.freeze, [">= 0"])
|
125
|
+
s.add_development_dependency(%q<database_cleaner>.freeze, ["~> 1.7.0"])
|
126
|
+
s.add_development_dependency(%q<factory_bot_rails>.freeze, ["~> 5.0.2"])
|
127
|
+
s.add_development_dependency(%q<rdoc>.freeze, ["~> 6.1.1"])
|
128
|
+
s.add_development_dependency(%q<rspec>.freeze, ["~> 3.8.0"])
|
129
|
+
s.add_development_dependency(%q<shoulda>.freeze, ["~> 2.11.3"])
|
130
|
+
s.add_development_dependency(%q<shoulda-matchers>.freeze, ["~> 4.1.0"])
|
131
|
+
s.add_development_dependency(%q<timecop>.freeze, ["~> 0.9.1"])
|
57
132
|
else
|
58
|
-
s.add_dependency(%q<
|
59
|
-
s.add_dependency(%q<
|
60
|
-
s.add_dependency(%q<
|
61
|
-
s.add_dependency(%q<
|
62
|
-
s.add_dependency(%q<
|
63
|
-
s.add_dependency(%q<
|
64
|
-
s.add_dependency(%q<
|
133
|
+
s.add_dependency(%q<actionpack>.freeze, ["~> 5.2.3"])
|
134
|
+
s.add_dependency(%q<actionview>.freeze, ["~> 5.2.3"])
|
135
|
+
s.add_dependency(%q<activerecord>.freeze, ["~> 5.2.3"])
|
136
|
+
s.add_dependency(%q<activesupport>.freeze, ["~> 5.2.3"])
|
137
|
+
s.add_dependency(%q<faraday>.freeze, ["~> 0.15.4"])
|
138
|
+
s.add_dependency(%q<gmail>.freeze, ["~> 0.7.1"])
|
139
|
+
s.add_dependency(%q<jbuilder>.freeze, ["~> 2.9.1"])
|
140
|
+
s.add_dependency(%q<pivotal-tracker>.freeze, ["~> 0.5.13"])
|
141
|
+
s.add_dependency(%q<rubocop>.freeze, ["~> 0.73.0"])
|
142
|
+
s.add_dependency(%q<sqlite3>.freeze, ["~> 1.4.1"])
|
143
|
+
s.add_dependency(%q<time_difference>.freeze, ["~> 0.7.0"])
|
144
|
+
s.add_dependency(%q<bundler>.freeze, [">= 0"])
|
145
|
+
s.add_dependency(%q<database_cleaner>.freeze, ["~> 1.7.0"])
|
146
|
+
s.add_dependency(%q<factory_bot_rails>.freeze, ["~> 5.0.2"])
|
147
|
+
s.add_dependency(%q<rdoc>.freeze, ["~> 6.1.1"])
|
148
|
+
s.add_dependency(%q<rspec>.freeze, ["~> 3.8.0"])
|
149
|
+
s.add_dependency(%q<shoulda>.freeze, ["~> 2.11.3"])
|
150
|
+
s.add_dependency(%q<shoulda-matchers>.freeze, ["~> 4.1.0"])
|
151
|
+
s.add_dependency(%q<timecop>.freeze, ["~> 0.9.1"])
|
65
152
|
end
|
66
153
|
else
|
67
|
-
s.add_dependency(%q<
|
68
|
-
s.add_dependency(%q<
|
69
|
-
s.add_dependency(%q<
|
70
|
-
s.add_dependency(%q<
|
71
|
-
s.add_dependency(%q<
|
72
|
-
s.add_dependency(%q<
|
73
|
-
s.add_dependency(%q<
|
154
|
+
s.add_dependency(%q<actionpack>.freeze, ["~> 5.2.3"])
|
155
|
+
s.add_dependency(%q<actionview>.freeze, ["~> 5.2.3"])
|
156
|
+
s.add_dependency(%q<activerecord>.freeze, ["~> 5.2.3"])
|
157
|
+
s.add_dependency(%q<activesupport>.freeze, ["~> 5.2.3"])
|
158
|
+
s.add_dependency(%q<faraday>.freeze, ["~> 0.15.4"])
|
159
|
+
s.add_dependency(%q<gmail>.freeze, ["~> 0.7.1"])
|
160
|
+
s.add_dependency(%q<jbuilder>.freeze, ["~> 2.9.1"])
|
161
|
+
s.add_dependency(%q<pivotal-tracker>.freeze, ["~> 0.5.13"])
|
162
|
+
s.add_dependency(%q<rubocop>.freeze, ["~> 0.73.0"])
|
163
|
+
s.add_dependency(%q<sqlite3>.freeze, ["~> 1.4.1"])
|
164
|
+
s.add_dependency(%q<time_difference>.freeze, ["~> 0.7.0"])
|
165
|
+
s.add_dependency(%q<bundler>.freeze, [">= 0"])
|
166
|
+
s.add_dependency(%q<database_cleaner>.freeze, ["~> 1.7.0"])
|
167
|
+
s.add_dependency(%q<factory_bot_rails>.freeze, ["~> 5.0.2"])
|
168
|
+
s.add_dependency(%q<rdoc>.freeze, ["~> 6.1.1"])
|
169
|
+
s.add_dependency(%q<rspec>.freeze, ["~> 3.8.0"])
|
170
|
+
s.add_dependency(%q<shoulda>.freeze, ["~> 2.11.3"])
|
171
|
+
s.add_dependency(%q<shoulda-matchers>.freeze, ["~> 4.1.0"])
|
172
|
+
s.add_dependency(%q<timecop>.freeze, ["~> 0.9.1"])
|
74
173
|
end
|
75
174
|
end
|
76
175
|
|
data/config/crontab
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
# Begin Whenever generated tasks for: caperoma
|
2
|
+
0 22 * * 1-5 /bin/bash -l -c 'caperoma report daily'
|
3
|
+
|
4
|
+
0,10,20,30,40,50 * * * * /bin/bash -l -c 'caperoma copy_airbrake_emails_to_pivotal'
|
5
|
+
|
6
|
+
0 22 * * 3,5 /bin/bash -l -c 'caperoma report three_day'
|
7
|
+
|
8
|
+
0 22 * * 5 /bin/bash -l -c 'caperoma report weekly'
|
9
|
+
|
10
|
+
# End Whenever generated tasks for: caperoma
|
data/config/schedule.rb
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# every :weekday, at: '10pm' do
|
4
|
+
# command 'caperoma daily_report'
|
5
|
+
# end
|
6
|
+
#
|
7
|
+
# every 10.minutes do
|
8
|
+
# command 'caperoma copy_airbrake_emails_to_pivotal'
|
9
|
+
# end
|
10
|
+
#
|
11
|
+
# every :wednesday, at: '10pm' do
|
12
|
+
# command 'caperoma three_day_report'
|
13
|
+
# end
|
14
|
+
#
|
15
|
+
# every :friday, at: '10pm' do
|
16
|
+
# command 'caperoma three_day_report'
|
17
|
+
# end
|
18
|
+
#
|
19
|
+
# every :friday, at: '10pm' do
|
20
|
+
# command 'caperoma retrospective_report'
|
21
|
+
# end
|