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.
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