wrest 0.0.6-java → 0.0.7-java
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/README.rdoc +51 -19
- data/Rakefile +2 -3
- data/VERSION.yml +1 -1
- data/lib/wrest.rb +11 -2
- data/lib/wrest/components.rb +1 -2
- data/lib/wrest/components/attributes_container.rb +31 -69
- data/lib/wrest/components/attributes_container/typecaster.rb +121 -0
- data/lib/wrest/components/mutators.rb +18 -1
- data/lib/wrest/components/mutators/base.rb +52 -39
- data/lib/wrest/components/mutators/camel_to_snake_case.rb +7 -5
- data/lib/wrest/components/mutators/xml_mini_type_caster.rb +43 -0
- data/lib/wrest/components/mutators/xml_simple_type_caster.rb +22 -20
- data/lib/wrest/components/translators.rb +20 -17
- data/lib/wrest/components/translators/content_types.rb +2 -2
- data/lib/wrest/components/translators/json.rb +11 -8
- data/lib/wrest/components/translators/xml.rb +9 -12
- data/lib/wrest/core_ext/hash/conversions.rb +1 -1
- data/lib/wrest/resource/base.rb +25 -13
- data/lib/wrest/resource/state.rb +6 -0
- data/lib/wrest/response.rb +4 -0
- data/lib/wrest/uri.rb +5 -1
- data/lib/wrest/version.rb +1 -1
- data/spec/spec.opts +1 -1
- data/spec/spec_helper.rb +8 -1
- data/spec/wrest/components/attributes_container/typecaster_spec.rb +63 -0
- data/spec/wrest/components/attributes_container_spec.rb +6 -61
- data/spec/wrest/components/mutators/base_spec.rb +5 -1
- data/spec/wrest/components/mutators/xml_mini_type_caster_spec.rb +75 -0
- data/spec/wrest/components/mutators_spec.rb +21 -0
- data/spec/wrest/components/translators/xml_spec.rb +1 -1
- data/spec/wrest/components/translators_spec.rb +9 -0
- data/spec/wrest/uri_spec.rb +16 -4
- metadata +14 -15
- data/lib/wrest/components/typecast_helpers.rb +0 -41
data/lib/wrest/response.rb
CHANGED
data/lib/wrest/uri.rb
CHANGED
@@ -47,11 +47,15 @@ module Wrest #:nodoc:
|
|
47
47
|
def delete(parameters = {}, headers = {})
|
48
48
|
do_request 'delete', parameters.empty? ? @uri.request_uri : "#{@uri.request_uri}?#{parameters.to_query}", headers.stringify_keys
|
49
49
|
end
|
50
|
+
|
51
|
+
def options
|
52
|
+
do_request 'options', @uri.request_uri
|
53
|
+
end
|
50
54
|
|
51
55
|
def do_request(method, url, *args)
|
52
56
|
response = nil
|
53
57
|
|
54
|
-
Wrest.logger.info
|
58
|
+
Wrest.logger.info "--> (#{method}) #{@uri.scheme}://#{@uri.host}:#{@uri.port}#{url}"
|
55
59
|
time = Benchmark.realtime { response = Wrest::Response.new(http.send(method, url, *args)) }
|
56
60
|
Wrest.logger.info "--> %d %s (%d %.2fs)" % [response.code, response.message, response.body ? response.body.length : 0, time]
|
57
61
|
|
data/lib/wrest/version.rb
CHANGED
data/spec/spec.opts
CHANGED
data/spec/spec_helper.rb
CHANGED
@@ -11,7 +11,14 @@ Wrest.logger = Logger.new(File.open("#{WREST_ROOT}/../log/test.log", 'a'))
|
|
11
11
|
|
12
12
|
def p(*args)
|
13
13
|
# super *(args << caller[0])
|
14
|
-
super *(args << '<br
|
14
|
+
super *(args << '<br/>')
|
15
|
+
# super *args
|
16
|
+
end
|
17
|
+
|
18
|
+
def puts(*args)
|
19
|
+
# super *(args << caller[0])
|
20
|
+
super *(args << '<br/>')
|
21
|
+
# super *args
|
15
22
|
end
|
16
23
|
|
17
24
|
Spec::Runner.configure do |config|
|
@@ -0,0 +1,63 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../spec_helper'
|
2
|
+
|
3
|
+
module Wrest::Components
|
4
|
+
describe AttributesContainer::Typecaster do
|
5
|
+
before :each do
|
6
|
+
@Demon = Class.new
|
7
|
+
@Demon.class_eval do
|
8
|
+
include AttributesContainer
|
9
|
+
include AttributesContainer::Typecaster
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should know how to apply a lambda to the string value of a given key casting it to a new type" do
|
14
|
+
@Demon.class_eval{ typecast :age => lambda{|id_string| id_string.to_i} }
|
15
|
+
kai_wren = @Demon.new('age' => '1')
|
16
|
+
kai_wren.age.should == 1
|
17
|
+
end
|
18
|
+
|
19
|
+
it "should not apply a lambda to the value of a given key if it is not a string" do
|
20
|
+
@Demon.class_eval{ typecast :age => lambda{|id_string| id_string.to_i} }
|
21
|
+
kai_wren = @Demon.new('age' => :ooga)
|
22
|
+
kai_wren.age.should == :ooga
|
23
|
+
end
|
24
|
+
|
25
|
+
it "should leave nils unchanged" do
|
26
|
+
@Demon.class_eval{ typecast :age => lambda{|id_string| id_string.to_i} }
|
27
|
+
kai_wren = @Demon.new('age' => nil)
|
28
|
+
kai_wren.age.should be_nil
|
29
|
+
end
|
30
|
+
|
31
|
+
it "should provide helpers for typcasting common types" do
|
32
|
+
@Demon.class_eval{ typecast :age => as_integer }
|
33
|
+
kai_wren = @Demon.new('age' => '1500')
|
34
|
+
kai_wren.age.should == 1500
|
35
|
+
end
|
36
|
+
|
37
|
+
describe 'in subclasses' do
|
38
|
+
before :each do
|
39
|
+
@Sidhe = Class.new
|
40
|
+
@Sidhe.class_eval do
|
41
|
+
include AttributesContainer
|
42
|
+
include AttributesContainer::Typecaster
|
43
|
+
|
44
|
+
typecast :age => as_integer
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
it "should inherit all defined typecasts" do
|
49
|
+
@ChineseSidhe = Class.new(@Sidhe)
|
50
|
+
kai_wren = @ChineseSidhe.new('age' => '1500')
|
51
|
+
kai_wren.age.should == 1500
|
52
|
+
end
|
53
|
+
|
54
|
+
it "should discard all typecasts from parent if defined in child" do
|
55
|
+
@ChineseSidhe = Class.new(@Sidhe)
|
56
|
+
@ChineseSidhe.class_eval{ typecast :born_in => as_integer }
|
57
|
+
kai_wren = @ChineseSidhe.new('age' => '1500', 'born_in' => '509')
|
58
|
+
kai_wren.age.should == '1500'
|
59
|
+
kai_wren.born_in.should == 509
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
@@ -13,69 +13,14 @@ module Wrest::Components
|
|
13
13
|
describe AttributesContainer do
|
14
14
|
class HumanBeing
|
15
15
|
include AttributesContainer
|
16
|
-
|
16
|
+
always_has :id
|
17
17
|
end
|
18
18
|
|
19
19
|
it "should allow instantiation with no attributes" do
|
20
20
|
lambda{ HumanBeing.new }.should_not raise_error
|
21
21
|
end
|
22
22
|
|
23
|
-
describe '
|
24
|
-
before :each do
|
25
|
-
@Demon = Class.new
|
26
|
-
@Demon.class_eval{include AttributesContainer}
|
27
|
-
end
|
28
|
-
|
29
|
-
it "should know how to apply a lambda to the string value of a given key casting it to a new type" do
|
30
|
-
@Demon.class_eval{ typecast :age => lambda{|id_string| id_string.to_i} }
|
31
|
-
kai_wren = @Demon.new('age' => '1')
|
32
|
-
kai_wren.age.should == 1
|
33
|
-
end
|
34
|
-
|
35
|
-
it "should not apply a lambda to the value of a given key if it is not a string" do
|
36
|
-
@Demon.class_eval{ typecast :age => lambda{|id_string| id_string.to_i} }
|
37
|
-
kai_wren = @Demon.new('age' => :ooga)
|
38
|
-
kai_wren.age.should == :ooga
|
39
|
-
end
|
40
|
-
|
41
|
-
it "should leave nils unchanged" do
|
42
|
-
@Demon.class_eval{ typecast :age => lambda{|id_string| id_string.to_i} }
|
43
|
-
kai_wren = @Demon.new('age' => nil)
|
44
|
-
kai_wren.age.should be_nil
|
45
|
-
end
|
46
|
-
|
47
|
-
it "should provide helpers for typcasting common types" do
|
48
|
-
@Demon.class_eval{ typecast :age => as_integer }
|
49
|
-
kai_wren = @Demon.new('age' => '1500')
|
50
|
-
kai_wren.age.should == 1500
|
51
|
-
end
|
52
|
-
|
53
|
-
describe 'in subclasses' do
|
54
|
-
before :each do
|
55
|
-
@Sidhe = Class.new
|
56
|
-
@Sidhe.class_eval{
|
57
|
-
include AttributesContainer
|
58
|
-
typecast :age => as_integer
|
59
|
-
}
|
60
|
-
end
|
61
|
-
|
62
|
-
it "should inherit all defined typecasts" do
|
63
|
-
@ChineseSidhe = Class.new(@Sidhe)
|
64
|
-
kai_wren = @ChineseSidhe.new('age' => '1500')
|
65
|
-
kai_wren.age.should == 1500
|
66
|
-
end
|
67
|
-
|
68
|
-
it "should discard all typecasts from parent if defined in child" do
|
69
|
-
@ChineseSidhe = Class.new(@Sidhe)
|
70
|
-
@ChineseSidhe.class_eval{ typecast :born_in => as_integer }
|
71
|
-
kai_wren = @ChineseSidhe.new('age' => '1500', 'born_in' => '509')
|
72
|
-
kai_wren.age.should == '1500'
|
73
|
-
kai_wren.born_in.should == 509
|
74
|
-
end
|
75
|
-
end
|
76
|
-
end
|
77
|
-
|
78
|
-
describe 'has_attributes' do
|
23
|
+
describe 'always_has' do
|
79
24
|
describe 'method creation' do
|
80
25
|
before :each do
|
81
26
|
@Demon = Class.new
|
@@ -87,7 +32,7 @@ module Wrest::Components
|
|
87
32
|
|
88
33
|
@Demon.class_eval{
|
89
34
|
include AttributesContainer
|
90
|
-
|
35
|
+
always_has :trainer
|
91
36
|
}
|
92
37
|
|
93
38
|
kai_wren.methods.should include('trainer')
|
@@ -99,7 +44,7 @@ module Wrest::Components
|
|
99
44
|
|
100
45
|
@Demon.class_eval{
|
101
46
|
include AttributesContainer
|
102
|
-
|
47
|
+
always_has :trainer
|
103
48
|
}
|
104
49
|
|
105
50
|
kai_wren.methods.should include('trainer=')
|
@@ -111,7 +56,7 @@ module Wrest::Components
|
|
111
56
|
|
112
57
|
@Demon.class_eval{
|
113
58
|
include AttributesContainer
|
114
|
-
|
59
|
+
always_has :trainer
|
115
60
|
}
|
116
61
|
kai_wren.methods.should include('trainer?')
|
117
62
|
end
|
@@ -122,7 +67,7 @@ module Wrest::Components
|
|
122
67
|
@Demon = Class.new
|
123
68
|
@Demon.class_eval{
|
124
69
|
include AttributesContainer
|
125
|
-
|
70
|
+
always_has :trainer
|
126
71
|
|
127
72
|
def method_missing(method_name, *args)
|
128
73
|
# Ensuring that the instance level
|
@@ -33,6 +33,10 @@ module Wrest::Components
|
|
33
33
|
}]]
|
34
34
|
).should == ["result", {"publish_date" => "1240326000", "news_source" => {"online"=>"PC via News", "unique_id"=>1}}]
|
35
35
|
end
|
36
|
-
|
36
|
+
|
37
|
+
it "should register all subclasses in the registry" do
|
38
|
+
class SomeMutator < Mutators::Base; end
|
39
|
+
Mutators::REGISTRY[:some_mutator].should == SomeMutator
|
40
|
+
end
|
37
41
|
end
|
38
42
|
end
|
@@ -0,0 +1,75 @@
|
|
1
|
+
# Copyright 2009 Sidu Ponnappa
|
2
|
+
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
|
6
|
+
# Unless required by applicable law or agreed to in writing, software distributed under the License
|
7
|
+
# is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
8
|
+
# See the License for the specific language governing permissions and limitations under the License.
|
9
|
+
|
10
|
+
require File.dirname(__FILE__) + '/../../../spec_helper'
|
11
|
+
|
12
|
+
module Wrest::Components
|
13
|
+
describe Mutators::XmlMiniTypeCaster do
|
14
|
+
before(:each) do
|
15
|
+
@mutator = Mutators::XmlMiniTypeCaster.new
|
16
|
+
end
|
17
|
+
|
18
|
+
# {"lead-bottle"=>{"name"=>{"__content__"=>"Wooz"}, "universe-id"=>{"type"=>"integer", "nil"=>"true"}, "id"=>{"__content__"=>"1", "type"=>"integer"}}}
|
19
|
+
|
20
|
+
it "should typecast a nil value in a tuple" do
|
21
|
+
@mutator.mutate(
|
22
|
+
["universe-id", {"type"=>"integer", "nil"=>"true"}]
|
23
|
+
).should == ["universe-id", nil]
|
24
|
+
end
|
25
|
+
|
26
|
+
it "should leave a string value in a tuple unchanged" do
|
27
|
+
@mutator.mutate(
|
28
|
+
["name", {"__content__" => "Wooz"}]
|
29
|
+
).should == ["name", "Wooz"]
|
30
|
+
end
|
31
|
+
|
32
|
+
it "should cast an integer value in a tuple" do
|
33
|
+
@mutator.mutate(
|
34
|
+
["id", {"type"=>"integer", "__content__"=>"1"}]
|
35
|
+
).should == ["id", 1]
|
36
|
+
end
|
37
|
+
|
38
|
+
it "should step into a value if it is a hash" do
|
39
|
+
@mutator.mutate(
|
40
|
+
["ResultSet", {
|
41
|
+
"firstResultPosition"=>"1", "totalResultsReturned"=>"1",
|
42
|
+
"xsi:schemaLocation"=>"urn:ooga:on http://api.search.ooga.com/NewsSearchService/V1/NewsSearchResponse.xsd",
|
43
|
+
"totalResultsAvailable"=>"23287",
|
44
|
+
"Result"=>{
|
45
|
+
"UniqueId"=>{"__content__"=>"1", "type" => "integer"},
|
46
|
+
"PublishDate"=>{"__content__"=>"20090424", "type" => "date"},
|
47
|
+
"Language"=>{"__content__"=>"en"},
|
48
|
+
"Title"=>{"__content__"=>"Wootler: Wook focus should be Klingon, not India"},
|
49
|
+
"ClickUrls"=>[
|
50
|
+
{"One" => {"__content__"=>"http://news.ooga.com/s/ap/20090424/ap_on_go_ca_st_pe/us_us_wookieland_5"}},
|
51
|
+
{"Two" => {"__content__"=>"http://news.ooga.com/s/ap/20090424/ap_on_go_ca_st_pe/us_us_wookieland_6"}},
|
52
|
+
]
|
53
|
+
|
54
|
+
}
|
55
|
+
}
|
56
|
+
]
|
57
|
+
).should == ["ResultSet", {
|
58
|
+
"firstResultPosition"=>"1", "totalResultsReturned"=>"1",
|
59
|
+
"xsi:schemaLocation"=>"urn:ooga:on http://api.search.ooga.com/NewsSearchService/V1/NewsSearchResponse.xsd",
|
60
|
+
"totalResultsAvailable"=>"23287",
|
61
|
+
"Result"=>{
|
62
|
+
"UniqueId"=> 1,
|
63
|
+
"PublishDate"=>Date.parse("20090424"),
|
64
|
+
"Language"=>"en",
|
65
|
+
"Title"=>"Wootler: Wook focus should be Klingon, not India",
|
66
|
+
"ClickUrls"=>[
|
67
|
+
{"One" => "http://news.ooga.com/s/ap/20090424/ap_on_go_ca_st_pe/us_us_wookieland_5"},
|
68
|
+
{"Two" => "http://news.ooga.com/s/ap/20090424/ap_on_go_ca_st_pe/us_us_wookieland_6"},
|
69
|
+
]
|
70
|
+
}
|
71
|
+
}
|
72
|
+
]
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# Copyright 2009 Sidu Ponnappa
|
2
|
+
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
|
6
|
+
# Unless required by applicable law or agreed to in writing, software distributed under the License
|
7
|
+
# is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
8
|
+
# See the License for the specific language governing permissions and limitations under the License.
|
9
|
+
|
10
|
+
require File.dirname(__FILE__) + '/../../spec_helper'
|
11
|
+
|
12
|
+
module Wrest::Components
|
13
|
+
describe Mutators do
|
14
|
+
it "should know how to chain mutators without having to namespace them all" do
|
15
|
+
mutator = Mutators.chain(:xml_mini_type_caster, :xml_simple_type_caster, :camel_to_snake_case)
|
16
|
+
mutator.class.should == Mutators::XmlMiniTypeCaster
|
17
|
+
mutator.next_mutator.class.should == Mutators::XmlSimpleTypeCaster
|
18
|
+
mutator.next_mutator.next_mutator.class.should == Mutators::CamelToSnakeCase
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -6,7 +6,7 @@ module Wrest::Components::Translators
|
|
6
6
|
http_response = mock('Http Reponse')
|
7
7
|
http_response.should_receive(:body).and_return("<ooga><age>12</age></ooga>")
|
8
8
|
|
9
|
-
Xml.deserialise(http_response).should == {"ooga"=>
|
9
|
+
Xml.deserialise(http_response).should == {"ooga"=>{"age"=>{"__content__" => "12"}}}
|
10
10
|
end
|
11
11
|
end
|
12
12
|
end
|
@@ -1,3 +1,12 @@
|
|
1
|
+
# Copyright 2009 Sidu Ponnappa
|
2
|
+
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
|
6
|
+
# Unless required by applicable law or agreed to in writing, software distributed under the License
|
7
|
+
# is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
8
|
+
# See the License for the specific language governing permissions and limitations under the License.
|
9
|
+
|
1
10
|
require File.dirname(__FILE__) + '/../../spec_helper'
|
2
11
|
|
3
12
|
module Wrest::Components
|
data/spec/wrest/uri_spec.rb
CHANGED
@@ -33,13 +33,13 @@ module Wrest
|
|
33
33
|
Uri.new('https://localhost:3000').should_not == Uri.new('http://localhost:3000')
|
34
34
|
Uri.new('http://localhost:3000').should == Uri.new('http://localhost:3000')
|
35
35
|
end
|
36
|
-
|
37
|
-
|
36
|
+
|
37
|
+
|
38
38
|
it "should have the same hash code if it is the same uri" do
|
39
39
|
Uri.new('https://localhost:3000').hash.should == Uri.new('https://localhost:3000').hash
|
40
40
|
Uri.new('https://localhost:3001').hash.should_not == Uri.new('https://localhost:3000').hash
|
41
41
|
end
|
42
|
-
|
42
|
+
|
43
43
|
describe 'Get' do
|
44
44
|
it "should know how to get" do
|
45
45
|
uri = "http://localhost:3000/glassware".to_uri
|
@@ -77,7 +77,7 @@ module Wrest
|
|
77
77
|
uri.get(:owner => 'Kai', :type => 'bottle')
|
78
78
|
end
|
79
79
|
end
|
80
|
-
|
80
|
+
|
81
81
|
it "should know how to post" do
|
82
82
|
uri = "http://localhost:3000/glassware".to_uri
|
83
83
|
uri.should_not be_https
|
@@ -114,6 +114,18 @@ module Wrest
|
|
114
114
|
uri.delete({:owner => 'Kai', :type => 'bottle'}, :page => '2', :per_page => '5')
|
115
115
|
end
|
116
116
|
|
117
|
+
it "should know how to ask for options on a URI" do
|
118
|
+
uri = "http://localhost:3000/glassware".to_uri
|
119
|
+
uri.should_not be_https
|
120
|
+
|
121
|
+
http = mock(Net::HTTP)
|
122
|
+
Net::HTTP.should_receive(:new).with('localhost', 3000).and_return(http)
|
123
|
+
|
124
|
+
http.should_receive(:options).with('/glassware').and_return(build_ok_response(nil))
|
125
|
+
|
126
|
+
uri.options
|
127
|
+
end
|
128
|
+
|
117
129
|
it "should not mutate state of the uri across requests" do
|
118
130
|
uri = "http://localhost:3000/glassware".to_uri
|
119
131
|
uri.should_not be_https
|
metadata
CHANGED
@@ -4,10 +4,11 @@ extensions: []
|
|
4
4
|
homepage: http://github.com/kaiwren/wrest
|
5
5
|
executables:
|
6
6
|
- wrest
|
7
|
+
- jwrest
|
7
8
|
version: !ruby/object:Gem::Version
|
8
|
-
version: 0.0.
|
9
|
+
version: 0.0.7
|
9
10
|
post_install_message:
|
10
|
-
date: 2009-
|
11
|
+
date: 2009-05-06 18:30:00 +00:00
|
11
12
|
files:
|
12
13
|
- README.rdoc
|
13
14
|
- Rakefile
|
@@ -18,15 +19,16 @@ files:
|
|
18
19
|
- lib/wrest.rb
|
19
20
|
- lib/wrest/components.rb
|
20
21
|
- lib/wrest/components/attributes_container.rb
|
22
|
+
- lib/wrest/components/attributes_container/typecaster.rb
|
21
23
|
- lib/wrest/components/mutators.rb
|
22
24
|
- lib/wrest/components/mutators/base.rb
|
23
25
|
- lib/wrest/components/mutators/camel_to_snake_case.rb
|
26
|
+
- lib/wrest/components/mutators/xml_mini_type_caster.rb
|
24
27
|
- lib/wrest/components/mutators/xml_simple_type_caster.rb
|
25
28
|
- lib/wrest/components/translators.rb
|
26
29
|
- lib/wrest/components/translators/content_types.rb
|
27
30
|
- lib/wrest/components/translators/json.rb
|
28
31
|
- lib/wrest/components/translators/xml.rb
|
29
|
-
- lib/wrest/components/typecast_helpers.rb
|
30
32
|
- lib/wrest/core_ext/hash.rb
|
31
33
|
- lib/wrest/core_ext/hash/conversions.rb
|
32
34
|
- lib/wrest/core_ext/string.rb
|
@@ -37,6 +39,7 @@ files:
|
|
37
39
|
- lib/wrest/resource.rb
|
38
40
|
- lib/wrest/resource/base.rb
|
39
41
|
- lib/wrest/resource/collection.rb
|
42
|
+
- lib/wrest/resource/state.rb
|
40
43
|
- lib/wrest/response.rb
|
41
44
|
- lib/wrest/uri.rb
|
42
45
|
- lib/wrest/uri_template.rb
|
@@ -45,10 +48,13 @@ files:
|
|
45
48
|
- spec/rcov.opts
|
46
49
|
- spec/spec.opts
|
47
50
|
- spec/spec_helper.rb
|
51
|
+
- spec/wrest/components/attributes_container/typecaster_spec.rb
|
48
52
|
- spec/wrest/components/attributes_container_spec.rb
|
49
53
|
- spec/wrest/components/mutators/base_spec.rb
|
50
54
|
- spec/wrest/components/mutators/camel_to_snake_spec.rb
|
55
|
+
- spec/wrest/components/mutators/xml_mini_type_caster_spec.rb
|
51
56
|
- spec/wrest/components/mutators/xml_simple_type_caster_spec.rb
|
57
|
+
- spec/wrest/components/mutators_spec.rb
|
52
58
|
- spec/wrest/components/translators/xml_spec.rb
|
53
59
|
- spec/wrest/components/translators_spec.rb
|
54
60
|
- spec/wrest/core_ext/hash/conversions_spec.rb
|
@@ -67,7 +73,7 @@ name: wrest
|
|
67
73
|
has_rdoc: true
|
68
74
|
platform: java
|
69
75
|
summary: REST client library for Ruby.
|
70
|
-
default_executable:
|
76
|
+
default_executable:
|
71
77
|
bindir: bin
|
72
78
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
73
79
|
version:
|
@@ -91,9 +97,12 @@ test_files:
|
|
91
97
|
- spec/wrest/uri_spec.rb
|
92
98
|
- spec/wrest/uri_template_spec.rb
|
93
99
|
- spec/wrest/components/attributes_container_spec.rb
|
100
|
+
- spec/wrest/components/mutators_spec.rb
|
94
101
|
- spec/wrest/components/translators_spec.rb
|
102
|
+
- spec/wrest/components/attributes_container/typecaster_spec.rb
|
95
103
|
- spec/wrest/components/mutators/base_spec.rb
|
96
104
|
- spec/wrest/components/mutators/camel_to_snake_spec.rb
|
105
|
+
- spec/wrest/components/mutators/xml_mini_type_caster_spec.rb
|
97
106
|
- spec/wrest/components/mutators/xml_simple_type_caster_spec.rb
|
98
107
|
- spec/wrest/components/translators/xml_spec.rb
|
99
108
|
- spec/wrest/core_ext/hash/conversions_spec.rb
|
@@ -109,17 +118,7 @@ dependencies:
|
|
109
118
|
requirements:
|
110
119
|
- - '>='
|
111
120
|
- !ruby/object:Gem::Version
|
112
|
-
version: 2.
|
113
|
-
- !ruby/object:Gem::Dependency
|
114
|
-
type: :runtime
|
115
|
-
name: xml-simple
|
116
|
-
version_requirement:
|
117
|
-
version_requirements: !ruby/object:Gem::Requirement
|
118
|
-
version:
|
119
|
-
requirements:
|
120
|
-
- - '>='
|
121
|
-
- !ruby/object:Gem::Version
|
122
|
-
version: 1.0.11
|
121
|
+
version: 2.3.2
|
123
122
|
- !ruby/object:Gem::Dependency
|
124
123
|
type: :runtime
|
125
124
|
name: json-jruby
|