bicho 0.0.9 → 0.0.10

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: c310b39555e503cc2b2499c20dc1bf39305448e0
4
+ data.tar.gz: 7c75e72001d044b19ae518903739d61199895a50
5
+ SHA512:
6
+ metadata.gz: e9e7ad0a98e5dfdaf9ab6fd038927b8f4256e415b6841f236d8574db19636bf8db052dbb581d850bd1362e1981b874e7a3cd1535caa1f0ca6e46064755e0a991
7
+ data.tar.gz: f10639f87f15b62b106150b11321e7b840bd69c487ec46212b795578cabb4db47c626f8dfefdce18cb43a9707bb296a45bfa842696d421934e74d2fbfdf27ea4
@@ -0,0 +1,117 @@
1
+ # This configuration was generated by `rubocop --auto-gen-config`
2
+ # on 2014-12-19 12:45:53 +0100 using RuboCop version 0.27.1.
3
+ # The point is for the user to remove these configuration records
4
+ # one by one as the offenses are removed from the code base.
5
+ # Note that changes in the inspected code, or installation of new
6
+ # versions of RuboCop, may require this file to be generated again.
7
+
8
+ # Offense count: 1
9
+ # Configuration parameters: AlignWith, SupportedStyles.
10
+ Lint/DefEndAlignment:
11
+ Enabled: false
12
+
13
+ # Offense count: 1
14
+ Lint/RescueException:
15
+ Enabled: false
16
+
17
+ # Offense count: 3
18
+ Lint/UselessAssignment:
19
+ Enabled: false
20
+
21
+ # Offense count: 8
22
+ Metrics/AbcSize:
23
+ Max: 43
24
+
25
+ # Offense count: 1
26
+ # Configuration parameters: CountComments.
27
+ Metrics/ClassLength:
28
+ Max: 133
29
+
30
+ # Offense count: 41
31
+ # Configuration parameters: AllowURI, URISchemes.
32
+ Metrics/LineLength:
33
+ Max: 356
34
+
35
+ # Offense count: 13
36
+ # Configuration parameters: CountComments.
37
+ Metrics/MethodLength:
38
+ Enabled: false
39
+
40
+ # Offense count: 1
41
+ # Cop supports --auto-correct.
42
+ Style/BlockComments:
43
+ Enabled: false
44
+
45
+ # Offense count: 2
46
+ Style/ClassAndModuleCamelCase:
47
+ Enabled: false
48
+
49
+ # Offense count: 5
50
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
51
+ Style/ClassAndModuleChildren:
52
+ Enabled: false
53
+
54
+ # Offense count: 17
55
+ Style/Documentation:
56
+ Enabled: false
57
+
58
+ # Offense count: 13
59
+ # Cop supports --auto-correct.
60
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
61
+ Style/EmptyLinesAroundClassBody:
62
+ Enabled: false
63
+
64
+ # Offense count: 2
65
+ # Cop supports --auto-correct.
66
+ Style/EmptyLinesAroundMethodBody:
67
+ Enabled: false
68
+
69
+ # Offense count: 2
70
+ # Cop supports --auto-correct.
71
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
72
+ Style/EmptyLinesAroundModuleBody:
73
+ Enabled: false
74
+
75
+ # Offense count: 2
76
+ # Configuration parameters: MinBodyLength.
77
+ Style/GuardClause:
78
+ Enabled: false
79
+
80
+ # Offense count: 4
81
+ # Configuration parameters: MaxLineLength.
82
+ Style/IfUnlessModifier:
83
+ Enabled: false
84
+
85
+ # Offense count: 1
86
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
87
+ Style/MethodName:
88
+ Enabled: false
89
+
90
+ # Offense count: 7
91
+ # Cop supports --auto-correct.
92
+ Style/NumericLiterals:
93
+ MinDigits: 7
94
+
95
+ # Offense count: 1
96
+ Style/RedundantException:
97
+ Enabled: false
98
+
99
+ # Offense count: 1
100
+ Style/RescueModifier:
101
+ Enabled: false
102
+
103
+ # Offense count: 6
104
+ # Cop supports --auto-correct.
105
+ Style/SpaceInsideBrackets:
106
+ Enabled: false
107
+
108
+ # Offense count: 1
109
+ # Cop supports --auto-correct.
110
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
111
+ Style/StringLiterals:
112
+ Enabled: false
113
+
114
+ # Offense count: 1
115
+ # Cop supports --auto-correct.
116
+ Style/TrailingWhitespace:
117
+ Enabled: true
@@ -62,14 +62,55 @@ to set the Bicho common client:
62
62
 
63
63
  bicho -b http://bugzilla.gnome.org show 127043
64
64
 
65
- bicho -b http://bugzilla.gnome.org history 127043
65
+ bicho -b gnome history 127043
66
66
 
67
- bicho -b https://bugzilla.gnome.org search --summary "crash"
67
+ bicho -b gnome search --summary "crash"
68
68
 
69
- bicho -b https://bugzilla.gnome.org search --help
69
+ bicho -b gnome search --help
70
+
71
+ == Authentication
72
+
73
+ For SUSE/Novell Bugzilla, a plugin loads the credentials from '~/.oscrc'.
74
+
75
+ Otherwise, use the 'username:password@' part of the API URL.
76
+
77
+ == Customizing Bicho: the user.rb plugin.
78
+
79
+ Plugins are included that provide shortcuts for the most common bugzilla sites.
80
+
81
+ There is a "user" plugin that does some of these shortcuts from a configuration file.
82
+
83
+ The settings are read from '.config/bicho/config.yml'. There you can specify the default
84
+ bugzilla site to use when none is specified and custom aliases.
85
+
86
+ aliases:
87
+ mysite: http://bugzilla.site.com
88
+ default: mysite
70
89
 
71
90
  == Extending Bicho
72
91
 
92
+ === Plugins
93
+
94
+ Plugins are classes in the module Bicho::Plugins. They can implement hooks that are
95
+ called at different points of execution.
96
+
97
+ * default_site_url_hook
98
+
99
+ If no site url is provided the last one provided by a plugin will be used.
100
+
101
+ * transform_site_url_hook
102
+
103
+ This hook is called to modify the main site url (eg: http://bugzilla.suse.com).
104
+ Use it when a plugin wants to provide an alternative url to a well-known bugzilla or
105
+ a shortcut (eg: bnc) that will be expanded into a site url.
106
+ Plugin order is not defined so make sure your plugin focuses in one type of shortcut
107
+ as another plugin can also change your returned value in their hooks.
108
+
109
+ * transform_api_url_hook
110
+
111
+ The API url is derived from the site url, however some bugzilla installations may have
112
+ different servers or endpoints.
113
+
73
114
  === Commands
74
115
 
75
116
  See the +Command+ class to implement more commands.
@@ -91,6 +132,6 @@ http://www.bugzilla.org/docs/tip/en/html/api/Bugzilla/WebService/Bug.html, I int
91
132
 
92
133
  == License
93
134
 
94
- Copyright (c) 2011 SUSE LINUX Products GmbH.
135
+ Copyright (c) 2011-2015 SUSE LLC
95
136
 
96
137
  Bicho is licensed under the MIT license. See MIT-LICENSE for details.
@@ -10,6 +10,7 @@ Gem::Specification.new do |s|
10
10
  s.homepage = 'http://github.com/dmacvicar/bicho'
11
11
  s.summary = 'Library to access bugzilla'
12
12
  s.description = 'Library to access bugzilla'
13
+ s.licenses = ['MIT']
13
14
 
14
15
  s.add_dependency('inifile', ['~> 0.4.1'])
15
16
  s.add_dependency('trollop', ['>= 1.16'])
@@ -22,4 +23,5 @@ Gem::Specification.new do |s|
22
23
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
23
24
  s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
24
25
  s.require_paths = ['lib']
26
+ s.required_ruby_version = '>= 1.9.3'
25
27
  end
data/bin/bicho CHANGED
@@ -68,7 +68,7 @@ begin
68
68
  EOS
69
69
  opt :config, 'Read FILE as configuration file.', type: :io
70
70
  opt :debug, 'Show debug messages', default: false
71
- opt :bugzilla, 'Bugzilla URL or alias', default: 'bnz'
71
+ opt :bugzilla, 'Bugzilla URL or alias', type: :string
72
72
  stop_on SUB_COMMANDS
73
73
  end
74
74
 
@@ -86,5 +86,10 @@ module Bicho
86
86
  @client.get_history(id).first
87
87
  end
88
88
 
89
+ # @param format_string For Kernel#sprintf; named params supplied by the bug
90
+ def format(format_string)
91
+ sym_data = Hash[@data.to_a.map { |k, v| [k.to_sym, v]}]
92
+ sprintf(format_string, sym_data)
93
+ end
89
94
  end
90
95
  end
@@ -29,12 +29,17 @@ require 'bicho/client'
29
29
  module Bicho::CLI::Commands
30
30
  class Show < ::Bicho::CLI::Command
31
31
  options do
32
+ opt :format, "Format string, eg. '%{id}:%{priority}:%{summary}'", :type => :string
32
33
  end
33
34
 
34
- def do(global_opts, _opts, args)
35
+ def do(global_opts, opts, args)
35
36
  client = ::Bicho::Client.new(global_opts[:bugzilla])
36
37
  client.get_bugs(*args).each do |bug|
37
- t.say("#{t.color(bug.id.to_s, :headline)} #{bug.summary}")
38
+ if opts[:format]
39
+ t.say(bug.format(opts[:format]))
40
+ else
41
+ t.say("#{t.color(bug.id.to_s, :headline)} #{bug.summary}")
42
+ end
38
43
  end
39
44
  0
40
45
  end
@@ -0,0 +1,35 @@
1
+ #--
2
+ # Copyright (c) 2011 SUSE LINUX Products GmbH
3
+ #
4
+ # Author: Duncan Mac-Vicar P. <dmacvicar@suse.de>
5
+ #
6
+ # Permission is hereby granted, free of charge, to any person obtaining
7
+ # a copy of this software and associated documentation files (the
8
+ # "Software"), to deal in the Software without restriction, including
9
+ # without limitation the rights to use, copy, modify, merge, publish,
10
+ # distribute, sublicense, and/or sell copies of the Software, and to
11
+ # permit persons to whom the Software is furnished to do so, subject to
12
+ # the following conditions:
13
+ #
14
+ # The above copyright notice and this permission notice shall be
15
+ # included in all copies or substantial portions of the Software.
16
+ #
17
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
18
+ # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19
+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
20
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
21
+ # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
22
+ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
23
+ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24
+ #++
25
+
26
+ require 'bicho/cli/command'
27
+
28
+ module Bicho::CLI::Commands
29
+ class Version < ::Bicho::CLI::Command
30
+ def do(_global_opts, _opts, _args)
31
+ t.say(Bicho::VERSION)
32
+ 0
33
+ end
34
+ end
35
+ end
@@ -90,31 +90,43 @@ module Bicho
90
90
 
91
91
  # @param [String] site_url Bugzilla installation site url
92
92
  def initialize(site_url)
93
- # Don't modify the original url
94
- @site_url = site_url.is_a?(URI) ? site_url.clone : URI.parse(site_url)
93
+ @plugins = []
94
+ load_plugins!
95
+ instantiate_plugins!
95
96
 
96
- @api_url = @site_url.clone
97
- @api_url.path = '/xmlrpc.cgi'
97
+ if site_url.nil?
98
+ @plugins.each do |pl_instance|
99
+ if pl_instance.respond_to?(:default_site_url_hook)
100
+ default = pl_instance.default_site_url_hook(logger)
101
+ site_url = default unless default.nil?
102
+ end
103
+ end
104
+ end
98
105
 
99
- # Scan plugins
100
- plugin_glob = File.join(File.dirname(__FILE__), 'plugins', '*.rb')
101
- Dir.glob(plugin_glob).each do |plugin|
102
- logger.debug("Loading file: #{plugin}")
103
- load plugin
106
+ # If the default url is still null, we can't continue
107
+ fail ArgumentError, 'missing bugzilla site' if site_url.nil?
108
+
109
+ @plugins.each do |pl_instance|
110
+ if pl_instance.respond_to?(:transform_site_url_hook)
111
+ site_url = pl_instance.transform_site_url_hook(site_url, logger)
112
+ end
104
113
  end
105
114
 
106
- # instantiate plugins
107
- ::Bicho::Plugins.constants.each do |cnt|
108
- pl_class = ::Bicho::Plugins.const_get(cnt)
109
- pl_instance = pl_class.new
110
- logger.debug("Loaded: #{pl_instance}")
115
+ # Don't modify the original url
116
+ @site_url = site_url.is_a?(URI) ? site_url.clone : URI.parse(site_url)
117
+
118
+ api_url = @site_url.clone
119
+ api_url.path = '/xmlrpc.cgi'
111
120
 
121
+ @plugins.each do |pl_instance|
112
122
  # Modify API url
113
123
  if pl_instance.respond_to?(:transform_api_url_hook)
114
- @api_url = pl_instance.transform_api_url_hook(@api_url, logger)
124
+ api_url = pl_instance.transform_api_url_hook(api_url, logger)
115
125
  end
116
126
  end
117
127
 
128
+ @api_url = api_url.is_a?(URI) ? api_url.clone : URI.parse(api_url)
129
+
118
130
  @client = XMLRPC::Client.new_from_uri(@api_url.to_s, nil, 900)
119
131
  @client.set_debug
120
132
 
@@ -126,6 +138,28 @@ module Bicho
126
138
  end
127
139
  end
128
140
 
141
+ # ruby-load all the files in the plugins directory
142
+ def load_plugins!
143
+ # Scan plugins
144
+ plugin_glob = File.join(File.dirname(__FILE__), 'plugins', '*.rb')
145
+ Dir.glob(plugin_glob).each do |plugin|
146
+ logger.debug("Loading file: #{plugin}")
147
+ load plugin
148
+ end
149
+ end
150
+
151
+ # instantiate all plugin classes in the Bicho::Plugins
152
+ # module and add them to the list of known plugins
153
+ def instantiate_plugins!
154
+ # instantiate plugins
155
+ ::Bicho::Plugins.constants.each do |cnt|
156
+ pl_class = ::Bicho::Plugins.const_get(cnt)
157
+ pl_instance = pl_class.new
158
+ logger.debug("Loaded: #{pl_instance}")
159
+ @plugins << pl_instance
160
+ end
161
+ end
162
+
129
163
  def cookie
130
164
  @client.cookie
131
165
  end
@@ -138,6 +172,12 @@ module Bicho
138
172
  end
139
173
  end
140
174
 
175
+ # Return Bugzilla API version
176
+ def version
177
+ ret = @client.call('Bugzilla.version')
178
+ handle_faults(ret)
179
+ ret["version"]
180
+ end
141
181
  # Search for a bug
142
182
  #
143
183
  # +query+ has to be either a +Query+ object or
@@ -52,6 +52,14 @@ module Bicho
52
52
  end
53
53
 
54
54
  class ChangeSet
55
+
56
+ include Enumerable
57
+
58
+ def date
59
+ warn 'Deprecated. Use timestamp instead'
60
+ timestamp
61
+ end
62
+
55
63
  # return [Date] The date the bug activity/change happened.
56
64
  def date
57
65
  @data['when'].to_date
@@ -130,7 +138,7 @@ module Bicho
130
138
  def to_s
131
139
  buffer = StringIO.new
132
140
  buffer << "#{bug_id}\n"
133
- change_sets.each do |cs|
141
+ changesets.each do |cs|
134
142
  buffer << "#{cs}\n"
135
143
  end
136
144
  buffer.string
@@ -0,0 +1,16 @@
1
+ module Bicho
2
+ module Plugins
3
+
4
+ class Aliases
5
+ def transform_site_url_hook(url, _logger)
6
+ case url.to_s
7
+ when 'bko', 'kernel' then 'https://bugzilla.kernel.org'
8
+ when 'bgo', 'gnome' then 'https://bugzilla.gnome.org'
9
+ when 'kde' then 'https://bugzilla.kde.org'
10
+ else url
11
+ end
12
+ end
13
+ end
14
+
15
+ end
16
+ end
@@ -37,8 +37,8 @@ module Bicho
37
37
  # your oscrc.
38
38
  #
39
39
  class Novell
40
- OSCRC_CREDENTIALS = 'https://api.opensuse.org'
41
- DEFAULT_OSCRC_PATH = File.join(ENV['HOME'], '.oscrc')
40
+ OSCRC_CREDENTIALS = 'https://api.opensuse.org' unless defined? OSCRC_CREDENTIALS
41
+ DEFAULT_OSCRC_PATH = File.join(ENV['HOME'], '.oscrc') unless defined? DEFAULT_OSCRC_PATH
42
42
 
43
43
  class << self
44
44
  attr_writer :oscrc_path
@@ -67,6 +67,15 @@ module Bicho
67
67
  fail "No valid .oscrc credentials for Novell/SUSE bugzilla (#{oscrc_path})"
68
68
  end
69
69
 
70
+ def transform_site_url_hook(url, _logger)
71
+ case url.to_s
72
+ when 'bnc', 'novell' then 'https://bugzilla.novell.com'
73
+ when 'bsc', 'suse' then 'https://bugzilla.suse.com'
74
+ when 'boo', 'opensuse' then 'https://bugzilla.opensuse.org'
75
+ else url
76
+ end
77
+ end
78
+
70
79
  def transform_api_url_hook(url, logger)
71
80
  domains = ['bugzilla.novell.com', 'bugzilla.suse.com']
72
81
  return url unless domains.map { |domain| url.host.include?(domain) }.any?
@@ -0,0 +1,49 @@
1
+ require 'yaml'
2
+
3
+ module Bicho
4
+ module Plugins
5
+
6
+ class User
7
+
8
+ DEFAULT_CONFIG_PATH = File.join(ENV['HOME'], '.config', 'bicho', 'config.yml') unless defined? DEFAULT_CONFIG_PATH
9
+
10
+ class << self
11
+ attr_writer :config_path
12
+ end
13
+
14
+ def self.config_path
15
+ @config_path ||= DEFAULT_CONFIG_PATH
16
+ end
17
+
18
+ def initialize
19
+ @config = {}
20
+ if File.exist?(Bicho::Plugins::User.config_path)
21
+ @config = YAML.load_file(Bicho::Plugins::User.config_path)
22
+ end
23
+ end
24
+
25
+ def default_site_url_hook(logger)
26
+ if @config.key?('default')
27
+ ret = @config['default']
28
+ logger.debug "Default url set to '#{ret}'"
29
+ ret
30
+ else
31
+ logger.warn 'Use .config/bicho/config.yaml to setup a default bugzilla site'
32
+ end
33
+ end
34
+
35
+ def transform_site_url_hook(url, logger)
36
+ if @config['aliases'] && @config['aliases'].key?(url.to_s)
37
+ ret = @config['aliases'][url.to_s]
38
+ logger.debug "Transformed '#{url}' to '#{ret}'"
39
+ ret
40
+ else
41
+ url
42
+ end
43
+ end
44
+
45
+
46
+ end
47
+
48
+ end
49
+ end
@@ -1,3 +1,3 @@
1
1
  module Bicho
2
- VERSION = '0.0.9'
2
+ VERSION = '0.0.10'
3
3
  end
@@ -10,4 +10,7 @@ class History_test < Test::Unit::TestCase
10
10
  assert bug.history.size > 0
11
11
  end
12
12
 
13
+ def teardown
14
+ Bicho.client = nil
15
+ end
13
16
  end
@@ -2,16 +2,15 @@ require File.join(File.dirname(__FILE__), 'helper')
2
2
  require 'bicho/plugins/novell'
3
3
  require 'tmpdir'
4
4
 
5
- class NovellPlugin_test < Test::Unit::TestCase
5
+ # Test for the plugin supporting the
6
+ # Novell/SUSE bugzilla authentication
7
+ class NovellPluginTest < Test::Unit::TestCase
6
8
  def test_urls_are_correct
7
9
  %w(novell suse).each do |domain|
8
10
  client = Bicho::Client.new("https://bugzilla.#{domain}.com")
9
11
  assert_raises NoMethodError do
10
12
  client.url
11
13
  end
12
-
13
- # assert_equal "https://apibugzilla.#{domain}.com/xmlrpc.cgi", "#{client.api_url.scheme}://#{client.api_url.host}#{client.api_url.path}"
14
- # assert_equal "https://bugzilla.#{domain}.com", "#{client.site_url.scheme}://#{client.site_url.host}#{client.site_url.path}"
15
14
  end
16
15
  end
17
16
 
@@ -29,7 +28,7 @@ EOS
29
28
  def test_oscrc_parsing
30
29
  Dir.mktmpdir do |tmp|
31
30
  fake_oscrc = File.join(tmp, 'oscrc')
32
- NovellPlugin_test.write_fake_oscrc(fake_oscrc)
31
+ NovellPluginTest.write_fake_oscrc(fake_oscrc)
33
32
  Bicho::Plugins::Novell.oscrc_path = fake_oscrc
34
33
  plugin = Bicho::Plugins::Novell.new
35
34
  credentials = Bicho::Plugins::Novell.oscrc_credentials
@@ -24,4 +24,8 @@ class Query_test < Test::Unit::TestCase
24
24
  ret = Bicho::Query.new.open
25
25
  assert_equal({ 'status' => [:new, :assigned, :needinfo, :reopened] }, ret.query_map)
26
26
  end
27
+
28
+ def teardown
29
+ Bicho.client = nil
30
+ end
27
31
  end
@@ -0,0 +1,36 @@
1
+ require_relative 'helper'
2
+ require 'bicho/plugins/user'
3
+ require 'tmpdir'
4
+
5
+ # Test for the plugin implementing user
6
+ # preferences
7
+ class UserPluginTest < Test::Unit::TestCase
8
+
9
+ def self.write_fake_config(path)
10
+ File.open(path, 'w') do |f|
11
+ f.write(<<EOS)
12
+ default: foobar
13
+ aliases:
14
+ shazam: http://bugzilla.foobar.com
15
+ EOS
16
+ end
17
+ end
18
+
19
+ def test_aliases_and_defaults
20
+ Dir.mktmpdir do |tmp|
21
+ fake_config = File.join(tmp, 'config.yml')
22
+ UserPluginTest.write_fake_config(fake_config)
23
+ Bicho::Plugins::User.config_path = fake_config
24
+ plugin = Bicho::Plugins::User.new
25
+
26
+ logger = Logger.new($stdout)
27
+
28
+ assert_equal 'foobar', plugin.default_site_url_hook(logger)
29
+
30
+ assert_equal 'unknown', plugin.transform_site_url_hook('unknown', logger)
31
+ assert_equal 'http://bugzilla.foobar.com', plugin.transform_site_url_hook('shazam', logger)
32
+
33
+ Bicho::Plugins::User.config_path = nil
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,21 @@
1
+ require File.join(File.dirname(__FILE__), 'helper')
2
+
3
+ #
4
+ # Test getting the version of the Bugzilla API
5
+ #
6
+ class Version_test < Test::Unit::TestCase
7
+ def test_version_gnome
8
+ Bicho.client = Bicho::Client.new('https://bugzilla.gnome.org')
9
+
10
+ ret = Bicho::client.version
11
+ assert ret =~ /3.4/ # https://bugzilla.gnome.org/ is at 3.4.13 as of Jan/2015
12
+ end
13
+
14
+ def test_version_suse
15
+ Bicho.client = Bicho::Client.new('https://bugzilla.suse.com')
16
+
17
+ ret = Bicho::client.version
18
+ assert ret =~ /4.4/ #https://bugzilla.suse.com is at 4.4.6 as of Jan/2015
19
+ end
20
+
21
+ end
metadata CHANGED
@@ -1,78 +1,69 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bicho
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
5
- prerelease:
4
+ version: 0.0.10
6
5
  platform: ruby
7
6
  authors:
8
7
  - Duncan Mac-Vicar P.
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-11-27 00:00:00.000000000 Z
11
+ date: 2015-05-20 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: inifile
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ~>
17
+ - - "~>"
20
18
  - !ruby/object:Gem::Version
21
19
  version: 0.4.1
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ~>
24
+ - - "~>"
28
25
  - !ruby/object:Gem::Version
29
26
  version: 0.4.1
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: trollop
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - ">="
36
32
  - !ruby/object:Gem::Version
37
33
  version: '1.16'
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - ">="
44
39
  - !ruby/object:Gem::Version
45
40
  version: '1.16'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: highline
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ~>
45
+ - - "~>"
52
46
  - !ruby/object:Gem::Version
53
47
  version: 1.6.2
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ~>
52
+ - - "~>"
60
53
  - !ruby/object:Gem::Version
61
54
  version: 1.6.2
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: nokogiri
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ! '>='
59
+ - - ">="
68
60
  - !ruby/object:Gem::Version
69
61
  version: '0'
70
62
  type: :runtime
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
- - - ! '>='
66
+ - - ">="
76
67
  - !ruby/object:Gem::Version
77
68
  version: '0'
78
69
  description: Library to access bugzilla
@@ -83,7 +74,8 @@ executables:
83
74
  extensions: []
84
75
  extra_rdoc_files: []
85
76
  files:
86
- - .gitignore
77
+ - ".gitignore"
78
+ - ".rubocop.yml"
87
79
  - Gemfile
88
80
  - MIT-LICENSE
89
81
  - README.rdoc
@@ -96,45 +88,52 @@ files:
96
88
  - lib/bicho/cli/commands/history.rb
97
89
  - lib/bicho/cli/commands/search.rb
98
90
  - lib/bicho/cli/commands/show.rb
91
+ - lib/bicho/cli/commands/version.rb
99
92
  - lib/bicho/client.rb
100
93
  - lib/bicho/common_client.rb
101
94
  - lib/bicho/ext/logger_colors.rb
102
95
  - lib/bicho/history.rb
103
96
  - lib/bicho/logging.rb
97
+ - lib/bicho/plugins/aliases.rb
104
98
  - lib/bicho/plugins/novell.rb
99
+ - lib/bicho/plugins/user.rb
105
100
  - lib/bicho/query.rb
106
101
  - lib/bicho/version.rb
107
102
  - test/helper.rb
108
103
  - test/test_history.rb
109
104
  - test/test_novell_plugin.rb
110
105
  - test/test_query.rb
106
+ - test/test_user_plugin.rb
107
+ - test/test_version.rb
111
108
  homepage: http://github.com/dmacvicar/bicho
112
- licenses: []
109
+ licenses:
110
+ - MIT
111
+ metadata: {}
113
112
  post_install_message:
114
113
  rdoc_options: []
115
114
  require_paths:
116
115
  - lib
117
116
  required_ruby_version: !ruby/object:Gem::Requirement
118
- none: false
119
117
  requirements:
120
- - - ! '>='
118
+ - - ">="
121
119
  - !ruby/object:Gem::Version
122
- version: '0'
120
+ version: 1.9.3
123
121
  required_rubygems_version: !ruby/object:Gem::Requirement
124
- none: false
125
122
  requirements:
126
- - - ! '>='
123
+ - - ">="
127
124
  - !ruby/object:Gem::Version
128
125
  version: '0'
129
126
  requirements: []
130
127
  rubyforge_project: bicho
131
- rubygems_version: 1.8.23.2
128
+ rubygems_version: 2.4.5
132
129
  signing_key:
133
- specification_version: 3
130
+ specification_version: 4
134
131
  summary: Library to access bugzilla
135
132
  test_files:
136
133
  - test/helper.rb
137
134
  - test/test_history.rb
138
135
  - test/test_novell_plugin.rb
139
136
  - test/test_query.rb
137
+ - test/test_user_plugin.rb
138
+ - test/test_version.rb
140
139
  has_rdoc: