rhcp 0.2.19 → 0.2.20

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.
@@ -23,7 +23,7 @@ module RHCP #:nodoc:
23
23
 
24
24
  MAJOR = 0
25
25
  MINOR = 2
26
- TINY = 19
26
+ TINY = 20
27
27
 
28
28
  def Version.to_s
29
29
  [ MAJOR, MINOR, TINY ].join(".")
@@ -14,7 +14,7 @@ module RHCP
14
14
  # clients can use it exactly as if they were talking to the broker itself.
15
15
  class HttpBroker < Broker
16
16
 
17
- def initialize(url)
17
+ def initialize(url, user = nil, password = nil)
18
18
  # TODO should this really be an URL? or just a host name?
19
19
  @url = url
20
20
  @logger = RHCP::ModuleHelper.instance.logger
@@ -32,13 +32,11 @@ module RHCP
32
32
  # @op.log_to_jabber_detail("message" => "HTTP_START #{uri} : #{req}")
33
33
  # response = http.request(req)
34
34
 
35
- res = Net::HTTP.new(@url.host, @url.port).start { |http|
36
- if @url.user != nil then
37
- @logger.debug "using basic auth data: #{@url.user} / #{@url.password}"
38
- http.basic_auth @url.user, @url.password
39
- end
40
- http.get("/rhcp/")
41
- }
35
+ http = Net::HTTP.new(@url.host, @url.port)
36
+ request = Net::HTTP::Get.new('/rhcp/')
37
+ request.basic_auth user, password if user and password
38
+ res = http.request request
39
+
42
40
  if (res.code == "200")
43
41
  @logger.info "connected to '#{@url}' successfully."
44
42
  else
@@ -178,7 +178,9 @@ module RHCP
178
178
  end
179
179
  rescue Exception => ex
180
180
  if (/undefined\sparameter/.match(ex.message))
181
- raise RHCP::RhcpException.new(ex.message) unless @accepts_extra_params or @ignores_extra_params
181
+ raise RHCP::RhcpException.new(ex.message) unless @accepts_extra_params or @ignores_extra_params
182
+ else
183
+ raise ex
182
184
  end
183
185
  end
184
186
 
@@ -26,7 +26,7 @@ module RHCP
26
26
  # the key to a context value that is used for filling this parameter
27
27
  attr_reader :autofill_context_key
28
28
 
29
- attr_reader :allows_extra_values
29
+ attr_accessor :allows_extra_values
30
30
 
31
31
  attr_accessor :default_value
32
32
 
@@ -99,8 +99,7 @@ module RHCP
99
99
  # check against lookup values
100
100
  if @has_lookup_values
101
101
  possible_value.each do |value|
102
- if ! get_lookup_values(request).include?(value) and
103
- ! @allows_extra_values
102
+ if (not get_lookup_values(request).include?(value)) and (not @allows_extra_values)
104
103
  raise RHCP::RhcpException.new("invalid value '#{value}' for parameter '#{@name}'")
105
104
  end
106
105
  end
@@ -119,7 +118,8 @@ module RHCP
119
118
  'has_lookup_values' => @has_lookup_values,
120
119
  'is_default_param' => @is_default_param,
121
120
  'mandatory' => @mandatory,
122
- 'autofill_context_key' => @autofill_context_key
121
+ 'autofill_context_key' => @autofill_context_key,
122
+ 'allows_extra_values' => @allows_extra_values
123
123
  }.to_json(*args)
124
124
  end
125
125
 
@@ -44,6 +44,15 @@ module RHCP
44
44
  param_values[param.name] = param.default_value
45
45
  end
46
46
  end
47
+
48
+ # autobox if necessary
49
+ # if param.allows_multiple_values
50
+ # k = param.name
51
+ # v = param_values[k]
52
+ # unless v.instance_of? Array
53
+ # param_values[k] = [ v ]
54
+ # end
55
+ # end
47
56
  end
48
57
 
49
58
  # autobox the parameters if necessary
@@ -74,6 +83,14 @@ module RHCP
74
83
  @param_values[param_name][0]
75
84
  end
76
85
  end
86
+
87
+ def values
88
+ result = {}
89
+ @param_values.keys.each do |k|
90
+ result[k] = get_param_value(k)
91
+ end
92
+ result
93
+ end
77
94
 
78
95
  def has_param_value(param_name)
79
96
  @param_values.has_key?(param_name)
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rhcp
3
3
  version: !ruby/object:Gem::Version
4
- hash: 49
4
+ hash: 63
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 2
9
- - 19
10
- version: 0.2.19
9
+ - 20
10
+ version: 0.2.20
11
11
  platform: ruby
12
12
  authors:
13
13
  - Philipp T.
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2013-01-06 00:00:00 Z
18
+ date: 2013-02-24 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: json
@@ -34,7 +34,7 @@ dependencies:
34
34
  type: :runtime
35
35
  version_requirements: *id001
36
36
  description: RHCP is a protocol designed for building up a command-metadata-based communication infrastructure making it easier for application developers to export commands in applications to generic clients.
37
- email: philipp@virtualop.org
37
+ email: philipp at virtualop dot org
38
38
  executables:
39
39
  - rhcp_test_server
40
40
  extensions: []
@@ -43,38 +43,38 @@ extra_rdoc_files: []
43
43
 
44
44
  files:
45
45
  - bin/rhcp_test_server
46
- - lib/rhcp/response.rb
47
- - lib/rhcp/logging_broker.rb
48
- - lib/rhcp/command_param.rb
46
+ - lib/rhcp.rb
47
+ - lib/rhcp/http_exporter.rb
48
+ - lib/rhcp/request.rb
49
49
  - lib/rhcp/rhcp_exception.rb
50
+ - lib/rhcp/logging_broker.rb
51
+ - lib/rhcp/dispatching_broker.rb
52
+ - lib/rhcp/command.rb
53
+ - lib/rhcp/response.rb
54
+ - lib/rhcp/client/http_broker.rb
50
55
  - lib/rhcp/client/context_aware_broker.rb
51
- - lib/rhcp/client/command_param_stub.rb
52
56
  - lib/rhcp/client/command_stub.rb
53
- - lib/rhcp/client/http_broker.rb
54
- - lib/rhcp/command.rb
55
- - lib/rhcp/context.rb
56
- - lib/rhcp/request.rb
57
- - lib/rhcp/http_exporter.rb
58
- - lib/rhcp/dispatching_broker.rb
57
+ - lib/rhcp/client/command_param_stub.rb
59
58
  - lib/rhcp/broker.rb
60
- - lib/rhcp.rb
59
+ - lib/rhcp/command_param.rb
60
+ - lib/rhcp/context.rb
61
+ - test/rhcp/http_broker_test.rb
62
+ - test/rhcp/request_test.rb
63
+ - test/rhcp/broker_test.rb
64
+ - test/rhcp/tests_for_writable_brokers.rb
61
65
  - test/rhcp/context_test.rb
62
- - test/rhcp/http_exporter_test.rb
66
+ - test/rhcp/http_test_server.rb
67
+ - test/rhcp/dispatching_broker_test.rb
68
+ - test/rhcp/command_param_test.rb
69
+ - test/rhcp/command_test.rb
63
70
  - test/rhcp/tests_for_brokers.rb
64
71
  - test/rhcp/logging_broker_test.rb
65
- - test/rhcp/command_test.rb
66
72
  - test/rhcp/response_test.rb
67
73
  - test/rhcp/context_aware_broker_test.rb
68
74
  - test/rhcp/test_base.rb
69
- - test/rhcp/broker_test.rb
70
- - test/rhcp/tests_for_writable_brokers.rb
71
- - test/rhcp/client/command_param_stub_test.rb
72
75
  - test/rhcp/client/command_stub_test.rb
73
- - test/rhcp/dispatching_broker_test.rb
74
- - test/rhcp/http_test_server.rb
75
- - test/rhcp/command_param_test.rb
76
- - test/rhcp/request_test.rb
77
- - test/rhcp/http_broker_test.rb
76
+ - test/rhcp/client/command_param_stub_test.rb
77
+ - test/rhcp/http_exporter_test.rb
78
78
  homepage: http://rubyforge.org/projects/rhcp
79
79
  licenses: []
80
80