octopando 0.2.3 → 0.2.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/README.md +20 -5
- data/lib/octopando.rb +3 -0
- data/lib/octopando/cli.rb +8 -0
- data/lib/octopando/jira_client.rb +2 -1
- data/lib/octopando/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 57b0fb6265b65f9e1b2429f9d78a0811323021a8
|
4
|
+
data.tar.gz: 352765893deeb5d0febb1513962b084095bb9809
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fd162433cc6ab6516a66d6a4b260d91ec5bb5ac3b28c6aae37a20beefd8d1becf580d0fe9d2d9b30e28a2e4da003a10ef746190a24131ac5b3111ac5e00aef7e
|
7
|
+
data.tar.gz: b31716df39e8d934ea3387161928276e0bbff0b84ebb90fc99ff3d72545ae3d0cfc4f99954d1773e8bd1fb02c316cff37d89f3e601bebefa824bea450759b670
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,10 @@
|
|
2
2
|
All notable changes to this project will be documented in this file.
|
3
3
|
This project adheres to [Semantic Versioning](http://semver.org/).
|
4
4
|
|
5
|
+
## [0.2.4] - 2015-07-01
|
6
|
+
### Fixed
|
7
|
+
- No longer dies when it can find the jira domain in your keychain
|
8
|
+
|
5
9
|
## [0.2.3] - 2015-07-01
|
6
10
|
### Added
|
7
11
|
- list action to list all your uncompleted jira issues
|
data/README.md
CHANGED
@@ -1,4 +1,7 @@
|
|
1
1
|
# Octopando
|
2
|
+
[![Gem Version](https://badge.fury.io/rb/octopando.svg)](http://badge.fury.io/rb/octopando)
|
3
|
+
[![Code Climate](https://codeclimate.com/github/defektive/octopando/badges/gpa.svg)](https://codeclimate.com/github/defektive/octopando)
|
4
|
+
[![Dependency Status](https://gemnasium.com/defektive/octopando.svg)](https://gemnasium.com/defektive/octopando)
|
2
5
|
|
3
6
|
Designed to make your life easier by letting you live in the command line more.
|
4
7
|
|
@@ -14,14 +17,26 @@ It will pull you jira credentials from the osx keychain
|
|
14
17
|
This will install an `octopando` executable, and a symlink to it named `op`
|
15
18
|
|
16
19
|
## Usage
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
20
|
+
```
|
21
|
+
$ op start
|
22
|
+
1 CNVS-20465 - Assignments submitted via Google Drive have missing file extensions
|
23
|
+
2 PLAT-1082 - Create an HTML element to allow a thumbnail overlay for LTI Launches
|
24
|
+
Select a ticket 1
|
25
|
+
```
|
22
26
|
|
23
27
|
This will check out the branch `issue/CNVS-20465`. If it doesn't exist it will create it from the current branch you are on
|
24
28
|
|
29
|
+
### Command reference
|
30
|
+
|
31
|
+
```
|
32
|
+
Octopando commands:
|
33
|
+
octopando help [COMMAND] # Describe available commands or one specific command
|
34
|
+
octopando list # list open issues assigned to you
|
35
|
+
octopando prepare_commit_msg # used for git hook
|
36
|
+
octopando prune # remove old branches
|
37
|
+
octopando start # Start some work
|
38
|
+
```
|
39
|
+
|
25
40
|
## Development
|
26
41
|
|
27
42
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake false` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment. Run `bundle exec octopando` to use the gem in this directory, ignoring other installed copies of this gem.
|
data/lib/octopando.rb
CHANGED
@@ -8,6 +8,8 @@ require 'word_wrap'
|
|
8
8
|
|
9
9
|
module Octopando
|
10
10
|
|
11
|
+
class KeyChainError < StandardError
|
12
|
+
end
|
11
13
|
def self.git
|
12
14
|
@git ||= Git.open(Dir.pwd)
|
13
15
|
end
|
@@ -15,6 +17,7 @@ module Octopando
|
|
15
17
|
def self.jira
|
16
18
|
@jira ||= JiraClient.from_keychain
|
17
19
|
end
|
20
|
+
|
18
21
|
end
|
19
22
|
|
20
23
|
require "octopando/cli"
|
data/lib/octopando/cli.rb
CHANGED
@@ -14,6 +14,8 @@ module Octopando
|
|
14
14
|
issue.move_to_in_progress if yes?("Would you like to move this issue to 'In Progress'? ")
|
15
15
|
end
|
16
16
|
# Octopando.jira.my_issues[ticket_item.to_i - 1].start
|
17
|
+
rescue Octopando::KeyChainError
|
18
|
+
puts "#{Octopando::JiraClient::DOMAIN} doesnt exist in your keychain".colorize(:red)
|
17
19
|
rescue Interrupt
|
18
20
|
puts "\nInterrupt detected... terminating.".colorize(:yellow)
|
19
21
|
end
|
@@ -46,6 +48,8 @@ module Octopando
|
|
46
48
|
puts %Q{ #{my_issues_index} #{key} #{issue.summary}\n <https://instructure.atlassian.net/browse/#{issue.key}>}.colorize(color)
|
47
49
|
end
|
48
50
|
end
|
51
|
+
rescue Octopando::KeyChainError
|
52
|
+
puts "#{Octopando::JiraClient::DOMAIN} doesnt exist in your keychain".colorize(:red)
|
49
53
|
end
|
50
54
|
|
51
55
|
desc 'prune', 'remove old branches'
|
@@ -77,6 +81,8 @@ module Octopando
|
|
77
81
|
Octopando.git.branch(branch).delete
|
78
82
|
end
|
79
83
|
end
|
84
|
+
rescue Octopando::KeyChainError
|
85
|
+
puts "#{Octopando::JiraClient::DOMAIN} doesnt exist in your keychain".colorize(:red)
|
80
86
|
rescue Interrupt
|
81
87
|
puts "\nInterrupt detected... terminating.".colorize(:yellow)
|
82
88
|
end
|
@@ -116,5 +122,7 @@ module Octopando
|
|
116
122
|
|
117
123
|
File.rename(temp_message_file, message_file)
|
118
124
|
end
|
125
|
+
rescue Octopando::KeyChainError
|
126
|
+
puts "#{Octopando::JiraClient::DOMAIN} doesnt exist in your keychain".colorize(:red)
|
119
127
|
end
|
120
128
|
end
|
@@ -17,7 +17,8 @@ module Octopando
|
|
17
17
|
def self.from_keychain
|
18
18
|
@keychain_client ||= (
|
19
19
|
keychain_item = Keychain.default.internet_passwords.where(server: DOMAIN).first
|
20
|
-
|
20
|
+
raise Octopando::KeyChainError, "#{DOMAIN} is in your keychain" unless keychain_item
|
21
|
+
self.from_keychain_item(keychain_item) if keychain_item
|
21
22
|
)
|
22
23
|
end
|
23
24
|
|
data/lib/octopando/version.rb
CHANGED