wrest 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. data/README.rdoc +31 -17
  2. data/Rakefile +147 -134
  3. data/VERSION.yml +1 -1
  4. data/bin/jwrest +3 -0
  5. data/bin/wrest +1 -20
  6. data/bin/wrest_shell.rb +21 -0
  7. data/lib/wrest/components.rb +4 -1
  8. data/lib/wrest/components/attributes_container.rb +65 -10
  9. data/lib/wrest/{translators/xml.rb → components/mutators.rb} +11 -13
  10. data/lib/wrest/components/mutators/base.rb +43 -0
  11. data/lib/wrest/components/mutators/camel_to_snake_case.rb +20 -0
  12. data/lib/wrest/components/mutators/xml_simple_type_caster.rb +35 -0
  13. data/lib/wrest/{translators.rb → components/translators.rb} +6 -7
  14. data/lib/wrest/{translators → components/translators}/content_types.rb +5 -5
  15. data/lib/wrest/components/translators/json.rb +22 -0
  16. data/lib/wrest/components/translators/xml.rb +26 -0
  17. data/lib/wrest/components/typecast_helpers.rb +41 -0
  18. data/lib/wrest/core_ext/hash.rb +5 -0
  19. data/lib/wrest/core_ext/hash/conversions.rb +44 -0
  20. data/lib/wrest/exceptions.rb +6 -1
  21. data/lib/wrest/exceptions/method_not_overridden_exception.rb +17 -0
  22. data/lib/wrest/exceptions/unsupported_content_type_exception.rb +11 -9
  23. data/lib/wrest/resource/base.rb +5 -1
  24. data/lib/wrest/response.rb +2 -2
  25. data/lib/wrest/uri.rb +3 -3
  26. data/lib/wrest/version.rb +1 -1
  27. data/spec/spec_helper.rb +2 -1
  28. data/spec/wrest/components/attributes_container_spec.rb +66 -11
  29. data/spec/wrest/components/mutators/base_spec.rb +38 -0
  30. data/spec/wrest/components/mutators/camel_to_snake_spec.rb +22 -0
  31. data/spec/wrest/components/mutators/xml_simple_type_caster_spec.rb +47 -0
  32. data/spec/wrest/{translators → components/translators}/xml_spec.rb +3 -3
  33. data/spec/wrest/components/translators_spec.rb +9 -0
  34. data/spec/wrest/core_ext/hash/conversions_spec.rb +22 -0
  35. data/{lib/wrest/translators/json.rb → spec/wrest/core_ext/string/conversions_spec.rb} +4 -9
  36. data/spec/wrest/resource/base_spec.rb +1 -1
  37. data/spec/wrest/response_spec.rb +3 -3
  38. data/spec/wrest/uri_spec.rb +2 -2
  39. metadata +34 -19
  40. data/lib/wrest/translators/typed_hash.rb +0 -4
  41. data/spec/wrest/core_ext/string_spec.rb +0 -7
  42. data/spec/wrest/translators/typed_hash_spec.rb +0 -9
  43. data/spec/wrest/translators_spec.rb +0 -9
@@ -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,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wrest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sidu Ponnappa
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-04-20 00:00:00 +05:30
12
+ date: 2009-04-24 00:00:00 +05:30
13
13
  default_executable: wrest
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -23,24 +23,24 @@ dependencies:
23
23
  version: 2.1.0
24
24
  version:
25
25
  - !ruby/object:Gem::Dependency
26
- name: json
26
+ name: xml-simple
27
27
  type: :runtime
28
28
  version_requirement:
29
29
  version_requirements: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 1.1.3
33
+ version: 1.0.11
34
34
  version:
35
35
  - !ruby/object:Gem::Dependency
36
- name: xml-simple
36
+ name: json
37
37
  type: :runtime
38
38
  version_requirement:
39
39
  version_requirements: !ruby/object:Gem::Requirement
40
40
  requirements:
41
41
  - - ">="
42
42
  - !ruby/object:Gem::Version
43
- version: 1.0.11
43
+ version: 1.1.3
44
44
  version:
45
45
  description: Wrest is a REST client library which allows you to quickly build object oriented wrappers around any web service. It has two main components - Wrest Core and Wrest::Resource.
46
46
  email: ckponnappa@gmail.com
@@ -54,23 +54,32 @@ files:
54
54
  - README.rdoc
55
55
  - Rakefile
56
56
  - VERSION.yml
57
+ - bin/jwrest
57
58
  - bin/wrest
59
+ - bin/wrest_shell.rb
58
60
  - lib/wrest.rb
59
61
  - lib/wrest/components.rb
60
62
  - lib/wrest/components/attributes_container.rb
63
+ - lib/wrest/components/mutators.rb
64
+ - lib/wrest/components/mutators/base.rb
65
+ - lib/wrest/components/mutators/camel_to_snake_case.rb
66
+ - lib/wrest/components/mutators/xml_simple_type_caster.rb
67
+ - lib/wrest/components/translators.rb
68
+ - lib/wrest/components/translators/content_types.rb
69
+ - lib/wrest/components/translators/json.rb
70
+ - lib/wrest/components/translators/xml.rb
71
+ - lib/wrest/components/typecast_helpers.rb
72
+ - lib/wrest/core_ext/hash.rb
73
+ - lib/wrest/core_ext/hash/conversions.rb
61
74
  - lib/wrest/core_ext/string.rb
62
75
  - lib/wrest/core_ext/string/conversions.rb
63
76
  - lib/wrest/exceptions.rb
77
+ - lib/wrest/exceptions/method_not_overridden_exception.rb
64
78
  - lib/wrest/exceptions/unsupported_content_type_exception.rb
65
79
  - lib/wrest/resource.rb
66
80
  - lib/wrest/resource/base.rb
67
81
  - lib/wrest/resource/collection.rb
68
82
  - lib/wrest/response.rb
69
- - lib/wrest/translators.rb
70
- - lib/wrest/translators/content_types.rb
71
- - lib/wrest/translators/json.rb
72
- - lib/wrest/translators/typed_hash.rb
73
- - lib/wrest/translators/xml.rb
74
83
  - lib/wrest/uri.rb
75
84
  - lib/wrest/uri_template.rb
76
85
  - lib/wrest/version.rb
@@ -79,12 +88,15 @@ files:
79
88
  - spec/spec.opts
80
89
  - spec/spec_helper.rb
81
90
  - spec/wrest/components/attributes_container_spec.rb
82
- - spec/wrest/core_ext/string_spec.rb
91
+ - spec/wrest/components/mutators/base_spec.rb
92
+ - spec/wrest/components/mutators/camel_to_snake_spec.rb
93
+ - spec/wrest/components/mutators/xml_simple_type_caster_spec.rb
94
+ - spec/wrest/components/translators/xml_spec.rb
95
+ - spec/wrest/components/translators_spec.rb
96
+ - spec/wrest/core_ext/hash/conversions_spec.rb
97
+ - spec/wrest/core_ext/string/conversions_spec.rb
83
98
  - spec/wrest/resource/base_spec.rb
84
99
  - spec/wrest/response_spec.rb
85
- - spec/wrest/translators/typed_hash_spec.rb
86
- - spec/wrest/translators/xml_spec.rb
87
- - spec/wrest/translators_spec.rb
88
100
  - spec/wrest/uri_spec.rb
89
101
  - spec/wrest/uri_template_spec.rb
90
102
  has_rdoc: true
@@ -119,11 +131,14 @@ test_files:
119
131
  - spec/custom_matchers/custom_matchers.rb
120
132
  - spec/spec_helper.rb
121
133
  - spec/wrest/components/attributes_container_spec.rb
122
- - spec/wrest/core_ext/string_spec.rb
134
+ - spec/wrest/components/mutators/base_spec.rb
135
+ - spec/wrest/components/mutators/camel_to_snake_spec.rb
136
+ - spec/wrest/components/mutators/xml_simple_type_caster_spec.rb
137
+ - spec/wrest/components/translators/xml_spec.rb
138
+ - spec/wrest/components/translators_spec.rb
139
+ - spec/wrest/core_ext/hash/conversions_spec.rb
140
+ - spec/wrest/core_ext/string/conversions_spec.rb
123
141
  - spec/wrest/resource/base_spec.rb
124
142
  - spec/wrest/response_spec.rb
125
- - spec/wrest/translators/typed_hash_spec.rb
126
- - spec/wrest/translators/xml_spec.rb
127
- - spec/wrest/translators_spec.rb
128
143
  - spec/wrest/uri_spec.rb
129
144
  - spec/wrest/uri_template_spec.rb
@@ -1,4 +0,0 @@
1
- module Wrest::Translators
2
- class TypedHash
3
- end
4
- end
@@ -1,7 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
2
-
3
- describe String, 'extensions' do
4
- it "should know how to convert a string to a Wrest::Uri" do
5
- 'http://localhost:3000'.to_uri.should == Wrest::Uri.new('http://localhost:3000')
6
- end
7
- end
@@ -1,9 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
2
-
3
- module Wrest::Translators
4
- describe TypedHash do
5
- it "should description" do
6
-
7
- end
8
- end
9
- end
@@ -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