arest 0.9.1.0 → 0.9.1.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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/arest.rb +38 -6
  3. data/spec/arest_spec.rb +6 -6
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 486926dcce7e504ad5fd10ddc6eb66495681fad1
4
- data.tar.gz: 42a53c28a548b74d049f4cfa9c0fafb32b0de8cb
3
+ metadata.gz: 52a141387baf882b38ee1ce92ebc79f28f63a929
4
+ data.tar.gz: 57dee78d3f09ec0bcb7b195d42fc34167aed34d8
5
5
  SHA512:
6
- metadata.gz: 5ce9be9ec6c7302033c4b04e9e5ddf3ec815258d0b11a7607833089eeae91e78e790bb89e01b2b27e6543ac6bf2c704f67d41140be8a3a37023036c0e7f934a8
7
- data.tar.gz: 92b431e715d1c731dbc42b84c0d551b83ee50dcd15cc83bbef49242b283757c5945062cc0f394e263802ce0577c8048f317697c3481c97528904bcebc5641f06
6
+ metadata.gz: 734e64b754b1af6ec9f6f38298a014b3f30ae84de28db3e25316b59f5f99d370a12618c9cda8c26945a7659f94c2754a9626184966ecfdf36d3cd507d533d34c
7
+ data.tar.gz: a1fb4d68fe77bc1a21d51df9c174561f3226e419f7d10468fdc095f2ba16978a9edab3f6c49b4e5ad882cc981ca494a45441f8836a7ef9a40f3a116766c29930
@@ -8,9 +8,9 @@ class Net::HTTPResponse
8
8
  def deserialize
9
9
  case content_type
10
10
  when "application/xml"
11
- Hash.from_xml body
11
+ Hash.from_xml(body).deep_symbolize_keys
12
12
  when "application/json"
13
- JSON.parse body
13
+ JSON.parse body, symbolize_names: true
14
14
  else
15
15
  body
16
16
  end
@@ -46,25 +46,57 @@ class ARest
46
46
  end
47
47
 
48
48
  # Perform a HTTP GET request. Requires a path to current operation
49
- # See #execute for details
49
+ # If given, headers and http authentication can be override
50
+ #
51
+ # Input
52
+ # * path - relative to URI given in constructor
53
+ # Options Hash
54
+ # * headers - overrides the header given in constructor
55
+ # * username, password - overrides the http authentication
56
+ # * token - overrides authorization token
57
+ # * form_data - hash with HTML form data
50
58
  def get(path, **options)
51
59
  execute :get, path, options
52
60
  end
53
61
 
54
62
  # Perform a HTTP POST request. Requires a path to current operation
55
- # See #execute for details
63
+ # If given, headers and http authentication can be override
64
+ #
65
+ # Input
66
+ # * path - relative to URI given in constructor
67
+ # Options Hash
68
+ # * headers - overrides the header given in constructor
69
+ # * username, password - overrides the http authentication
70
+ # * token - overrides authorization token
71
+ # * form_data - hash with HTML form data
56
72
  def post(path, **options)
57
73
  execute :post, path, options
58
74
  end
59
75
 
60
76
  # Perform a HTTP PUT request. Requires a path to current operation
61
- # See #execute for details
77
+ # If given, headers and http authentication can be override
78
+ #
79
+ # Input
80
+ # * path - relative to URI given in constructor
81
+ # Options Hash
82
+ # * headers - overrides the header given in constructor
83
+ # * username, password - overrides the http authentication
84
+ # * token - overrides authorization token
85
+ # * form_data - hash with HTML form data
62
86
  def put(path, **options)
63
87
  execute :put, path, options
64
88
  end
65
89
 
66
90
  # Perform a HTTP DELETE request. Requires a path to current operation
67
- # See #execute for details
91
+ # If given, headers and http authentication can be override
92
+ #
93
+ # Input
94
+ # * path - relative to URI given in constructor
95
+ # Options Hash
96
+ # * headers - overrides the header given in constructor
97
+ # * username, password - overrides the http authentication
98
+ # * token - overrides authorization token
99
+ # * form_data - hash with HTML form data
68
100
  def delete(path, **options)
69
101
  execute :delete, path, options
70
102
  end
@@ -13,19 +13,19 @@ describe ARest do
13
13
  end
14
14
  it "should be able to GET fake user" do
15
15
  user = @client.get('users/1').deserialize
16
- expect(user["name"]).to eq "Leanne Graham"
16
+ expect(user[:name]).to eq "Leanne Graham"
17
17
  end
18
18
  it "should be able to POST fake post" do
19
19
  posts_res = @client.post('posts', form_data: { title: 'foo', body: 'bar', userId: 1 })
20
20
  expect(posts_res).to be_ok
21
21
  post = posts_res.deserialize
22
- expect(post['title']).to eq 'foo'
22
+ expect(post[:title]).to eq 'foo'
23
23
  end
24
24
  it "should be able to PUT fake post" do
25
25
  posts_res = @client.put('posts/1', form_data: { id: 1, title: 'foo', body: 'bar', userId: 1 })
26
26
  expect(posts_res).to be_ok
27
27
  post = posts_res.deserialize
28
- expect(post['title']).to eq 'foo'
28
+ expect(post[:title]).to eq 'foo'
29
29
  end
30
30
  it "should be able to DELETE fake post" do
31
31
  posts_res = @client.delete('posts/1')
@@ -54,7 +54,7 @@ describe ARest do
54
54
  end
55
55
  it "should be able to get password with form authentication" do
56
56
  pass = @arest.post('/db/prod/oracle/scott.json', form_data: { email: 'user@example.com', password: 'password0'}).deserialize
57
- expect(pass['password']).to eq 't1ger'
57
+ expect(pass[:password]).to eq 't1ger'
58
58
  end
59
59
  end
60
60
 
@@ -77,8 +77,8 @@ describe ARest do
77
77
  @client = ARest.new 'http://www.thomas-bayer.com/sqlrest'
78
78
  end
79
79
  it "should be able to get the fake customer" do
80
- customer = @client.get('CUSTOMER/3').deserialize['CUSTOMER']
81
- expect(customer['FIRSTNAME']).to eq "Michael"
80
+ customer = @client.get('CUSTOMER/3').deserialize[:CUSTOMER]
81
+ expect(customer[:FIRSTNAME]).to eq "Michael"
82
82
  end
83
83
  end
84
84
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1.0
4
+ version: 0.9.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tomek Gryszkiewicz