policymap_wrap 0.6.0 → 0.6.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.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.6.0
1
+ 0.6.1
@@ -25,9 +25,9 @@ module PolicyMap
25
25
 
26
26
  class << self
27
27
 
28
- def set_credentials(client_id, username, password)
28
+ def set_credentials(client_id, username, password, proxy_url=nil)
29
29
  @@default_options = { :id => client_id, :ty => 'data', :f => 'j', :af => '1' }
30
- @@connection = Connection.new(client_id, username, password)
30
+ @@connection = Connection.new(client_id, username, password, proxy_url)
31
31
  @@connection.debug = @@debug
32
32
  true
33
33
  end
@@ -1,43 +1,44 @@
1
1
  module PolicyMap
2
-
2
+
3
3
  class Connection
4
4
 
5
5
  attr_accessor :debug
6
6
  attr_reader :client_id
7
7
 
8
- def initialize(client_id, username, password)
8
+ def initialize(client_id, username, password, proxy_url)
9
9
  @client_id = client_id
10
10
  @username = username
11
11
  @password = password
12
+ @proxy_url = proxy_url
12
13
  @debug = false
13
14
  end
14
15
 
15
16
  def get(endpoint, data=nil)
16
17
  request :get, endpoint, data
17
18
  end
18
-
19
+
19
20
  class Response
20
-
21
+
21
22
  attr_reader :code, :header, :body, :message
22
-
23
- HTTP_RESPONSES = { '100' => 'Continue', '101' => 'SwitchProtocol', '200' => 'OK', '201' => 'Created', '202' => 'Accepted', '203' => 'NonAuthoritativeInformation',
24
- '204' => 'NoContent', '205' => 'ResetContent', '206' => 'PartialContent', '300' => 'MultipleChoice', '301' => 'MovedPermanently',
25
- '302' => 'Found', '303' => 'SeeOther', '304' => 'NotModified', '305' => 'UseProxy', '307' => 'TemporaryRedirect', '400' => 'BadRequest',
26
- '401' => 'Unauthorized', '402' => 'PaymentRequired', '403' => 'Forbidden', '404' => 'NotFound', '405' => 'MethodNotAllowed',
27
- '406' => 'NotAcceptable', '407' => 'ProxyAuthenticationRequired', '408' => 'RequestTimeOut', '409' => 'Conflict', '410' => 'Gone',
28
- '411' => 'LengthRequired', '412' => 'PreconditionFailed', '413' => 'RequestEntityTooLarge', '414' => 'RequestURITooLong',
29
- '415' => 'UnsupportedMediaType', '416' => 'RequestedRangeNotSatisfiable', '417' => 'ExpectationFailed', '500' => 'InternalServerError',
23
+
24
+ HTTP_RESPONSES = { '100' => 'Continue', '101' => 'SwitchProtocol', '200' => 'OK', '201' => 'Created', '202' => 'Accepted', '203' => 'NonAuthoritativeInformation',
25
+ '204' => 'NoContent', '205' => 'ResetContent', '206' => 'PartialContent', '300' => 'MultipleChoice', '301' => 'MovedPermanently',
26
+ '302' => 'Found', '303' => 'SeeOther', '304' => 'NotModified', '305' => 'UseProxy', '307' => 'TemporaryRedirect', '400' => 'BadRequest',
27
+ '401' => 'Unauthorized', '402' => 'PaymentRequired', '403' => 'Forbidden', '404' => 'NotFound', '405' => 'MethodNotAllowed',
28
+ '406' => 'NotAcceptable', '407' => 'ProxyAuthenticationRequired', '408' => 'RequestTimeOut', '409' => 'Conflict', '410' => 'Gone',
29
+ '411' => 'LengthRequired', '412' => 'PreconditionFailed', '413' => 'RequestEntityTooLarge', '414' => 'RequestURITooLong',
30
+ '415' => 'UnsupportedMediaType', '416' => 'RequestedRangeNotSatisfiable', '417' => 'ExpectationFailed', '500' => 'InternalServerError',
30
31
  '501' => 'NotImplemented', '502' => 'BadGateway', '503' => 'ServiceUnavailable', '504' => 'GatewayTimeOut', '505' => 'VersionNotSupported' }
31
-
32
+
32
33
  def initialize(http_client)
33
34
  @code = http_client.response_code
34
35
  @header = http_client.header_str.is_a?(String) ? parse_headers(http_client.header_str) : http_client.header_str
35
36
  @body = http_client.body_str
36
37
  @message = HTTP_RESPONSES[@code.to_s]
37
38
  end
38
-
39
+
39
40
  private
40
-
41
+
41
42
  def parse_headers(header_string)
42
43
  header_lines = header_string.split($/)
43
44
  header_lines.shift
@@ -47,7 +48,7 @@ module PolicyMap
47
48
  hsh
48
49
  end
49
50
  end
50
-
51
+
51
52
  end
52
53
 
53
54
  private
@@ -100,18 +101,19 @@ module PolicyMap
100
101
  [key.to_s, URI.escape(value.to_s)].join('=')
101
102
  end.join('&')
102
103
  end
103
-
104
+
104
105
  def send_request(method, endpoint, headers)
105
106
  if method == :get
106
107
  @http_client = Curl::Easy.new(endpoint) do |c|
107
108
  c.headers = headers
108
109
  end
109
110
  end
110
-
111
+
111
112
  @http_client.userpwd = [@username, @password].join(':')
112
-
113
+ @http_client.proxy_url = @proxy_url unless @proxy_url.nil?
114
+
113
115
  @http_client.perform
114
-
116
+
115
117
  Response.new(@http_client)
116
118
  end
117
119
 
@@ -134,7 +136,7 @@ module PolicyMap
134
136
  end
135
137
  end
136
138
  end
137
-
139
+
138
140
  end
139
-
141
+
140
142
  end
metadata CHANGED
@@ -1,60 +1,57 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: policymap_wrap
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.6.1
4
5
  prerelease:
5
- version: 0.6.0
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Mauricio Gomes
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2011-12-14 00:00:00 Z
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
12
+ date: 2012-08-27 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
16
15
  name: yajl-ruby
17
- prerelease: false
18
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &70213337199520 !ruby/object:Gem::Requirement
19
17
  none: false
20
- requirements:
21
- - - ">="
22
- - !ruby/object:Gem::Version
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
23
21
  version: 0.7.7
24
22
  type: :runtime
25
- version_requirements: *id001
26
- - !ruby/object:Gem::Dependency
27
- name: curb
28
23
  prerelease: false
29
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: *70213337199520
25
+ - !ruby/object:Gem::Dependency
26
+ name: curb
27
+ requirement: &70213337198580 !ruby/object:Gem::Requirement
30
28
  none: false
31
- requirements:
32
- - - ">="
33
- - !ruby/object:Gem::Version
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
34
32
  version: 0.7.7.1
35
33
  type: :runtime
36
- version_requirements: *id002
37
- - !ruby/object:Gem::Dependency
38
- name: rspec
39
34
  prerelease: false
40
- requirement: &id003 !ruby/object:Gem::Requirement
35
+ version_requirements: *70213337198580
36
+ - !ruby/object:Gem::Dependency
37
+ name: rspec
38
+ requirement: &70213337024520 !ruby/object:Gem::Requirement
41
39
  none: false
42
- requirements:
43
- - - ">="
44
- - !ruby/object:Gem::Version
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
45
43
  version: 1.2.9
46
44
  type: :development
47
- version_requirements: *id003
45
+ prerelease: false
46
+ version_requirements: *70213337024520
48
47
  description: Ruby wrapper around the PolicyMap API. Your API may vary.
49
48
  email: mauricio@geminisbs.com
50
49
  executables: []
51
-
52
50
  extensions: []
53
-
54
- extra_rdoc_files:
51
+ extra_rdoc_files:
55
52
  - LICENSE
56
53
  - README.rdoc
57
- files:
54
+ files:
58
55
  - LICENSE
59
56
  - README.rdoc
60
57
  - VERSION
@@ -66,30 +63,26 @@ files:
66
63
  - lib/policymap_wrap/hash_utils.rb
67
64
  homepage: http://github.com/geminisbs/policymap_wrap
68
65
  licenses: []
69
-
70
66
  post_install_message:
71
67
  rdoc_options: []
72
-
73
- require_paths:
68
+ require_paths:
74
69
  - lib
75
- required_ruby_version: !ruby/object:Gem::Requirement
70
+ required_ruby_version: !ruby/object:Gem::Requirement
76
71
  none: false
77
- requirements:
78
- - - ">="
79
- - !ruby/object:Gem::Version
80
- version: "0"
81
- required_rubygems_version: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ! '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ required_rubygems_version: !ruby/object:Gem::Requirement
82
77
  none: false
83
- requirements:
84
- - - ">="
85
- - !ruby/object:Gem::Version
86
- version: "0"
78
+ requirements:
79
+ - - ! '>='
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
87
82
  requirements: []
88
-
89
83
  rubyforge_project:
90
- rubygems_version: 1.8.11
84
+ rubygems_version: 1.8.16
91
85
  signing_key:
92
86
  specification_version: 3
93
87
  summary: Ruby wrapper around the PolicyMap API
94
88
  test_files: []
95
-