terjira 0.1.1 → 0.2.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.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +10 -1
  3. data/Gemfile.lock +3 -3
  4. data/README.md +14 -15
  5. data/bin/console +1 -1
  6. data/bin/jira +11 -3
  7. data/bin/terjira +22 -0
  8. data/lib/terjira/base_cli.rb +5 -3
  9. data/lib/terjira/board_cli.rb +17 -2
  10. data/lib/terjira/client/agile.rb +10 -13
  11. data/lib/terjira/client/auth_option_builder.rb +1 -1
  12. data/lib/terjira/client/base.rb +9 -12
  13. data/lib/terjira/client/board.rb +13 -3
  14. data/lib/terjira/client/field.rb +12 -2
  15. data/lib/terjira/client/issue.rb +15 -13
  16. data/lib/terjira/client/issuetype.rb +18 -0
  17. data/lib/terjira/client/jql_builder.rb +25 -0
  18. data/lib/terjira/client/priority.rb +1 -1
  19. data/lib/terjira/client/resolution.rb +1 -1
  20. data/lib/terjira/client/status.rb +1 -1
  21. data/lib/terjira/client/user.rb +5 -6
  22. data/lib/terjira/ext/jira_ruby.rb +12 -4
  23. data/lib/terjira/ext/tty_prompt.rb +0 -3
  24. data/lib/terjira/issue_cli.rb +11 -7
  25. data/lib/terjira/option_support/option_selector.rb +20 -9
  26. data/lib/terjira/option_support/shared_options.rb +4 -2
  27. data/lib/terjira/option_supportable.rb +24 -0
  28. data/lib/terjira/presenters/common_presenter.rb +13 -4
  29. data/lib/terjira/presenters/issue_presenter.rb +115 -97
  30. data/lib/terjira/presenters/project_presenter.rb +1 -1
  31. data/lib/terjira/presenters/sprint_presenter.rb +9 -9
  32. data/lib/terjira/sprint_cli.rb +1 -0
  33. data/lib/terjira/utils/file_cache.rb +26 -26
  34. data/lib/terjira/version.rb +1 -1
  35. data/lib/terjira.rb +11 -0
  36. data/terjira.gemspec +4 -4
  37. metadata +11 -11
  38. data/lib/terjira/client/jql_query_builer.rb +0 -25
data/terjira.gemspec CHANGED
@@ -17,16 +17,16 @@ Gem::Specification.new do |spec|
17
17
 
18
18
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features|dev)/}) }
19
19
  spec.bindir = "bin"
20
- spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
20
+ spec.executables = ["bin/jira"].map { |f| File.basename(f) }
21
21
  spec.require_paths = ["lib"]
22
22
 
23
23
  spec.add_dependency "thor", "~> 0.19"
24
24
  spec.add_dependency "jira-ruby", "~> 1.1"
25
25
  spec.add_dependency "activesupport", "4.0.13"
26
26
 
27
- spec.add_dependency "tty-table", "~> 0.6.0"
28
- spec.add_dependency "tty-prompt", "~> 0.8.0"
29
- spec.add_dependency "tty-spinner", "~> 0.4.1"
27
+ spec.add_dependency "tty-table", "~> 0.6"
28
+ spec.add_dependency "tty-prompt", "~> 0.8"
29
+ spec.add_dependency "tty-spinner", "~> 0.4"
30
30
  spec.add_dependency "pastel", "~> 0.6.1"
31
31
 
32
32
  spec.add_development_dependency "bundler", "~> 1.11"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: terjira
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jaehyun Shin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-12-12 00:00:00.000000000 Z
11
+ date: 2016-12-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -58,42 +58,42 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 0.6.0
61
+ version: '0.6'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 0.6.0
68
+ version: '0.6'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: tty-prompt
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 0.8.0
75
+ version: '0.8'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 0.8.0
82
+ version: '0.8'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: tty-spinner
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 0.4.1
89
+ version: '0.4'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: 0.4.1
96
+ version: '0.4'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: pastel
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -198,9 +198,7 @@ description: |-
198
198
  email:
199
199
  - keepcosmos@gmail.com
200
200
  executables:
201
- - console
202
201
  - jira
203
- - setup
204
202
  extensions: []
205
203
  extra_rdoc_files: []
206
204
  files:
@@ -219,6 +217,7 @@ files:
219
217
  - bin/console
220
218
  - bin/jira
221
219
  - bin/setup
220
+ - bin/terjira
222
221
  - lib/terjira.rb
223
222
  - lib/terjira/base_cli.rb
224
223
  - lib/terjira/board_cli.rb
@@ -228,7 +227,8 @@ files:
228
227
  - lib/terjira/client/board.rb
229
228
  - lib/terjira/client/field.rb
230
229
  - lib/terjira/client/issue.rb
231
- - lib/terjira/client/jql_query_builer.rb
230
+ - lib/terjira/client/issuetype.rb
231
+ - lib/terjira/client/jql_builder.rb
232
232
  - lib/terjira/client/priority.rb
233
233
  - lib/terjira/client/project.rb
234
234
  - lib/terjira/client/rapid_view.rb
@@ -1,25 +0,0 @@
1
- module Terjira
2
- module Client
3
- module JQLQueryBuilder
4
- JQL_KEYS = %w(board sprint assignee issuetype priority project status statusCategory).freeze
5
-
6
- def build_jql_query(options = {})
7
- q_options = options.inject({}) do |memo,(k,v)|
8
- memo[k.to_s] = v
9
- memo
10
- end.slice(*JQL_KEYS)
11
-
12
- query = q_options.map do |key, value|
13
- if value.is_a? Array
14
- values = value.map { |v| "\"#{v.key_value}\""}.join(",")
15
- "#{key} IN (#{values})"
16
- else
17
- "#{key}=#{value.key_value}"
18
- end
19
- end.reject(&:blank?).join(" AND ")
20
-
21
- query
22
- end
23
- end
24
- end
25
- end