story_branch 0.7.0 → 0.7.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 38598ac513a6f1681731cfd2fa3c01a59adb5ceefd21b13c1f522f278d0dbfeb
4
- data.tar.gz: 19aa50f492337817aeaab621f12db12cb7b035cfc1323cff704063cb689520f6
3
+ metadata.gz: 2084cb533a3635cde91837c75309fa1033fe80398aa7f730a90ad5e1a46d1272
4
+ data.tar.gz: 13bf5a6cb246301153206b9e9cae7133ee71cf147465cc1ceb84bfb964953beb
5
5
  SHA512:
6
- metadata.gz: 2a7f8523bc5dd537eaf6195d51449843d4cb6c9860da05cb1a5caf582cf7244ff7dc481881d517221b6e3772fb9492a59a821351fdee786ed902b938e5773282
7
- data.tar.gz: 716a2494b92218c4ba0ce1b2b73aa8fe1b8ea635a549312e31b2721405710d706cbe4ad905c30a3b4a8f6700732aa677bcfc10d1490b3ad9fecf17f536681521
6
+ metadata.gz: 8fb92e096420e47938befb9a684657c3ec14525a01a5172a89691ab2fe6fba41e5aabe3ff00ff2ac592a5b25e6143f0ad013bfe95c01e65ee976e0addfecb4bc
7
+ data.tar.gz: 58db1c589e85b911f2a9cd5268247f2a629e1b276c8ff72173b136662be286faeb7335368f410ed967a293d64d0554d63746a2edc5efb488d919d0e324d79738
data/.circleci/config.yml CHANGED
@@ -27,13 +27,21 @@ workflows:
27
27
  jobs:
28
28
  test:
29
29
  <<: *defaults
30
+
30
31
  steps:
31
32
  - checkout
32
33
 
34
+ - run:
35
+ name: Install Code Climate Test Reporter
36
+ command: |
37
+ curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
38
+ chmod +x ./cc-test-reporter
39
+ - run: ./cc-test-reporter before-build
40
+
33
41
  - restore_cache:
34
42
  keys:
35
- - v1-dependencies-{{ checksum "Gemfile.lock" }}
36
- - v1-dependencies-
43
+ - v2-dependencies-{{ checksum "Gemfile.lock" }}
44
+ - v2-dependencies-
37
45
 
38
46
  - run:
39
47
  name: install dependencies
@@ -44,7 +52,7 @@ jobs:
44
52
  - save_cache:
45
53
  paths:
46
54
  - ./vendor/bundle
47
- key: v1-dependencies-{{ checksum "Gemfile.lock" }}
55
+ key: v2-dependencies-{{ checksum "Gemfile.lock" }}
48
56
 
49
57
  - run:
50
58
  name: run tests
@@ -61,7 +69,16 @@ jobs:
61
69
  path: /tmp/test-results
62
70
  - store_artifacts:
63
71
  path: /tmp/test-results
64
- destination: test-results
72
+
73
+ - run:
74
+ name: Code Climate Test Coverage convert to json
75
+ command: |
76
+ ./cc-test-reporter format-coverage -t simplecov
77
+
78
+ - run:
79
+ name: Code Climate Test Coverage upload results
80
+ command: |
81
+ ./cc-test-reporter after-build -t simplecov --exit-code $?
65
82
 
66
83
  publish:
67
84
  <<: *defaults
@@ -70,8 +87,8 @@ jobs:
70
87
 
71
88
  - restore_cache:
72
89
  keys:
73
- - v1-dependencies-{{ checksum "Gemfile.lock" }}
74
- - v1-dependencies-
90
+ - v2-dependencies-{{ checksum "Gemfile.lock" }}
91
+ - v2-dependencies-
75
92
 
76
93
  - run:
77
94
  name: install dependencies
@@ -82,7 +99,7 @@ jobs:
82
99
  - save_cache:
83
100
  paths:
84
101
  - ./vendor/bundle
85
- key: v1-dependencies-{{ checksum "Gemfile.lock" }}
102
+ key: v2-dependencies-{{ checksum "Gemfile.lock" }}
86
103
 
87
104
  - run:
88
105
  name: Setup Rubygems
data/.gitignore CHANGED
@@ -2,3 +2,4 @@
2
2
  story_branch-*.gem
3
3
  /.pairs
4
4
  .byebug_history
5
+ coverage
data/Gemfile.lock CHANGED
@@ -1,13 +1,13 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- story_branch (0.7.0)
4
+ story_branch (0.7.1)
5
5
  blanket_wrapper (~> 3.0)
6
6
  damerau-levenshtein (~> 1.3)
7
7
  jira-ruby (~> 1.7)
8
- thor (~> 0.20.0)
9
- tty-command (~> 0.8.2)
10
- tty-config (~> 0.2.0)
8
+ thor (~> 0.20)
9
+ tty-command (~> 0.8)
10
+ tty-config (~> 0.2)
11
11
  tty-pager (~> 0.12)
12
12
  tty-prompt (~> 0.18)
13
13
  xdg (~> 3.0)
@@ -30,6 +30,7 @@ GEM
30
30
  concurrent-ruby (1.1.5)
31
31
  damerau-levenshtein (1.3.2)
32
32
  diff-lcs (1.3)
33
+ docile (1.3.1)
33
34
  equatable (0.6.1)
34
35
  fakefs (0.20.1)
35
36
  git (1.5.0)
@@ -43,7 +44,9 @@ GEM
43
44
  atlassian-jwt
44
45
  multipart-post
45
46
  oauth (~> 0.5, >= 0.5.0)
47
+ json (2.1.0)
46
48
  jwt (2.1.0)
49
+ kramdown (1.16.2)
47
50
  method_source (0.9.2)
48
51
  mime-types (3.3.1)
49
52
  mime-types-data (~> 3.2015)
@@ -62,6 +65,7 @@ GEM
62
65
  method_source (~> 0.9.0)
63
66
  rake (10.5.0)
64
67
  recursive-open-struct (1.1.0)
68
+ rouge (3.15.0)
65
69
  rspec (3.9.0)
66
70
  rspec-core (~> 3.9.0)
67
71
  rspec-expectations (~> 3.9.0)
@@ -77,22 +81,82 @@ GEM
77
81
  rspec-support (3.9.2)
78
82
  rspec_junit_formatter (0.4.1)
79
83
  rspec-core (>= 2, < 4, != 2.12.0)
84
+ simplecov (0.16.1)
85
+ docile (~> 1.1)
86
+ json (>= 1.8, < 3)
87
+ simplecov-html (~> 0.10.0)
88
+ simplecov-html (0.10.2)
80
89
  strings (0.1.8)
81
90
  strings-ansi (~> 0.1)
82
91
  unicode-display_width (~> 1.5)
83
92
  unicode_utils (~> 1.4)
84
- strings-ansi (0.2.0)
93
+ strings-ansi (0.1.0)
85
94
  thor (0.20.3)
86
95
  thread_safe (0.3.6)
96
+ tty (0.10.0)
97
+ bundler (~> 1.16, < 2.0)
98
+ equatable (~> 0.5)
99
+ pastel (~> 0.7.2)
100
+ thor (~> 0.20.0)
101
+ tty-box (~> 0.4.1)
102
+ tty-color (~> 0.5)
103
+ tty-command (~> 0.9.0)
104
+ tty-config (~> 0.3.2)
105
+ tty-cursor (~> 0.7)
106
+ tty-editor (~> 0.5)
107
+ tty-file (~> 0.8.0)
108
+ tty-font (~> 0.4.0)
109
+ tty-logger (~> 0.2.0)
110
+ tty-markdown (~> 0.6.0)
111
+ tty-pager (~> 0.12)
112
+ tty-pie (~> 0.3.0)
113
+ tty-platform (~> 0.2)
114
+ tty-progressbar (~> 0.17)
115
+ tty-prompt (~> 0.19)
116
+ tty-screen (~> 0.7)
117
+ tty-spinner (~> 0.9)
118
+ tty-table (~> 0.11.0)
119
+ tty-tree (~> 0.3)
120
+ tty-which (~> 0.4)
121
+ tty-box (0.4.1)
122
+ pastel (~> 0.7.2)
123
+ strings (~> 0.1.6)
124
+ tty-cursor (~> 0.7)
87
125
  tty-color (0.5.1)
88
- tty-command (0.8.2)
126
+ tty-command (0.9.0)
89
127
  pastel (~> 0.7.0)
90
- tty-config (0.2.0)
128
+ tty-config (0.3.2)
91
129
  tty-cursor (0.7.0)
130
+ tty-editor (0.5.1)
131
+ tty-prompt (~> 0.19)
132
+ tty-which (~> 0.4)
133
+ tty-file (0.8.0)
134
+ diff-lcs (~> 1.3)
135
+ pastel (~> 0.7.2)
136
+ tty-prompt (~> 0.18)
137
+ tty-font (0.4.0)
138
+ tty-logger (0.2.0)
139
+ pastel (~> 0.7.0)
140
+ tty-markdown (0.6.0)
141
+ kramdown (~> 1.16.2)
142
+ pastel (~> 0.7.2)
143
+ rouge (~> 3.3)
144
+ strings (~> 0.1.4)
145
+ tty-color (~> 0.4)
146
+ tty-screen (~> 0.6)
92
147
  tty-pager (0.12.1)
93
148
  strings (~> 0.1.4)
94
149
  tty-screen (~> 0.6)
95
150
  tty-which (~> 0.4)
151
+ tty-pie (0.3.0)
152
+ pastel (~> 0.7.3)
153
+ tty-cursor (~> 0.7)
154
+ tty-platform (0.3.0)
155
+ tty-progressbar (0.17.0)
156
+ strings-ansi (~> 0.1.0)
157
+ tty-cursor (~> 0.7)
158
+ tty-screen (~> 0.7)
159
+ unicode-display_width (~> 1.6)
96
160
  tty-prompt (0.20.0)
97
161
  necromancer (~> 0.5.0)
98
162
  pastel (~> 0.7.0)
@@ -102,6 +166,15 @@ GEM
102
166
  tty-screen (~> 0.7)
103
167
  wisper (~> 2.0.0)
104
168
  tty-screen (0.7.0)
169
+ tty-spinner (0.9.2)
170
+ tty-cursor (~> 0.7)
171
+ tty-table (0.11.0)
172
+ equatable (~> 0.6)
173
+ necromancer (~> 0.5)
174
+ pastel (~> 0.7.2)
175
+ strings (~> 0.1.5)
176
+ tty-screen (~> 0.7)
177
+ tty-tree (0.4.0)
105
178
  tty-which (0.4.2)
106
179
  tzinfo (1.2.6)
107
180
  thread_safe (~> 0.1)
@@ -115,7 +188,7 @@ PLATFORMS
115
188
  ruby
116
189
 
117
190
  DEPENDENCIES
118
- bundler (~> 2.0)
191
+ bundler (~> 1.17, < 2.0)
119
192
  fakefs (~> 0.14)
120
193
  git (~> 1.5)
121
194
  ostruct (~> 0.1)
@@ -123,7 +196,9 @@ DEPENDENCIES
123
196
  rake (~> 10.0)
124
197
  rspec (~> 3)
125
198
  rspec_junit_formatter (~> 0.4)
199
+ simplecov (~> 0.16)
126
200
  story_branch!
201
+ tty (~> 0.10)
127
202
 
128
203
  BUNDLED WITH
129
- 2.1.3
204
+ 1.17.3
@@ -18,6 +18,18 @@ module StoryBranch
18
18
  end
19
19
  map %w[--version -v] => :version
20
20
 
21
+ desc 'open_issue', 'Command description...'
22
+ method_option :help, aliases: '-h', type: :boolean,
23
+ desc: 'Display usage information'
24
+ def open_issue(*)
25
+ if options[:help]
26
+ invoke :help, ['open_issue']
27
+ else
28
+ require_relative 'commands/open_issue'
29
+ StoryBranch::Commands::OpenIssue.new(options).execute
30
+ end
31
+ end
32
+
21
33
  desc 'unstart', 'Mark a started story as un-started in Pivotal Tracker'
22
34
  method_option :help, aliases: '-h', type: :boolean,
23
35
  desc: 'Display usage information'
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../command'
4
+
5
+ module StoryBranch
6
+ module Commands
7
+ # OpenIssue command is used to open the associated ticket in the browser
8
+ class OpenIssue < StoryBranch::Command
9
+ def initialize(options)
10
+ @options = options
11
+ end
12
+
13
+ def execute(_input: $stdin, output: $stdout)
14
+ require_relative '../main'
15
+ sb = StoryBranch::Main.new
16
+ res = sb.open_current_url
17
+ output.write(res)
18
+ end
19
+ end
20
+ end
21
+ end
@@ -20,25 +20,8 @@ module StoryBranch
20
20
  false
21
21
  end
22
22
 
23
- def self.branch_for_story_exists?(id)
24
- GitWrapper.branch_names.each do |n|
25
- branch_id = n.match(/-[1-9]+[0-9]*$/)
26
- next unless branch_id
27
- return true if branch_id.to_s == "-#{id}"
28
- end
29
- false
30
- end
31
-
32
- def self.current_story
33
- /(.*)-(\d+$)/.match GitWrapper.current_branch
34
- end
35
-
36
- def self.current_branch_story_parts
37
- matches = current_story
38
- return {} unless matches&.length == 3
39
-
40
- title = matches[1].tr('-', ' ').strip
41
- { title: title, id: matches[2].to_i }
23
+ def self.branch_to_story_string(regex_matcher = /.*-(\d+$)/)
24
+ GitWrapper.current_branch.match(regex_matcher)
42
25
  end
43
26
 
44
27
  def self.status?(state)
@@ -47,7 +47,7 @@ module StoryBranch
47
47
  current_branch_line = all_branches.detect do |line|
48
48
  line.match(/\*/)
49
49
  end
50
- current_branch_line.tr('*', ' ')
50
+ current_branch_line.tr('*', ' ').strip
51
51
  end
52
52
 
53
53
  def self.all_branches
@@ -7,7 +7,7 @@ module StoryBranch
7
7
  module Github
8
8
  # GitHub Issue representation
9
9
  class Issue
10
- attr_accessor :title, :id
10
+ attr_accessor :title, :id, :html_url
11
11
 
12
12
  def initialize(blanket_story, repo)
13
13
  @repo = repo
@@ -15,9 +15,10 @@ module StoryBranch
15
15
  @title = blanket_story.title
16
16
  @id = blanket_story.number
17
17
  @labels = blanket_story.labels.map { |label| Label.new(label) }
18
- @milestone = if blanket_story.milestone
19
- Milestone.new(blanket_story.milestone)
20
- end
18
+ @milestone = if blanket_story.milestone
19
+ Milestone.new(blanket_story.milestone)
20
+ end
21
+ @html_url = blanket_story.html_url
21
22
  end
22
23
 
23
24
  def update_state
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'blanket'
4
- require 'story_branch/tracker_base'
4
+ require_relative '../tracker_base'
5
5
  require_relative './project'
6
6
 
7
7
  module StoryBranch
@@ -11,6 +11,7 @@ module StoryBranch
11
11
  API_URL = 'https://api.github.com/'
12
12
 
13
13
  def initialize(project_id:, api_key:, **)
14
+ super
14
15
  # NOTE: RepoName should follow owner/repo_name format
15
16
  @repo_name = project_id
16
17
  @api_key = api_key
@@ -4,7 +4,7 @@ module StoryBranch
4
4
  module Jira
5
5
  # Jira Issue representation
6
6
  class Issue
7
- attr_accessor :title, :id
7
+ attr_accessor :title, :id, :html_url
8
8
 
9
9
  # TODO: Add component and labels to the info of the issue
10
10
  def initialize(jira_issue, project)
@@ -12,6 +12,7 @@ module StoryBranch
12
12
  @story = jira_issue
13
13
  @title = jira_issue.summary
14
14
  @id = jira_issue.key
15
+ @html_url = transform_url(jira_issue.self)
15
16
  end
16
17
 
17
18
  def update_state
@@ -25,6 +26,12 @@ module StoryBranch
25
26
  def dashed_title
26
27
  StoryBranch::StringUtils.normalised_branch_name @title
27
28
  end
29
+
30
+ private
31
+
32
+ def transform_url(url)
33
+ url.gsub(%r{rest\/api.*$}, "browse/#{@id}")
34
+ end
28
35
  end
29
36
  end
30
37
  end
@@ -16,7 +16,7 @@ module StoryBranch
16
16
  # Probably will need a specific query builder per tracker
17
17
  def stories(options = {})
18
18
  stories = if options[:id]
19
- [@project.issues.find(options[:id])]
19
+ [@project.client.Issue.find(options[:id])]
20
20
  else
21
21
  @project.client.Issue.jql(jql_query)
22
22
  end
@@ -5,7 +5,7 @@
5
5
  # my tracker and issues will still provide a similar api. This jira-ruby
6
6
  # is used to get the data.
7
7
  require 'jira-ruby'
8
- require 'story_branch/tracker_base'
8
+ require_relative '../tracker_base'
9
9
  require_relative './project'
10
10
 
11
11
  module StoryBranch
@@ -14,8 +14,11 @@ module StoryBranch
14
14
  class Tracker < StoryBranch::TrackerBase
15
15
  # rubocop:disable Metrics/LineLength
16
16
  def initialize(tracker_domain:, project_id:, api_key:, username:, extra_query:)
17
+ super
18
+
17
19
  @tracker_url = "https://#{tracker_domain}.atlassian.net"
18
20
  @project_id = project_id
21
+ @issue_regex = Regexp.new("#{@project_id}-(\\d+)")
19
22
  @api_key = api_key
20
23
  @username = username
21
24
  @extra_query = extra_query
@@ -6,6 +6,7 @@ require_relative './jira/tracker'
6
6
  require_relative './git_utils'
7
7
  require_relative './git_wrapper'
8
8
  require_relative './config_manager'
9
+ require_relative './url_opener'
9
10
  require 'tty-prompt'
10
11
 
11
12
  module StoryBranch
@@ -67,6 +68,15 @@ module StoryBranch
67
68
  update_status('started', 'unstarted', 'unstart')
68
69
  end
69
70
 
71
+ def open_current_url
72
+ if current_story
73
+ prompt.say 'Opening story in browser...'
74
+ StoryBranch::UrlOpener.open_url(current_story.html_url)
75
+ else
76
+ prompt.say 'Could not find matching story in configured tracker'
77
+ end
78
+ end
79
+
70
80
  private
71
81
 
72
82
  def require_pivotal
@@ -77,17 +87,9 @@ module StoryBranch
77
87
  end
78
88
 
79
89
  def current_story
80
- return @current_story if @current_story
81
-
82
- current_story = GitUtils.current_branch_story_parts
90
+ return nil unless @tracker
83
91
 
84
- unless current_story.empty?
85
- @current_story = @tracker.get_story_by_id(current_story[:id])
86
- return @current_story if @current_story
87
- end
88
-
89
- prompt.error('No tracked feature associated with this branch')
90
- nil
92
+ @tracker.current_story
91
93
  end
92
94
 
93
95
  def unstaged_changes?
@@ -161,11 +163,6 @@ module StoryBranch
161
163
  def create_feature_branch(story)
162
164
  return if story.nil?
163
165
 
164
- if GitUtils.branch_for_story_exists? story.id
165
- prompt.error("An existing branch has the same story id: #{story.id}")
166
- return
167
- end
168
-
169
166
  branch_name = valid_branch_name(story)
170
167
  return unless branch_name
171
168
 
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'blanket'
4
- require 'story_branch/tracker_base'
4
+ require_relative '../tracker_base'
5
5
  require_relative './project'
6
6
 
7
7
  module StoryBranch
@@ -12,6 +12,7 @@ module StoryBranch
12
12
  API_URL = 'https://www.pivotaltracker.com/services/v5/'
13
13
 
14
14
  def initialize(project_id:, api_key:, **)
15
+ super
15
16
  @project_id = project_id
16
17
  @api_key = api_key
17
18
  end
@@ -1,10 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'pry'
4
-
5
3
  module StoryBranch
6
4
  # Base story branch tracker class that will define the expected interface
7
5
  class TrackerBase
6
+ def initialize(_options = {})
7
+ @issue_regex = Regexp.new('(\\d+)')
8
+ end
9
+
8
10
  def valid?
9
11
  raise 'valid? > must be implemented in the custom tracker'
10
12
  end
@@ -21,6 +23,21 @@ module StoryBranch
21
23
  []
22
24
  end
23
25
 
26
+ def current_story
27
+ return @current_story if @current_story
28
+
29
+ # TODO: This should look at the tracker configuration and search
30
+ # for the string either in the beginning or the end, according
31
+ # to what is configured
32
+ story_from_branch = GitUtils.branch_to_story_string(@issue_regex)
33
+ if story_from_branch.length == 2
34
+ @current_story = get_story_by_id(story_from_branch[0])
35
+ return @current_story
36
+ end
37
+ prompt.error('No tracked feature associated with this branch')
38
+ nil
39
+ end
40
+
24
41
  private
25
42
 
26
43
  def api
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module StoryBranch
4
+ # Class used to open a URL
5
+ class UrlOpener
6
+ def self.open_url(url)
7
+ url = "https://#{url}" unless url.start_with?('http')
8
+ if RbConfig::CONFIG['host_os'].match?(/mswin|mingw|cygwin/)
9
+ system "start #{url}"
10
+ elsif RbConfig::CONFIG['host_os'].match?(/darwin/)
11
+ system "open #{url}"
12
+ elsif RbConfig::CONFIG['host_os'].match?(/linux|bsd/)
13
+ system "xdg-open #{url}"
14
+ end
15
+ end
16
+ end
17
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module StoryBranch
4
- VERSION = '0.7.0'
4
+ VERSION = '0.7.1'
5
5
  end
data/story_branch.gemspec CHANGED
@@ -56,14 +56,15 @@ Gem::Specification.new do |spec|
56
56
  spec.add_runtime_dependency 'blanket_wrapper', '~> 3.0'
57
57
  spec.add_runtime_dependency 'damerau-levenshtein', '~> 1.3'
58
58
  spec.add_runtime_dependency 'jira-ruby', '~> 1.7'
59
- spec.add_runtime_dependency 'thor', '~> 0.20.0'
60
- spec.add_runtime_dependency 'tty-command', '~> 0.8.2'
61
- spec.add_runtime_dependency 'tty-config', '~> 0.2.0'
59
+ spec.add_runtime_dependency 'thor', '~> 0.20'
60
+ spec.add_runtime_dependency 'tty-command', '~> 0.8'
61
+ spec.add_runtime_dependency 'tty-config', '~> 0.2'
62
62
  spec.add_runtime_dependency 'tty-pager', '~> 0.12'
63
63
  spec.add_runtime_dependency 'tty-prompt', '~> 0.18'
64
64
  spec.add_runtime_dependency 'xdg', '~> 3.0'
65
65
 
66
- spec.add_development_dependency 'bundler', '~> 2.0'
66
+ spec.add_development_dependency 'bundler', '~> 1.17', '< 2.0'
67
+ spec.add_development_dependency 'simplecov', '~> 0.16'
67
68
  spec.add_development_dependency 'fakefs', '~> 0.14'
68
69
  spec.add_development_dependency 'git', '~> 1.5'
69
70
  spec.add_development_dependency 'ostruct', '~> 0.1'
@@ -71,5 +72,6 @@ Gem::Specification.new do |spec|
71
72
  spec.add_development_dependency 'rake', '~> 10.0'
72
73
  spec.add_development_dependency 'rspec', '~> 3'
73
74
  spec.add_development_dependency 'rspec_junit_formatter', '~> 0.4'
75
+ spec.add_development_dependency 'tty', '~> 0.10'
74
76
  end
75
77
  # rubocop:enable Metrics/BlockLength
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: story_branch
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rui Baltazar
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: exe
14
14
  cert_chain: []
15
- date: 2020-01-25 00:00:00.000000000 Z
15
+ date: 2020-01-27 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: blanket_wrapper
@@ -62,42 +62,42 @@ dependencies:
62
62
  requirements:
63
63
  - - "~>"
64
64
  - !ruby/object:Gem::Version
65
- version: 0.20.0
65
+ version: '0.20'
66
66
  type: :runtime
67
67
  prerelease: false
68
68
  version_requirements: !ruby/object:Gem::Requirement
69
69
  requirements:
70
70
  - - "~>"
71
71
  - !ruby/object:Gem::Version
72
- version: 0.20.0
72
+ version: '0.20'
73
73
  - !ruby/object:Gem::Dependency
74
74
  name: tty-command
75
75
  requirement: !ruby/object:Gem::Requirement
76
76
  requirements:
77
77
  - - "~>"
78
78
  - !ruby/object:Gem::Version
79
- version: 0.8.2
79
+ version: '0.8'
80
80
  type: :runtime
81
81
  prerelease: false
82
82
  version_requirements: !ruby/object:Gem::Requirement
83
83
  requirements:
84
84
  - - "~>"
85
85
  - !ruby/object:Gem::Version
86
- version: 0.8.2
86
+ version: '0.8'
87
87
  - !ruby/object:Gem::Dependency
88
88
  name: tty-config
89
89
  requirement: !ruby/object:Gem::Requirement
90
90
  requirements:
91
91
  - - "~>"
92
92
  - !ruby/object:Gem::Version
93
- version: 0.2.0
93
+ version: '0.2'
94
94
  type: :runtime
95
95
  prerelease: false
96
96
  version_requirements: !ruby/object:Gem::Requirement
97
97
  requirements:
98
98
  - - "~>"
99
99
  - !ruby/object:Gem::Version
100
- version: 0.2.0
100
+ version: '0.2'
101
101
  - !ruby/object:Gem::Dependency
102
102
  name: tty-pager
103
103
  requirement: !ruby/object:Gem::Requirement
@@ -145,6 +145,9 @@ dependencies:
145
145
  requirement: !ruby/object:Gem::Requirement
146
146
  requirements:
147
147
  - - "~>"
148
+ - !ruby/object:Gem::Version
149
+ version: '1.17'
150
+ - - "<"
148
151
  - !ruby/object:Gem::Version
149
152
  version: '2.0'
150
153
  type: :development
@@ -152,8 +155,25 @@ dependencies:
152
155
  version_requirements: !ruby/object:Gem::Requirement
153
156
  requirements:
154
157
  - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: '1.17'
160
+ - - "<"
155
161
  - !ruby/object:Gem::Version
156
162
  version: '2.0'
163
+ - !ruby/object:Gem::Dependency
164
+ name: simplecov
165
+ requirement: !ruby/object:Gem::Requirement
166
+ requirements:
167
+ - - "~>"
168
+ - !ruby/object:Gem::Version
169
+ version: '0.16'
170
+ type: :development
171
+ prerelease: false
172
+ version_requirements: !ruby/object:Gem::Requirement
173
+ requirements:
174
+ - - "~>"
175
+ - !ruby/object:Gem::Version
176
+ version: '0.16'
157
177
  - !ruby/object:Gem::Dependency
158
178
  name: fakefs
159
179
  requirement: !ruby/object:Gem::Requirement
@@ -252,6 +272,20 @@ dependencies:
252
272
  - - "~>"
253
273
  - !ruby/object:Gem::Version
254
274
  version: '0.4'
275
+ - !ruby/object:Gem::Dependency
276
+ name: tty
277
+ requirement: !ruby/object:Gem::Requirement
278
+ requirements:
279
+ - - "~>"
280
+ - !ruby/object:Gem::Version
281
+ version: '0.10'
282
+ type: :development
283
+ prerelease: false
284
+ version_requirements: !ruby/object:Gem::Requirement
285
+ requirements:
286
+ - - "~>"
287
+ - !ruby/object:Gem::Version
288
+ version: '0.10'
255
289
  description: |
256
290
  This simple gem allows you to create a branch based on the existing issues
257
291
  in your preferred tracker. It integrates with PivotalTracker, Github and
@@ -301,6 +335,7 @@ files:
301
335
  - lib/story_branch/commands/add.rb
302
336
  - lib/story_branch/commands/create.rb
303
337
  - lib/story_branch/commands/finish.rb
338
+ - lib/story_branch/commands/open_issue.rb
304
339
  - lib/story_branch/commands/start.rb
305
340
  - lib/story_branch/commands/unstart.rb
306
341
  - lib/story_branch/config_manager.rb
@@ -325,9 +360,11 @@ files:
325
360
  - lib/story_branch/templates/create/.gitkeep
326
361
  - lib/story_branch/templates/finish/.gitkeep
327
362
  - lib/story_branch/templates/migrate/.gitkeep
363
+ - lib/story_branch/templates/open_issue/.gitkeep
328
364
  - lib/story_branch/templates/start/.gitkeep
329
365
  - lib/story_branch/templates/unstart/.gitkeep
330
366
  - lib/story_branch/tracker_base.rb
367
+ - lib/story_branch/url_opener.rb
331
368
  - lib/story_branch/version.rb
332
369
  - story_branch.gemspec
333
370
  homepage: https://github.com/story-branch/story_branch