caperoma 0.1.0 → 4.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. checksums.yaml +5 -5
  2. data/.ruby-version +1 -0
  3. data/Capefile +48 -0
  4. data/Capefile.template +48 -0
  5. data/Capefile.test +20 -0
  6. data/Gemfile +25 -10
  7. data/Gemfile.lock +196 -77
  8. data/HELP +321 -0
  9. data/README.md +528 -0
  10. data/Rakefile +73 -18
  11. data/VERSION +1 -1
  12. data/bin/caperoma +47 -11
  13. data/caperoma.gemspec +144 -45
  14. data/config/crontab +10 -0
  15. data/config/schedule.rb +21 -0
  16. data/lib/caperoma.rb +409 -9
  17. data/lib/caperoma/models/account.rb +47 -0
  18. data/lib/caperoma/models/application_record.rb +5 -0
  19. data/lib/caperoma/models/branch.rb +6 -0
  20. data/lib/caperoma/models/project.rb +14 -0
  21. data/lib/caperoma/models/property.rb +5 -0
  22. data/lib/caperoma/models/report.rb +177 -0
  23. data/lib/caperoma/models/report_recipient.rb +6 -0
  24. data/lib/caperoma/models/reports/daily_report.rb +23 -0
  25. data/lib/caperoma/models/reports/retrospective_report.rb +19 -0
  26. data/lib/caperoma/models/reports/three_day_report.rb +19 -0
  27. data/lib/caperoma/models/task.rb +368 -0
  28. data/lib/caperoma/models/tasks/bug.rb +36 -0
  29. data/lib/caperoma/models/tasks/chore.rb +40 -0
  30. data/lib/caperoma/models/tasks/feature.rb +27 -0
  31. data/lib/caperoma/models/tasks/fix.rb +56 -0
  32. data/lib/caperoma/models/tasks/meeting.rb +40 -0
  33. data/lib/caperoma/models/tasks/modules/git.rb +65 -0
  34. data/lib/caperoma/models/tasks/task_with_commit.rb +40 -0
  35. data/lib/caperoma/models/tasks/task_with_separate_branch.rb +42 -0
  36. data/lib/caperoma/services/airbrake_email_processor.rb +47 -0
  37. data/lib/caperoma/services/pivotal_fetcher.rb +108 -0
  38. data/lib/caperoma/version.rb +9 -0
  39. data/spec/caperoma_spec.rb +3 -21
  40. data/spec/factories/accounts.rb +10 -0
  41. data/spec/factories/branches.rb +9 -0
  42. data/spec/factories/projects.rb +8 -0
  43. data/spec/factories/report_recipients.rb +7 -0
  44. data/spec/factories/reports.rb +16 -0
  45. data/spec/factories/tasks.rb +37 -0
  46. data/spec/features/bug_spec.rb +60 -0
  47. data/spec/features/chore_spec.rb +60 -0
  48. data/spec/features/command_unknown_spec.rb +14 -0
  49. data/spec/features/config_spec.rb +161 -0
  50. data/spec/features/feature_spec.rb +60 -0
  51. data/spec/features/finish_spec.rb +18 -0
  52. data/spec/features/fix_spec.rb +60 -0
  53. data/spec/features/meeting_spec.rb +22 -0
  54. data/spec/features/projects_spec.rb +17 -0
  55. data/spec/features/report_recipientss_spec.rb +117 -0
  56. data/spec/features/reports_spec.rb +65 -0
  57. data/spec/features/status_spec.rb +33 -0
  58. data/spec/features/version_spec.rb +11 -0
  59. data/spec/models/account_spec.rb +51 -0
  60. data/spec/models/branch_spec.rb +8 -0
  61. data/spec/models/bug_spec.rb +33 -0
  62. data/spec/models/chore_spec.rb +33 -0
  63. data/spec/models/daily_report_spec.rb +38 -0
  64. data/spec/models/feature_spec.rb +33 -0
  65. data/spec/models/fix_spec.rb +55 -0
  66. data/spec/models/meeting_spec.rb +33 -0
  67. data/spec/models/project_spec.rb +11 -0
  68. data/spec/models/report_recipient_spec.rb +22 -0
  69. data/spec/models/report_spec.rb +16 -0
  70. data/spec/models/retrospective_report_spec.rb +38 -0
  71. data/spec/models/task_spec.rb +613 -0
  72. data/spec/models/task_with_commit_spec.rb +105 -0
  73. data/spec/models/task_with_separate_branch_spec.rb +97 -0
  74. data/spec/models/three_day_report_spec.rb +49 -0
  75. data/spec/spec_helper.rb +26 -16
  76. data/spec/support/capefile_generator.rb +36 -0
  77. data/spec/support/database_cleaner.rb +21 -0
  78. data/spec/support/stubs.rb +178 -9
  79. metadata +283 -42
  80. data/.document +0 -5
  81. data/README.rdoc +0 -26
  82. data/lib/caperoma/credentials.rb +0 -13
  83. data/lib/caperoma/jira_client.rb +0 -57
  84. data/spec/caperoma/credentials_spec.rb +0 -25
  85. data/spec/caperoma/jira_spec.rb +0 -35
data/Rakefile CHANGED
@@ -1,30 +1,85 @@
1
- # encoding: utf-8
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
- $stderr.puts e.message
9
- $stderr.puts 'Run `bundle install` to install missing gems'
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 'jeweler'
15
- Jeweler::Tasks.new do |gem|
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 = %Q{Optimize Jira-Pivotal-Git workflow}
21
- gem.description = %Q{Optimize trivial things I do a lot every day: log time to Jira, start/finish tasks in Pivotal etc.}
22
- gem.email = 'serge@railsmuffin.com'
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
- gem.executables = ['caperoma']
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
- Jeweler::RubygemsDotOrgTasks.new
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
- desc 'Code coverage detail'
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.0
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
- action = ARGV[0]
6
+ def help
7
+ puts File.read(File.join(File.dirname(__FILE__), '..', 'HELP'))
8
+ end
6
9
 
7
- if action == 'chore'
8
- # parameter is a message
9
- # time_spent is like "3h 20m"
10
- Caperoma.chore(ARGV)
11
- elsif action == 'config'
12
- Caperoma.config(ARGV)
13
- elsif action == 'test'
14
- Caperoma.test
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
- puts 'unknown command'
53
+ help
17
54
  end
18
-
data/caperoma.gemspec CHANGED
@@ -1,76 +1,175 @@
1
- # Generated by jeweler
1
+ # Generated by juwelier
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
3
+ # Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: caperoma 0.1.0 ruby lib
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.0"
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 = "2014-07-20"
15
- s.description = "Optimize trivial things I do a lot every day: log time to Jira, start/finish tasks in Pivotal etc."
16
- s.email = "serge@railsmuffin.com"
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
- "LICENSE.txt",
20
- "README.rdoc"
19
+ "HELP",
20
+ "README.md"
21
21
  ]
22
22
  s.files = [
23
- ".document",
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.rdoc",
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/credentials.rb",
34
- "lib/caperoma/jira_client.rb",
35
- "spec/caperoma/credentials_spec.rb",
36
- "spec/caperoma/jira_spec.rb",
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.rubygems_version = "2.2.2"
44
- s.summary = "Optimize Jira-Pivotal-Git workflow"
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<jira-ruby>, [">= 0"])
51
- s.add_development_dependency(%q<shoulda>, [">= 0"])
52
- s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
53
- s.add_development_dependency(%q<bundler>, ["~> 1.0"])
54
- s.add_development_dependency(%q<jeweler>, ["~> 2.0.1"])
55
- s.add_development_dependency(%q<simplecov>, [">= 0"])
56
- s.add_development_dependency(%q<rspec>, [">= 0"])
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<jira-ruby>, [">= 0"])
59
- s.add_dependency(%q<shoulda>, [">= 0"])
60
- s.add_dependency(%q<rdoc>, ["~> 3.12"])
61
- s.add_dependency(%q<bundler>, ["~> 1.0"])
62
- s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
63
- s.add_dependency(%q<simplecov>, [">= 0"])
64
- s.add_dependency(%q<rspec>, [">= 0"])
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<jira-ruby>, [">= 0"])
68
- s.add_dependency(%q<shoulda>, [">= 0"])
69
- s.add_dependency(%q<rdoc>, ["~> 3.12"])
70
- s.add_dependency(%q<bundler>, ["~> 1.0"])
71
- s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
72
- s.add_dependency(%q<simplecov>, [">= 0"])
73
- s.add_dependency(%q<rspec>, [">= 0"])
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
@@ -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