wrest 0.0.5-java → 0.0.6-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.
Files changed (35) hide show
  1. data/README.rdoc +31 -17
  2. data/Rakefile +7 -2
  3. data/VERSION.yml +1 -1
  4. data/lib/wrest/components.rb +3 -1
  5. data/lib/wrest/components/attributes_container.rb +65 -10
  6. data/lib/wrest/components/mutators.rb +2 -1
  7. data/lib/wrest/components/mutators/base.rb +27 -11
  8. data/lib/wrest/components/mutators/camel_to_snake_case.rb +20 -0
  9. data/lib/wrest/components/mutators/xml_simple_type_caster.rb +25 -21
  10. data/lib/wrest/{translators.rb → components/translators.rb} +6 -6
  11. data/lib/wrest/{translators → components/translators}/content_types.rb +5 -5
  12. data/lib/wrest/components/translators/json.rb +22 -0
  13. data/lib/wrest/{translators → components/translators}/xml.rb +19 -17
  14. data/lib/wrest/components/typecast_helpers.rb +41 -0
  15. data/lib/wrest/core_ext/hash/conversions.rb +22 -3
  16. data/lib/wrest/exceptions.rb +6 -1
  17. data/lib/wrest/{translators/json.rb → exceptions/method_not_overridden_exception.rb} +11 -15
  18. data/lib/wrest/exceptions/unsupported_content_type_exception.rb +11 -9
  19. data/lib/wrest/resource/base.rb +5 -1
  20. data/lib/wrest/response.rb +2 -2
  21. data/lib/wrest/uri.rb +3 -3
  22. data/lib/wrest/version.rb +1 -1
  23. data/spec/spec_helper.rb +2 -1
  24. data/spec/wrest/components/attributes_container_spec.rb +66 -11
  25. data/spec/wrest/components/mutators/base_spec.rb +28 -8
  26. data/spec/wrest/components/mutators/camel_to_snake_spec.rb +22 -0
  27. data/spec/wrest/components/mutators/xml_simple_type_caster_spec.rb +14 -8
  28. data/spec/wrest/{translators → components/translators}/xml_spec.rb +3 -3
  29. data/spec/wrest/components/translators_spec.rb +9 -0
  30. data/spec/wrest/core_ext/hash/conversions_spec.rb +1 -1
  31. data/spec/wrest/resource/base_spec.rb +1 -1
  32. data/spec/wrest/response_spec.rb +3 -3
  33. data/spec/wrest/uri_spec.rb +2 -2
  34. metadata +61 -56
  35. data/spec/wrest/translators_spec.rb +0 -9
@@ -1,12 +1,12 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
1
+ require File.dirname(__FILE__) + '/../../../spec_helper'
2
2
 
3
- module Wrest::Translators
3
+ module Wrest::Components::Translators
4
4
  describe Xml do
5
5
  it "should know how to convert xml to a hashmap" do
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.call(http_response).should == {"ooga"=>[{"age"=>["12"]}]}
9
+ Xml.deserialise(http_response).should == {"ooga"=>[{"age"=>["12"]}]}
10
10
  end
11
11
  end
12
12
  end
@@ -0,0 +1,9 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper'
2
+
3
+ module Wrest::Components
4
+ describe Translators do
5
+ it "should know how to raise an exception if the mime type doesn't exist" do
6
+ lambda{ Translators.lookup('weird/unknown')}.should raise_error(Wrest::Exceptions::UnsupportedContentTypeException)
7
+ end
8
+ end
9
+ end
@@ -17,6 +17,6 @@ describe Hash, 'conversions' do
17
17
  end
18
18
  end
19
19
 
20
- {'ooga' => 'booga'}.to_mutated_hash(StringToSymbolMutator.new).should == {:ooga => 'booga'}
20
+ {'ooga' => 'booga'}.mutate_using(StringToSymbolMutator.new).should == {:ooga => 'booga'}
21
21
  end
22
22
  end
@@ -38,7 +38,7 @@ module Wrest
38
38
  it "should know how to create an instance using deserialised attributes" do
39
39
  # Json => {"lead_bottle"=>{"name"=>"Wooz", "id"=>1, "universe_id"=>nil}}
40
40
  # Xml => {"lead-bottle"=>[{"name"=>["Wooz"], "universe-id"=>[{"type"=>"integer", "nil"=>"true"}], "id"=>[{"type"=>"integer", "content"=>"1"}]}]}
41
- universe = @BottledUniverse.new "name"=>"Wooz", "id"=>1, "universe_id"=>nil, 'owner_id'=>nil
41
+ universe = @BottledUniverse.new "name"=>"Wooz", "id"=>'1', "universe_id"=>nil, 'owner_id'=>nil
42
42
  universe.name.should == "Wooz"
43
43
  universe.owner_id.should be_nil
44
44
  universe.id.should == 1
@@ -4,8 +4,8 @@ module Wrest
4
4
  describe Response do
5
5
  it "should know how to delegate to a translator" do
6
6
  http_response = mock('response')
7
- Translators::Xml.should_receive(:call).with(http_response)
8
- Response.new(http_response).deserialise_using(Translators::Xml)
7
+ Components::Translators::Xml.should_receive(:deserialise).with(http_response)
8
+ Response.new(http_response).deserialise_using(Components::Translators::Xml)
9
9
  end
10
10
 
11
11
  it "should know how to load a translator based on content type" do
@@ -13,7 +13,7 @@ module Wrest
13
13
  http_response.should_receive(:content_type).and_return('application/xml')
14
14
 
15
15
  response = Response.new(http_response)
16
- response.should_receive(:deserialise_using).with(Translators::Xml)
16
+ response.should_receive(:deserialise_using).with(Components::Translators::Xml)
17
17
 
18
18
  response.deserialise
19
19
  end
@@ -109,9 +109,9 @@ module Wrest
109
109
  http = mock(Net::HTTP)
110
110
  Net::HTTP.should_receive(:new).with('localhost', 3000).and_return(http)
111
111
 
112
- http.should_receive(:delete).with('/glassware', {'page' => '2', 'per_page' => '5'}).and_return(build_ok_response(nil))
112
+ http.should_receive(:delete).with('/glassware?owner=Kai&type=bottle', {'page' => '2', 'per_page' => '5'}).and_return(build_ok_response(nil))
113
113
 
114
- uri.delete(:page => '2', :per_page => '5')
114
+ uri.delete({:owner => 'Kai', :type => 'bottle'}, :page => '2', :per_page => '5')
115
115
  end
116
116
 
117
117
  it "should not mutate state of the uri across requests" do
metadata CHANGED
@@ -1,31 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
- required_ruby_version: !ruby/object:Gem::Requirement
3
- requirements:
4
- - - '>='
5
- - !ruby/object:Gem::Version
6
- version: "0"
7
- version:
8
- email: ckponnappa@gmail.com
9
- cert_chain: []
2
+ extensions: []
10
3
 
11
- summary: REST client library for Ruby.
12
- post_install_message:
13
- extra_rdoc_files:
14
- - README.rdoc
15
4
  homepage: http://github.com/kaiwren/wrest
16
- signing_key:
17
- name: wrest
18
- rdoc_options:
19
- - --charset=UTF-8
20
- autorequire:
21
- rubyforge_project: wrest
22
5
  executables:
23
6
  - wrest
24
- description: Wrest is a REST client library which allows you to quickly build object
25
- oriented wrappers around any web service. It has two main components - Wrest Core
26
- and Wrest::Resource.
27
- specification_version: 2
28
- default_executable: wrest
7
+ version: !ruby/object:Gem::Version
8
+ version: 0.0.6
9
+ post_install_message:
10
+ date: 2009-04-23 18:30:00 +00:00
29
11
  files:
30
12
  - README.rdoc
31
13
  - Rakefile
@@ -38,21 +20,24 @@ files:
38
20
  - lib/wrest/components/attributes_container.rb
39
21
  - lib/wrest/components/mutators.rb
40
22
  - lib/wrest/components/mutators/base.rb
23
+ - lib/wrest/components/mutators/camel_to_snake_case.rb
41
24
  - lib/wrest/components/mutators/xml_simple_type_caster.rb
25
+ - lib/wrest/components/translators.rb
26
+ - lib/wrest/components/translators/content_types.rb
27
+ - lib/wrest/components/translators/json.rb
28
+ - lib/wrest/components/translators/xml.rb
29
+ - lib/wrest/components/typecast_helpers.rb
42
30
  - lib/wrest/core_ext/hash.rb
43
31
  - lib/wrest/core_ext/hash/conversions.rb
44
32
  - lib/wrest/core_ext/string.rb
45
33
  - lib/wrest/core_ext/string/conversions.rb
46
34
  - lib/wrest/exceptions.rb
35
+ - lib/wrest/exceptions/method_not_overridden_exception.rb
47
36
  - lib/wrest/exceptions/unsupported_content_type_exception.rb
48
37
  - lib/wrest/resource.rb
49
38
  - lib/wrest/resource/base.rb
50
39
  - lib/wrest/resource/collection.rb
51
40
  - lib/wrest/response.rb
52
- - lib/wrest/translators.rb
53
- - lib/wrest/translators/content_types.rb
54
- - lib/wrest/translators/json.rb
55
- - lib/wrest/translators/xml.rb
56
41
  - lib/wrest/uri.rb
57
42
  - lib/wrest/uri_template.rb
58
43
  - lib/wrest/version.rb
@@ -62,78 +47,98 @@ files:
62
47
  - spec/spec_helper.rb
63
48
  - spec/wrest/components/attributes_container_spec.rb
64
49
  - spec/wrest/components/mutators/base_spec.rb
50
+ - spec/wrest/components/mutators/camel_to_snake_spec.rb
65
51
  - spec/wrest/components/mutators/xml_simple_type_caster_spec.rb
52
+ - spec/wrest/components/translators/xml_spec.rb
53
+ - spec/wrest/components/translators_spec.rb
66
54
  - spec/wrest/core_ext/hash/conversions_spec.rb
67
55
  - spec/wrest/core_ext/string/conversions_spec.rb
68
56
  - spec/wrest/resource/base_spec.rb
69
57
  - spec/wrest/response_spec.rb
70
- - spec/wrest/translators/xml_spec.rb
71
- - spec/wrest/translators_spec.rb
72
58
  - spec/wrest/uri_spec.rb
73
59
  - spec/wrest/uri_template_spec.rb
60
+ rubygems_version: 1.3.1
61
+ rdoc_options:
62
+ - --charset=UTF-8
63
+ signing_key:
64
+ cert_chain: []
65
+
66
+ name: wrest
67
+ has_rdoc: true
68
+ platform: java
69
+ summary: REST client library for Ruby.
70
+ default_executable: wrest
71
+ bindir: bin
74
72
  required_rubygems_version: !ruby/object:Gem::Requirement
73
+ version:
75
74
  requirements:
76
75
  - - '>='
77
76
  - !ruby/object:Gem::Version
78
77
  version: "0"
78
+ required_ruby_version: !ruby/object:Gem::Requirement
79
79
  version:
80
- extensions: []
81
-
82
- rubygems_version: 1.3.1
83
- requirements: []
84
-
85
- authors:
86
- - Sidu Ponnappa
87
- date: 2009-04-20 18:30:00 +00:00
88
- platform: java
80
+ requirements:
81
+ - - '>='
82
+ - !ruby/object:Gem::Version
83
+ version: "0"
84
+ require_paths:
85
+ - lib
86
+ specification_version: 2
89
87
  test_files:
90
88
  - spec/spec_helper.rb
91
89
  - spec/custom_matchers/custom_matchers.rb
92
90
  - spec/wrest/response_spec.rb
93
- - spec/wrest/translators_spec.rb
94
91
  - spec/wrest/uri_spec.rb
95
92
  - spec/wrest/uri_template_spec.rb
96
93
  - spec/wrest/components/attributes_container_spec.rb
94
+ - spec/wrest/components/translators_spec.rb
97
95
  - spec/wrest/components/mutators/base_spec.rb
96
+ - spec/wrest/components/mutators/camel_to_snake_spec.rb
98
97
  - spec/wrest/components/mutators/xml_simple_type_caster_spec.rb
98
+ - spec/wrest/components/translators/xml_spec.rb
99
99
  - spec/wrest/core_ext/hash/conversions_spec.rb
100
100
  - spec/wrest/core_ext/string/conversions_spec.rb
101
101
  - spec/wrest/resource/base_spec.rb
102
- - spec/wrest/translators/xml_spec.rb
103
- version: !ruby/object:Gem::Version
104
- version: 0.0.5
105
- require_paths:
106
- - lib
107
102
  dependencies:
108
103
  - !ruby/object:Gem::Dependency
104
+ type: :runtime
105
+ name: activesupport
106
+ version_requirement:
109
107
  version_requirements: !ruby/object:Gem::Requirement
108
+ version:
110
109
  requirements:
111
110
  - - '>='
112
111
  - !ruby/object:Gem::Version
113
112
  version: 2.1.0
114
- version:
113
+ - !ruby/object:Gem::Dependency
115
114
  type: :runtime
115
+ name: xml-simple
116
116
  version_requirement:
117
- name: activesupport
118
- - !ruby/object:Gem::Dependency
119
117
  version_requirements: !ruby/object:Gem::Requirement
118
+ version:
120
119
  requirements:
121
120
  - - '>='
122
121
  - !ruby/object:Gem::Version
123
122
  version: 1.0.11
124
- version:
123
+ - !ruby/object:Gem::Dependency
125
124
  type: :runtime
125
+ name: json-jruby
126
126
  version_requirement:
127
- name: xml-simple
128
- - !ruby/object:Gem::Dependency
129
127
  version_requirements: !ruby/object:Gem::Requirement
128
+ version:
130
129
  requirements:
131
130
  - - '>='
132
131
  - !ruby/object:Gem::Version
133
132
  version: 1.1.3
134
- version:
135
- type: :runtime
136
- version_requirement:
137
- name: json-jruby
138
- bindir: bin
139
- has_rdoc: true
133
+ description: Wrest is a REST client library which allows you to quickly build object
134
+ oriented wrappers around any web service. It has two main components - Wrest Core
135
+ and Wrest::Resource.
136
+ email: ckponnappa@gmail.com
137
+ authors:
138
+ - Sidu Ponnappa
139
+ extra_rdoc_files:
140
+ - README.rdoc
141
+ requirements: []
142
+
143
+ rubyforge_project: wrest
144
+ autorequire:
@@ -1,9 +0,0 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
2
-
3
- module Wrest
4
- describe Translators do
5
- it "should know how to raise an exception if the mime type doesn't exist" do
6
- lambda{ Translators.load('weird/unknown')}.should raise_error(UnsupportedContentTypeException)
7
- end
8
- end
9
- end