caperoma 4.0.1 → 5.0.0
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 +4 -4
- data/Capefile +6 -6
- data/Capefile.template +4 -1
- data/Gemfile +1 -5
- data/Gemfile.lock +3 -45
- data/HELP +84 -13
- data/README.md +165 -29
- data/Rakefile +25 -22
- data/VERSION +1 -1
- data/bin/caperoma +6 -9
- data/caperoma.gemspec +15 -13
- data/config/crontab +0 -2
- data/config/schedule.rb +17 -19
- data/config/unschedule.rb +3 -0
- data/images/circle.png +0 -0
- data/images/report.png +0 -0
- data/lib/caperoma.rb +308 -98
- data/lib/caperoma/models/account.rb +1 -1
- data/lib/caperoma/models/project.rb +1 -2
- data/lib/caperoma/models/report.rb +15 -15
- data/lib/caperoma/models/task.rb +203 -46
- data/lib/caperoma/models/tasks/chore.rb +2 -0
- data/lib/caperoma/models/tasks/feature.rb +1 -0
- data/lib/caperoma/models/tasks/fix.rb +2 -0
- data/lib/caperoma/models/tasks/meeting.rb +2 -0
- data/lib/caperoma/models/tasks/modules/git.rb +94 -15
- data/lib/caperoma/models/tasks/task_with_commit.rb +8 -5
- data/lib/caperoma/models/tasks/task_with_separate_branch.rb +6 -4
- data/spec/caperoma_spec.rb +558 -2
- data/spec/factories/accounts.rb +1 -1
- data/spec/factories/projects.rb +1 -1
- data/spec/factories/report_recipients.rb +1 -1
- data/spec/factories/reports.rb +1 -1
- data/spec/factories/tasks.rb +1 -2
- data/spec/features/command_unknown_spec.rb +0 -1
- data/spec/features/feature_spec.rb +64 -44
- data/spec/features/init_spec.rb +20 -0
- data/spec/features/status_spec.rb +12 -11
- data/spec/models/project_spec.rb +0 -1
- data/spec/models/task_spec.rb +811 -27
- data/spec/models/task_with_commit_spec.rb +0 -4
- data/spec/models/task_with_separate_branch_spec.rb +4 -4
- data/spec/models/three_day_report_spec.rb +2 -3
- data/spec/spec_helper.rb +2 -0
- data/spec/support/capefile_generator.rb +35 -27
- data/spec/support/stubs.rb +7 -74
- metadata +47 -24
- data/lib/caperoma/models/branch.rb +0 -6
- data/lib/caperoma/services/airbrake_email_processor.rb +0 -47
- data/lib/caperoma/services/pivotal_fetcher.rb +0 -108
- data/spec/factories/branches.rb +0 -9
- data/spec/models/branch_spec.rb +0 -8
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 67af398ebdf45f5e2e1f10a6a95a2794681b559d120008d1e31397499e3e68aa
         | 
| 4 | 
            +
              data.tar.gz: 7a5836a2d061e3e6bda0c24028fb17c4731a42564d6d6d1bc26f9089451b8506
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 3ffc2a6c69b8b362b809e25ef7197685399f8a674a2c9527794d4c2b70d0689e27e946ffe30e455e2ad24f105ac32fbd935c8b6d734d642a23481bea462adb50
         | 
| 7 | 
            +
              data.tar.gz: 16efe9f7c82c5d09079fc0f29af56b9036e7b0aee8657c1f8995aca623e9a74f1835b3f7927d06aa07c8ae16346477fc865ec464e8480818e638da5aacfab465
         | 
    
        data/Capefile
    CHANGED
    
    | @@ -16,18 +16,18 @@ github_repo: zoopyserg/caperoma | |
| 16 16 |  | 
| 17 17 | 
             
            # --- JIRA SETTINGS:
         | 
| 18 18 | 
             
            ## The full URL of your Jira server where you will create tasks.
         | 
| 19 | 
            -
            jira_url: https:// | 
| 19 | 
            +
            jira_url: https://sergevinogradoff.atlassian.net/
         | 
| 20 20 |  | 
| 21 21 | 
             
            ## The ID of this project on your Jira system.
         | 
| 22 22 | 
             
            jira_project_id: 10001
         | 
| 23 23 |  | 
| 24 24 | 
             
            ## Issue identifiers of various types on your Jira system.
         | 
| 25 25 | 
             
            jira_issue_type_ids:
         | 
| 26 | 
            -
              feature:  | 
| 27 | 
            -
              bug:  | 
| 28 | 
            -
              chore:  | 
| 29 | 
            -
              fix:  | 
| 30 | 
            -
              meeting:  | 
| 26 | 
            +
              feature: 10001
         | 
| 27 | 
            +
              bug: 10004
         | 
| 28 | 
            +
              chore: 10001
         | 
| 29 | 
            +
              fix: 10001
         | 
| 30 | 
            +
              meeting: 10001
         | 
| 31 31 |  | 
| 32 32 | 
             
            ## Jira conversion identifiers.
         | 
| 33 33 | 
             
            jira_transition_ids:
         | 
    
        data/Capefile.template
    CHANGED
    
    | @@ -19,9 +19,11 @@ | |
| 19 19 | 
             
            # jira_url: https://example.atlassian.net/
         | 
| 20 20 |  | 
| 21 21 | 
             
            ## The ID of this project on your Jira system.
         | 
| 22 | 
            +
            ## If you are not sure what is Jira ID of this project, run the command "caperoma get_jira_project_ids" and paste here the ID that you see in the result.
         | 
| 22 23 | 
             
            # jira_project_id: 12345
         | 
| 23 24 |  | 
| 24 25 | 
             
            ## Issue identifiers of various types on your Jira system.
         | 
| 26 | 
            +
            ## If you are not sure what are Jira Issue Type IDs of this project, run the command "caperoma get_jira_issue_type_ids" and paste here the IDs that you see in the result.
         | 
| 25 27 | 
             
            # jira_issue_type_ids:
         | 
| 26 28 | 
             
            #   feature: 10101
         | 
| 27 29 | 
             
            #   bug: 10103
         | 
| @@ -29,7 +31,8 @@ | |
| 29 31 | 
             
            #   fix: 10101
         | 
| 30 32 | 
             
            #   meeting: 10100
         | 
| 31 33 |  | 
| 32 | 
            -
            ## Jira  | 
| 34 | 
            +
            ## Jira transition identifiers.
         | 
| 35 | 
            +
            ## If you are not sure what are Jira Transition IDs of this project, run the command "caperoma get_jira_transition_ids" and paste here the IDs that you see in the result.
         | 
| 33 36 | 
             
            # jira_transition_ids:
         | 
| 34 37 | 
             
            #   todo: 11
         | 
| 35 38 | 
             
            #   in_progress: 21
         | 
    
        data/Gemfile
    CHANGED
    
    | @@ -2,17 +2,13 @@ | |
| 2 2 |  | 
| 3 3 | 
             
            source 'https://rubygems.org'
         | 
| 4 4 |  | 
| 5 | 
            -
            ruby '2.6.3'
         | 
| 6 | 
            -
             | 
| 7 5 | 
             
            # Runtime dependencies
         | 
| 8 6 | 
             
            gem 'actionpack'
         | 
| 9 7 | 
             
            gem 'actionview'
         | 
| 10 8 | 
             
            gem 'activerecord'
         | 
| 11 | 
            -
            gem 'activesupport'
         | 
| 12 9 | 
             
            gem 'faraday'
         | 
| 13 10 | 
             
            gem 'gmail'
         | 
| 14 11 | 
             
            gem 'jbuilder'
         | 
| 15 | 
            -
            gem 'pivotal-tracker'
         | 
| 16 12 | 
             
            gem 'rubocop'
         | 
| 17 13 | 
             
            gem 'sqlite3'
         | 
| 18 14 | 
             
            gem 'time_difference'
         | 
| @@ -21,7 +17,7 @@ gem 'whenever', require: false | |
| 21 17 | 
             
            group :development do
         | 
| 22 18 | 
             
              gem 'bundler'
         | 
| 23 19 | 
             
              gem 'database_cleaner'
         | 
| 24 | 
            -
              gem ' | 
| 20 | 
            +
              gem 'factory_girl'
         | 
| 25 21 | 
             
              gem 'juwelier'
         | 
| 26 22 | 
             
              gem 'rdoc'
         | 
| 27 23 | 
             
              gem 'rspec'
         | 
    
        data/Gemfile.lock
    CHANGED
    
    | @@ -32,21 +32,14 @@ GEM | |
| 32 32 | 
             
                builder (3.2.3)
         | 
| 33 33 | 
             
                chronic (0.10.2)
         | 
| 34 34 | 
             
                concurrent-ruby (1.1.5)
         | 
| 35 | 
            -
                crack (0.4.3)
         | 
| 36 | 
            -
                  safe_yaml (~> 1.0.0)
         | 
| 37 35 | 
             
                crass (1.0.4)
         | 
| 38 36 | 
             
                database_cleaner (1.7.0)
         | 
| 39 37 | 
             
                descendants_tracker (0.0.4)
         | 
| 40 38 | 
             
                  thread_safe (~> 0.3, >= 0.3.1)
         | 
| 41 39 | 
             
                diff-lcs (1.3)
         | 
| 42 | 
            -
                domain_name (0.5.20190701)
         | 
| 43 | 
            -
                  unf (>= 0.0.5, < 1.0.0)
         | 
| 44 40 | 
             
                erubi (1.8.0)
         | 
| 45 | 
            -
                 | 
| 46 | 
            -
                  activesupport (>=  | 
| 47 | 
            -
                factory_bot_rails (5.0.2)
         | 
| 48 | 
            -
                  factory_bot (~> 5.0.2)
         | 
| 49 | 
            -
                  railties (>= 4.2.0)
         | 
| 41 | 
            +
                factory_girl (4.9.0)
         | 
| 42 | 
            +
                  activesupport (>= 3.0.0)
         | 
| 50 43 | 
             
                faraday (0.15.4)
         | 
| 51 44 | 
             
                  multipart-post (>= 1.2, < 3)
         | 
| 52 45 | 
             
                git (1.5.0)
         | 
| @@ -63,8 +56,6 @@ GEM | |
| 63 56 | 
             
                  oauth (>= 0.3.6)
         | 
| 64 57 | 
             
                hashie (3.6.0)
         | 
| 65 58 | 
             
                highline (2.0.2)
         | 
| 66 | 
            -
                http-cookie (1.0.3)
         | 
| 67 | 
            -
                  domain_name (~> 0.5)
         | 
| 68 59 | 
             
                i18n (1.6.0)
         | 
| 69 60 | 
             
                  concurrent-ruby (~> 1.0)
         | 
| 70 61 | 
             
                jaro_winkler (1.5.3)
         | 
| @@ -90,21 +81,14 @@ GEM | |
| 90 81 | 
             
                  nokogiri (>= 1.5.9)
         | 
| 91 82 | 
             
                mail (2.7.1)
         | 
| 92 83 | 
             
                  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 84 | 
             
                mini_mime (1.0.2)
         | 
| 98 85 | 
             
                mini_portile2 (2.4.0)
         | 
| 99 86 | 
             
                minitest (5.11.3)
         | 
| 100 87 | 
             
                multi_json (1.13.1)
         | 
| 101 88 | 
             
                multi_xml (0.6.0)
         | 
| 102 89 | 
             
                multipart-post (2.1.1)
         | 
| 103 | 
            -
                netrc (0.11.0)
         | 
| 104 90 | 
             
                nokogiri (1.10.3)
         | 
| 105 91 | 
             
                  mini_portile2 (~> 2.4.0)
         | 
| 106 | 
            -
                nokogiri-happymapper (0.8.1)
         | 
| 107 | 
            -
                  nokogiri (~> 1.5)
         | 
| 108 92 | 
             
                oauth (0.5.4)
         | 
| 109 93 | 
             
                oauth2 (1.4.1)
         | 
| 110 94 | 
             
                  faraday (>= 0.8, < 0.16.0)
         | 
| @@ -115,12 +99,6 @@ GEM | |
| 115 99 | 
             
                parallel (1.17.0)
         | 
| 116 100 | 
             
                parser (2.6.3.0)
         | 
| 117 101 | 
             
                  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 102 | 
             
                psych (3.1.0)
         | 
| 125 103 | 
             
                public_suffix (3.1.1)
         | 
| 126 104 | 
             
                rack (2.0.7)
         | 
| @@ -131,19 +109,9 @@ GEM | |
| 131 109 | 
             
                  nokogiri (>= 1.6)
         | 
| 132 110 | 
             
                rails-html-sanitizer (1.0.4)
         | 
| 133 111 | 
             
                  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 112 | 
             
                rainbow (3.0.0)
         | 
| 141 113 | 
             
                rake (12.3.3)
         | 
| 142 114 | 
             
                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 115 | 
             
                rspec (3.8.0)
         | 
| 148 116 | 
             
                  rspec-core (~> 3.8.0)
         | 
| 149 117 | 
             
                  rspec-expectations (~> 3.8.0)
         | 
| @@ -165,22 +133,17 @@ GEM | |
| 165 133 | 
             
                  ruby-progressbar (~> 1.7)
         | 
| 166 134 | 
             
                  unicode-display_width (>= 1.4.0, < 1.7)
         | 
| 167 135 | 
             
                ruby-progressbar (1.10.1)
         | 
| 168 | 
            -
                safe_yaml (1.0.5)
         | 
| 169 136 | 
             
                semver2 (3.4.2)
         | 
| 170 137 | 
             
                shoulda (2.11.3)
         | 
| 171 138 | 
             
                shoulda-matchers (4.1.1)
         | 
| 172 139 | 
             
                  activesupport (>= 4.2.0)
         | 
| 173 140 | 
             
                sqlite3 (1.4.1)
         | 
| 174 | 
            -
                thor (0.20.3)
         | 
| 175 141 | 
             
                thread_safe (0.3.6)
         | 
| 176 142 | 
             
                time_difference (0.7.0)
         | 
| 177 143 | 
             
                  activesupport (~> 5.1)
         | 
| 178 144 | 
             
                timecop (0.9.1)
         | 
| 179 145 | 
             
                tzinfo (1.2.5)
         | 
| 180 146 | 
             
                  thread_safe (~> 0.1)
         | 
| 181 | 
            -
                unf (0.1.4)
         | 
| 182 | 
            -
                  unf_ext
         | 
| 183 | 
            -
                unf_ext (0.0.7.6)
         | 
| 184 147 | 
             
                unicode-display_width (1.6.0)
         | 
| 185 148 | 
             
                whenever (1.0.0)
         | 
| 186 149 | 
             
                  chronic (>= 0.6.3)
         | 
| @@ -192,15 +155,13 @@ DEPENDENCIES | |
| 192 155 | 
             
              actionpack
         | 
| 193 156 | 
             
              actionview
         | 
| 194 157 | 
             
              activerecord
         | 
| 195 | 
            -
              activesupport
         | 
| 196 158 | 
             
              bundler
         | 
| 197 159 | 
             
              database_cleaner
         | 
| 198 | 
            -
               | 
| 160 | 
            +
              factory_girl
         | 
| 199 161 | 
             
              faraday
         | 
| 200 162 | 
             
              gmail
         | 
| 201 163 | 
             
              jbuilder
         | 
| 202 164 | 
             
              juwelier
         | 
| 203 | 
            -
              pivotal-tracker
         | 
| 204 165 | 
             
              rdoc
         | 
| 205 166 | 
             
              rspec
         | 
| 206 167 | 
             
              rubocop
         | 
| @@ -211,8 +172,5 @@ DEPENDENCIES | |
| 211 172 | 
             
              timecop
         | 
| 212 173 | 
             
              whenever
         | 
| 213 174 |  | 
| 214 | 
            -
            RUBY VERSION
         | 
| 215 | 
            -
               ruby 2.6.3p62
         | 
| 216 | 
            -
             | 
| 217 175 | 
             
            BUNDLED WITH
         | 
| 218 176 | 
             
               1.17.3
         | 
    
        data/HELP
    CHANGED
    
    | @@ -8,9 +8,15 @@ Available commands | |
| 8 8 | 
             
            ### Initialize
         | 
| 9 9 | 
             
            `caperoma init` - initializes Caperoma inside a project (creates Capefile).
         | 
| 10 10 |  | 
| 11 | 
            +
            ### Get Project IDs from Jira 
         | 
| 12 | 
            +
            `caperoma get_jira_project_ids` - see what project IDs does your Jira support, to put them into the Capefile.
         | 
| 13 | 
            +
             | 
| 11 14 | 
             
            ### Get Issue IDs from Jira 
         | 
| 12 15 | 
             
            `caperoma get_jira_issue_type_ids` - see what issue IDs does your Jira support, to put them into the Capefile.
         | 
| 13 16 |  | 
| 17 | 
            +
            ### Get Transition IDs from Jira 
         | 
| 18 | 
            +
            `caperoma get_jira_transition_ids` - see what transition IDs does your Jira support, to put them into the Capefile.
         | 
| 19 | 
            +
             | 
| 14 20 | 
             
            ### Status
         | 
| 15 21 | 
             
            `caperoma status` - shows a task you are working on now.
         | 
| 16 22 | 
             
            Example:
         | 
| @@ -30,6 +36,7 @@ $ caperoma status | |
| 30 36 | 
             
            You are not working on anything now.
         | 
| 31 37 | 
             
            ```
         | 
| 32 38 |  | 
| 39 | 
            +
            ### Projects List
         | 
| 33 40 | 
             
            `caperoma projects` - shows the list of projects on this computer.
         | 
| 34 41 | 
             
            Example:
         | 
| 35 42 | 
             
            ```bash
         | 
| @@ -52,16 +59,24 @@ $ caperoma projects | |
| 52 59 | 
             
            - *If the -p parameter is specified, Caperoma starts Pivotal task with this ID.*
         | 
| 53 60 | 
             
            - *If the -p parameter is not specified, Caperoma will create a new task in Pivotal, start it and use its ID.*
         | 
| 54 61 | 
             
            - *The creation of certain types of tasks in Pivotal (when -p is absent) can be turned on or off in Capefile.*
         | 
| 55 | 
            -
            - *If you are already working on something, you won't be able to start a new task.  | 
| 62 | 
            +
            - *If you are already working on something, you won't be able to start a new task. First, you will have to finish or pause the current task.*
         | 
| 56 63 |  | 
| 57 64 | 
             
            `options`:
         | 
| 58 | 
            -
            `-t, --title` - The name of the feature (for a commit, pull request, tasks in Jira and Pivotal). ` -t` and `--title` are different versions of the same option.
         | 
| 59 | 
            -
            `-d, --description` - The description (for a task in Jira and Pivotal).
         | 
| 60 | 
            -
            `-p, -ptid, --pivotal_task_id` - ID of task in Pivotal (automatically gets started/finished during the work on it in Caperoma).
         | 
| 61 | 
            -
            `-a, --additional_time` - Additional time (in minutes). Intended for cases when you want to indicate that you started working on it X minutes ago (X minutes before starting Caperoma timer). For example, for 1 hour you tried to reproduce the problem before you realized that you need to start a new task. Or if you forgot to start Caperoma. Additional time is always in minutes. Adding 125 minutes (-a 125) will mean that you spent 2h 5m on the task before turning on Caperoma timer.
         | 
| 62 65 |  | 
| 63 | 
            -
             | 
| 64 | 
            -
             | 
| 66 | 
            +
            `-t`, `--title` - The name of the feature (for a commit, pull request, tasks in Jira and Pivotal). ` -t` and `--title` are different versions of the same option.
         | 
| 67 | 
            +
             | 
| 68 | 
            +
             | 
| 69 | 
            +
            `-d`, `--description` - The description (for a task in Jira and Pivotal).
         | 
| 70 | 
            +
             | 
| 71 | 
            +
             | 
| 72 | 
            +
            `-p`, `-ptid`, `--pivotal_task_id` - ID of task in Pivotal (automatically gets started/finished during the work on it in Caperoma).
         | 
| 73 | 
            +
             | 
| 74 | 
            +
             | 
| 75 | 
            +
            `-a`, `--additional_time` - Additional time (in minutes). Intended for cases when you want to indicate that you started working on it X minutes ago (X minutes before starting Caperoma timer). For example, for 1 hour you tried to reproduce the problem before you realized that you need to start a new task. Or if you forgot to start Caperoma. Additional time is always in minutes. Adding 125 minutes (-a 125) will mean that you spent 2h 5m on the task before turning on Caperoma timer.
         | 
| 76 | 
            +
             | 
| 77 | 
            +
            *The order of options is not important.*
         | 
| 78 | 
            +
             | 
| 79 | 
            +
            *Immediately after the operator must be a value.*
         | 
| 65 80 |  | 
| 66 81 | 
             
            Examples:
         | 
| 67 82 | 
             
            ```bash
         | 
| @@ -76,12 +91,18 @@ caperoma feature -t "title" -d "description" -p 4830184 -a 48 | |
| 76 91 |  | 
| 77 92 | 
             
            caperoma feature --title "title" --description "description" --pivotal_task_id 1000001 --additional_time 5
         | 
| 78 93 | 
             
            # (create the feature "title" with the description of "description" and Pivotal ID #1000001, on which you started working 5 minutes ago)
         | 
| 94 | 
            +
             | 
| 95 | 
            +
            caperoma feature -p 12345678
         | 
| 96 | 
            +
            # (it will take title and description from Pivotal task with id 12345678)
         | 
| 79 97 | 
             
            ```
         | 
| 80 98 |  | 
| 81 99 | 
             
            #### Start a Bug 
         | 
| 82 100 | 
             
            `caperoma bug [options]` - Creates a bug in the new branch.
         | 
| 101 | 
            +
             | 
| 83 102 | 
             
            Does almost the same thing as `caperoma feature`, just starts everywhere the tasks of a type "bug".
         | 
| 103 | 
            +
             | 
| 84 104 | 
             
            `options`: same as for `caperoma feature`
         | 
| 105 | 
            +
             | 
| 85 106 | 
             
            Example:
         | 
| 86 107 | 
             
            ```bash
         | 
| 87 108 | 
             
            caperoma bug -t "something isn't working" -a 20
         | 
| @@ -90,13 +111,18 @@ caperoma bug -t "something isn't working" -a 20 | |
| 90 111 |  | 
| 91 112 | 
             
            #### Start a Fix  
         | 
| 92 113 | 
             
            `caperoma fix [options]` - Creates a fix in the CURRENT branch, doing at the end just "git push" into the branch, not a pull request.
         | 
| 114 | 
            +
             | 
| 93 115 | 
             
            Everything else is almost the same as `caperoma feature`.
         | 
| 116 | 
            +
             | 
| 94 117 | 
             
            This command is created for the cases when you already have a remote branch, or if you already made a pull request, and you need to go back to it and add something.
         | 
| 118 | 
            +
             | 
| 95 119 | 
             
            This command considers the specifics of work with open pull requests and remote branches:
         | 
| 96 120 | 
             
            - Downloads the latest version of the current branch before starting the work and again before pushing the changes.
         | 
| 97 121 | 
             
            - Changes are made in a new commit instead of a potentially conflicting amend.
         | 
| 98 122 | 
             
            - Leaves the title and description of pull requests.
         | 
| 123 | 
            +
             | 
| 99 124 | 
             
            `options`: same as for `caperoma feature`
         | 
| 125 | 
            +
             | 
| 100 126 | 
             
            Example:
         | 
| 101 127 | 
             
            ```bash
         | 
| 102 128 | 
             
            caperoma fix --title "Spelling fix" -d "Fix the spelling mistake"
         | 
| @@ -105,15 +131,23 @@ caperoma fix --title "Spelling fix" -d "Fix the spelling mistake" | |
| 105 131 |  | 
| 106 132 | 
             
            #### Start a Meeting 
         | 
| 107 133 | 
             
            `caperoma meeting [options]` - Creates a meeting.
         | 
| 134 | 
            +
             | 
| 108 135 | 
             
            For cases when you need to record to Jira the facts of talking on the phone with your coworkers.
         | 
| 136 | 
            +
             | 
| 109 137 | 
             
            Jira ID for the meeting (as for other types of tasks) can be set in Capefile (by default it has the same value as a chore).
         | 
| 138 | 
            +
             | 
| 110 139 | 
             
            In Pivotal creating meetings is off by default. It can be turned on in Capefile. If it is on, Caperoma will create "chores".
         | 
| 140 | 
            +
             | 
| 111 141 | 
             
            `options`: same as for `caperoma feature`
         | 
| 112 142 |  | 
| 113 143 | 
             
            This feature is sometimes used to automate logging phone calls to Jira.
         | 
| 144 | 
            +
             | 
| 114 145 | 
             
            For example, in Skype, you could configure it to call the command `caperoma meeting -t "meeting"` when you pick up the phone and call `caperoma finish` when you hang up.
         | 
| 146 | 
            +
             | 
| 115 147 | 
             
            As a result, Skype conversations will automatically be entered into Jira with accuracy up to a minute.
         | 
| 148 | 
            +
             | 
| 116 149 | 
             
            5-10 people can participate in a conference call, so if each of them sets up Caperoma, you can save a couple of man-hours for each call.
         | 
| 150 | 
            +
             | 
| 117 151 | 
             
            Example:
         | 
| 118 152 | 
             
            ```bash
         | 
| 119 153 | 
             
            caperoma meeting -t "title"
         | 
| @@ -121,9 +155,13 @@ caperoma meeting -t "title" | |
| 121 155 |  | 
| 122 156 | 
             
            #### Start a Chore
         | 
| 123 157 | 
             
            `caperoma chore [options]` - Creates a chore. Without branch and commit.
         | 
| 158 | 
            +
             | 
| 124 159 | 
             
            For cases when the goal of the task is not committing code.
         | 
| 160 | 
            +
             | 
| 125 161 | 
             
            For example, you need to configure something on a remote server.
         | 
| 162 | 
            +
             | 
| 126 163 | 
             
            `options`: same as for `caperoma feature`
         | 
| 164 | 
            +
             | 
| 127 165 | 
             
            Example:
         | 
| 128 166 | 
             
            ```bash
         | 
| 129 167 | 
             
            caperoma chore -t "going downtown to pick up a new computer" -a 10
         | 
| @@ -134,6 +172,7 @@ caperoma chore -t "going downtown to pick up a new computer" -a 10 | |
| 134 172 |  | 
| 135 173 | 
             
            #### Finish current task
         | 
| 136 174 | 
             
            `caperoma finish [optional comment]` - ends a task of any type.
         | 
| 175 | 
            +
             | 
| 137 176 | 
             
            Do everything that you usually do after finishing a task:
         | 
| 138 177 | 
             
            - git commit (feature, bug, fix) [commit name consists of the task title, Jira ID and Pivotal ID]
         | 
| 139 178 | 
             
            - runs style guide checks (rubocop -a)
         | 
| @@ -155,29 +194,39 @@ caperoma finish "completed" | |
| 155 194 |  | 
| 156 195 | 
             
            #### Abort current task
         | 
| 157 196 | 
             
            `caperoma abort [optional comment]` - finish without committing / pushing changes.
         | 
| 197 | 
            +
             | 
| 158 198 | 
             
            This command does what you usually need to do to interrupt the task:
         | 
| 159 199 | 
             
            - Logs time to Jira.
         | 
| 160 200 | 
             
            - changes the status of Jira task to "done"
         | 
| 161 201 | 
             
            - changes the status of Pivotal task to "finished"
         | 
| 162 202 | 
             
            - switches to the main branch
         | 
| 203 | 
            +
             | 
| 163 204 | 
             
            All changes to files remain uncommitted.
         | 
| 205 | 
            +
             | 
| 164 206 | 
             
            Examples:
         | 
| 165 207 | 
             
            ```bash
         | 
| 166 208 | 
             
            caperoma abort "can't reproduce"
         | 
| 167 209 | 
             
            # interrupt + write a comment "can't reproduce" in Jira
         | 
| 168 210 |  | 
| 169 211 | 
             
            caperoma abort
         | 
| 212 | 
            +
            # keep comment blank
         | 
| 170 213 | 
             
            ```
         | 
| 171 214 |  | 
| 172 215 | 
             
            #### Abort current task without logging time
         | 
| 173 216 | 
             
            `caperoma abort_without_time [optional comment]` - same as abort, but does not log time to Jira
         | 
| 217 | 
            +
             | 
| 174 218 | 
             
            Only changes the status of Jira task to "done".
         | 
| 219 | 
            +
             | 
| 175 220 | 
             
            Pivotal task remains started.
         | 
| 221 | 
            +
             | 
| 176 222 | 
             
            Files remain uncommitted.
         | 
| 177 223 |  | 
| 178 224 | 
             
            Example:
         | 
| 225 | 
            +
             | 
| 179 226 | 
             
            Suppose you started a task and fall asleep.
         | 
| 227 | 
            +
             | 
| 180 228 | 
             
            You wake up, the timer is still running.
         | 
| 229 | 
            +
             | 
| 181 230 | 
             
            You stop the timer without logging time to Jira:
         | 
| 182 231 | 
             
            ```
         | 
| 183 232 | 
             
            caperoma abort_without_time
         | 
| @@ -185,6 +234,7 @@ caperoma abort_without_time | |
| 185 234 |  | 
| 186 235 | 
             
            #### Pause current task
         | 
| 187 236 | 
             
            `caperoma pause [optional comment]` — stop work on the task, but not consider it completed (don't make a pull request).
         | 
| 237 | 
            +
             | 
| 188 238 | 
             
            What it will do:
         | 
| 189 239 | 
             
            - git commit (feature, bug, fix) [commit name consists of the task title, Jira ID and Pivotal ID]
         | 
| 190 240 | 
             
            - runs style guide checks (rubocop -a)
         | 
| @@ -200,6 +250,7 @@ To finish the paused task, you will need to manually switch into its branch and | |
| 200 250 | 
             
            Finishing the task will be done by new independent tasks in Jira.
         | 
| 201 251 |  | 
| 202 252 | 
             
            Example:
         | 
| 253 | 
            +
             | 
| 203 254 | 
             
            Suppose you need to urgently switch to another task.
         | 
| 204 255 | 
             
            ```bash
         | 
| 205 256 | 
             
            ...
         | 
| @@ -224,10 +275,15 @@ caperoma finish | |
| 224 275 |  | 
| 225 276 | 
             
            #### Adding Accounts
         | 
| 226 277 | 
             
            `caperoma accounts [add command] [account_type] [login] [password] [assignee]` - add (or overwrite) an account of type [account_type] to the database.
         | 
| 278 | 
            +
             | 
| 227 279 | 
             
            `[add command]`: `-a`, `add`, `--add`, `-c`, `create`, `--create` (all these are equivalent).
         | 
| 280 | 
            +
             | 
| 228 281 | 
             
            `[account_type]`: One of: `--jira`, `--pivotal` `--git`, `--gmail`
         | 
| 282 | 
            +
             | 
| 229 283 | 
             
            `[login]` is your account login (email or username).
         | 
| 284 | 
            +
             | 
| 230 285 | 
             
            `[password]` for --jira and --pivotal should be api_tokens (password won't do). for --git and --gmail it should be your password.
         | 
| 286 | 
            +
             | 
| 231 287 | 
             
            `[assignee]` is only for --jira, for other types no need to write anything there.
         | 
| 232 288 |  | 
| 233 289 | 
             
            Examples:
         | 
| @@ -243,7 +299,9 @@ caperoma accounts --create --gmail login password   # Add Gmail account for repo | |
| 243 299 |  | 
| 244 300 | 
             
            #### Removing accounts
         | 
| 245 301 | 
             
            `caperoma accounts [remove_command] [account_type]` - remove an account of a given type.
         | 
| 302 | 
            +
             | 
| 246 303 | 
             
            `[remove_command]`: `remove`, `--remove`, `-r`, `delete`, `--delete`, `-d` (all these are equivalent).
         | 
| 304 | 
            +
             | 
| 247 305 | 
             
            `[account_type]`: One of the following: `--jira`, `--pivotal`, `--git`, `--gmail`
         | 
| 248 306 |  | 
| 249 307 | 
             
            Examples:
         | 
| @@ -256,10 +314,18 @@ caperoma accounts -delete --gmail # Remove Gmail account for reports | |
| 256 314 |  | 
| 257 315 | 
             
            ### Deleting all data from this computer
         | 
| 258 316 | 
             
            `caperoma delete_history` - removes the caperoma database, so deletes the information on the tasks, time spent, branch names, account credentials, etc.
         | 
| 317 | 
            +
             | 
| 259 318 | 
             
            Keeps the folders of your projects intact.
         | 
| 260 319 |  | 
| 320 | 
            +
             | 
| 321 | 
            +
            ### Deleting all tasks from this computer
         | 
| 322 | 
            +
            `caperoma delete_tasks` - removes the tasks from the database, so deletes the information on the task names, time spent, branch names, etc.
         | 
| 323 | 
            +
             | 
| 324 | 
            +
            Keeps other settings (accounts, projects) and the folders of your projects intact.
         | 
| 325 | 
            +
             | 
| 261 326 | 
             
            ### Version:
         | 
| 262 327 | 
             
            `caperoma -v` - shows Caperoma version
         | 
| 328 | 
            +
             | 
| 263 329 | 
             
            `caperoma version` - shows Caperoma version
         | 
| 264 330 |  | 
| 265 331 | 
             
            ### Recipients
         | 
| @@ -268,7 +334,9 @@ Keeps the folders of your projects intact. | |
| 268 334 |  | 
| 269 335 | 
             
            #### Adding Report Recipients:
         | 
| 270 336 | 
             
            `caperoma recipients [add command] [email]` - adds an email of a recipient of your reports to the database.
         | 
| 337 | 
            +
             | 
| 271 338 | 
             
            `[add command]`: `-a`, `add`, `--add`, `-c`, `create`, `--create` (all these are equivalent).
         | 
| 339 | 
            +
             | 
| 272 340 | 
             
            `[email]` - the email of the recipient
         | 
| 273 341 |  | 
| 274 342 | 
             
            Examples:
         | 
| @@ -282,6 +350,7 @@ caperoma recipients --add "your_techlead@domain.com" | |
| 282 350 |  | 
| 283 351 | 
             
            #### Removing Report Recipients
         | 
| 284 352 | 
             
            `caperoma recipients [remove command] [email]` - removes the `[email]` of the recipient of your reports from the database.
         | 
| 353 | 
            +
             | 
| 285 354 | 
             
            `[remove command]`: `remove`, `--remove`, `-r`, `delete`, `--delete`, `-d` (all these are equivalent).
         | 
| 286 355 |  | 
| 287 356 | 
             
            Examples:
         | 
| @@ -293,17 +362,19 @@ caperoma recipients --delete "your_supervisor@domain.com" | |
| 293 362 |  | 
| 294 363 | 
             
            ### Automatic Reports
         | 
| 295 364 | 
             
            `caperoma report auto on` - turns on automatic report sending to all your recipients.
         | 
| 365 | 
            +
             | 
| 296 366 | 
             
            `caperoma report auto off` - turn off automatic report sending to all your recipients.
         | 
| 297 367 |  | 
| 298 368 | 
             
            ### Sending Reports Manually
         | 
| 299 | 
            -
            `caperoma report  | 
| 300 | 
            -
             | 
| 369 | 
            +
            `caperoma report [option]` - send a report right now.
         | 
| 370 | 
            +
             | 
| 371 | 
            +
            `[option]`:
         | 
| 372 | 
            +
             | 
| 373 | 
            +
            `daily`, `-d` - send a daily report right now
         | 
| 301 374 |  | 
| 302 | 
            -
            ` | 
| 303 | 
            -
            `caperoma report -t` - send a three-day report right now
         | 
| 375 | 
            +
            `three_day`, `-t` - send a three-day report right now
         | 
| 304 376 |  | 
| 305 | 
            -
            ` | 
| 306 | 
            -
            `caperoma report -w` - send a weekly report right now
         | 
| 377 | 
            +
            `weekly`, `-w` - send a weekly report right now
         | 
| 307 378 |  | 
| 308 379 | 
             
            ### Support me on Patreon.
         | 
| 309 380 | 
             
            https://www.patreon.com/sergevinogradoff
         |