playerconnect-wsdsl 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
data/.rvmrc_example CHANGED
@@ -2,7 +2,7 @@ gemset_name=wsdsl
2
2
  ruby_version=1.9.2-p180
3
3
  rubygems_version=1.8.5
4
4
  # specify multiple gems with spaces ex: ('foo 1.2.3' 'bar 5.6.7')
5
- gems=('jeweler 1.6.4' 'rspec 2.6.0' 'yard 0.7.2')
5
+ gems=('jeweler 1.6.4' 'rspec 2.6.0' 'yard 0.7.2' 'rack-test 0.5.7' 'sinatra 1.2.0')
6
6
 
7
7
  export GIT_SSL_NO_VERIFY=true
8
8
 
@@ -12,4 +12,4 @@ for g in "${gems[@]}"; do
12
12
  read n v <<< $(echo $g | awk '{print $1 " " $2}')
13
13
  gem list ${n} -v${v} -i >> /dev/null
14
14
  [ $? -eq 0 ] || gem install ${n} -v${v} --no-ri --no-rdoc
15
- done
15
+ done
data/Rakefile CHANGED
@@ -9,9 +9,9 @@ Jeweler::Tasks.new do |gem|
9
9
  gem.license = "MIT"
10
10
  gem.summary = %Q{Web Service DSL}
11
11
  gem.description = %Q{A Ruby DSL describing Web Services without implementation details.}
12
- gem.email = "sdod@scea.com"
12
+ gem.email = "sdod"
13
13
  gem.authors = ["Team SDOD"]
14
- gem.version = "0.2.2"
14
+ gem.version = "0.2.3"
15
15
  # Include your dependencies below. Runtime dependencies are required when using your gem,
16
16
  # and development dependencies are only needed for development (ie running rake tasks, tests, etc)
17
17
  # gem.add_runtime_dependency 'jabber4r', '> 0.1'
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.0
1
+ 0.2.3
data/lib/wsdsl.rb CHANGED
@@ -76,18 +76,6 @@ class WSDSL
76
76
  # @api public
77
77
  attr_reader :controller
78
78
 
79
- # Name of the controller action associated with the service
80
- #
81
- # @return [String]
82
- # @api public
83
- attr_accessor :action
84
-
85
- # Name of the controller associated with the service
86
- #
87
- # @return [String]
88
- # @api public
89
- attr_accessor :controller_name
90
-
91
79
  # Name of the service
92
80
  #
93
81
  # @return [String]
@@ -238,7 +226,7 @@ class WSDSL
238
226
  def enable_ssl
239
227
  @ssl = true
240
228
  end
241
-
229
+
242
230
  # Mark the current service as not accepting any params.
243
231
  # This is purely for expressing the developer's objective since
244
232
  # by default an error is raise if no params are defined and some
@@ -273,7 +261,27 @@ class WSDSL
273
261
  f_types.each{|f| @formats << f unless @formats.include?(f) }
274
262
  @formats
275
263
  end
276
-
264
+
265
+ # Sets and/or returns the service action
266
+ # @param [String, Symbol] a Action to use for the service, such as :show
267
+ #
268
+ # @return Symbol The service action
269
+ # @api public
270
+ def action(a=nil)
271
+ @action = a.to_sym if a
272
+ @action
273
+ end
274
+
275
+ # Sets and/or returns the controller name
276
+ # @param [String, Symbol] cn Controller name to use for the service
277
+ #
278
+ # @return String The controller name
279
+ # @api public
280
+ def controller_name(cn=nil)
281
+ @controller_name = cn.to_s if cn
282
+ @controller_name
283
+ end
284
+
277
285
  # Sets the accepted HTTP verbs or return it if nothing is passed.
278
286
  #
279
287
  # @return [String, Symbol]
@@ -5,13 +5,13 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{playerconnect-wsdsl}
8
- s.version = "0.2.2"
8
+ s.version = "0.2.3"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = [%q{Team SDOD}]
12
- s.date = %q{2011-07-07}
12
+ s.date = %q{2011-07-10}
13
13
  s.description = %q{A Ruby DSL describing Web Services without implementation details.}
14
- s.email = %q{sdod@scea.com}
14
+ s.email = %q{sdod}
15
15
  s.extra_rdoc_files = [
16
16
  "LICENSE",
17
17
  "README.md"
data/spec/wsdsl_spec.rb CHANGED
@@ -9,15 +9,15 @@ describe WSDSL do
9
9
 
10
10
  it "should have an url" do
11
11
  # dummy test since that's how we found the service, but oh well
12
- @service.url.should == 'services/test.xml'
12
+ @service.url.should be == 'services/test.xml'
13
13
  end
14
14
 
15
15
  it "should have some http verbs defined" do
16
- @service.verb.should == :get
16
+ @service.verb.should be == :get
17
17
  end
18
18
 
19
19
  it "should have supported formats defined" do
20
- @service.formats.should == [:xml, :json]
20
+ @service.formats.should be == [:xml, :json]
21
21
  end
22
22
 
23
23
  it "should have params info" do
@@ -25,76 +25,76 @@ describe WSDSL do
25
25
  end
26
26
 
27
27
  it "should have direct access to the required params" do
28
- @service.required_rules.should == @service.params.list_required
28
+ @service.required_rules.should be == @service.params.list_required
29
29
  end
30
30
 
31
31
  it "should have direct access to the optional params" do
32
- @service.optional_rules.should == @service.params.list_optional
32
+ @service.optional_rules.should be == @service.params.list_optional
33
33
  end
34
34
 
35
35
  it "should have direct access to the nested params" do
36
- @service.nested_params.should == @service.params.namespaced_params
36
+ @service.nested_params.should be == @service.params.namespaced_params
37
37
  end
38
38
 
39
39
  it "should set the controller accordingly" do
40
40
  @service.controller_name.should_not be_nil
41
- @service.controller_name.should == 'ServicesController'
41
+ @service.controller_name.should be == 'ServicesController'
42
42
  service = WSDSL.new("preferences.xml")
43
- service.name.should == 'preferences'
44
- ExtlibCopy.classify('preferences').should == 'Preferences'
45
- service.controller_name.should == 'PreferencesController'
43
+ service.name.should be == 'preferences'
44
+ ExtlibCopy.classify('preferences').should be == 'Preferences'
45
+ service.controller_name.should be == 'PreferencesController'
46
46
  end
47
47
 
48
48
  it "should set the action accordingly" do
49
49
  @service.action.should_not be_nil
50
- @service.action.should == 'test'
50
+ @service.action.should be == 'test'
51
51
  end
52
52
 
53
53
  it "should support restful routes based on the HTTP verb" do
54
54
  service = WSList.all.find{|s| s.url == "services.xml"}
55
55
  service.should_not be_nil
56
- service.http_verb.should == :put
56
+ service.http_verb.should be == :put
57
57
  service.action.should_not be_nil
58
- service.controller_name.should == 'ServicesController'
59
- service.action.should == 'update'
58
+ service.controller_name.should be == 'ServicesController'
59
+ service.action.should be == 'update'
60
60
  end
61
61
 
62
62
  it "should have a default action" do
63
63
  service = WSDSL.new('spec_test.xml')
64
- service.action.should == 'list'
64
+ service.action.should be == 'list'
65
65
  end
66
66
 
67
67
  it "should route to show when an id is the last passed param" do
68
68
  service = WSDSL.new("players/:id.xml")
69
- service.action.should == 'show'
69
+ service.action.should be == 'show'
70
70
  end
71
71
 
72
72
  it "should support some extra attributes" do
73
73
  service = WSDSL.new("players/:id.xml")
74
74
  service.extra[:custom_name] = 'fooBar'
75
- service.extra[:custom_name].should == 'fooBar'
75
+ service.extra[:custom_name].should be == 'fooBar'
76
76
  end
77
77
 
78
78
  it "should respect the global controller pluralization flag" do
79
79
  WSDSL.use_pluralized_controllers = true
80
80
  service = WSDSL.new("player/:id.xml")
81
- service.controller_name.should == "PlayersController"
81
+ service.controller_name.should be == "PlayersController"
82
82
  service = WSDSL.new("players/:id.xml")
83
- service.controller_name.should == "PlayersController"
83
+ service.controller_name.should be == "PlayersController"
84
84
  WSDSL.use_pluralized_controllers = false
85
85
  service = WSDSL.new("player/:id.xml")
86
- service.controller_name.should == "PlayerController"
86
+ service.controller_name.should be == "PlayerController"
87
87
  end
88
88
 
89
89
 
90
90
  it "should let overwrite the controller name and action after initialization" do
91
91
  describe_service "players/:id.xml" do |service|
92
- service.controller_name = "CustomController"
93
- service.action = "foo"
92
+ service.controller_name "CustomController"
93
+ service.action :foo
94
94
  end
95
95
  service = WSList.all.find{|s| s.url == "players/:id.xml"}
96
- service.controller_name.should == "CustomController"
97
- service.action.should == "foo"
96
+ service.controller_name.should be == "CustomController"
97
+ service.action.should be == :foo
98
98
  end
99
99
 
100
100
  describe WSDSL::Params do
@@ -106,23 +106,23 @@ describe WSDSL do
106
106
  it "should have the possibility to have a space name" do
107
107
  @sparams.should respond_to(:space_name)
108
108
  service_params = WSDSL::Params.new(:space_name => 'spec_test')
109
- service_params.space_name.should == 'spec_test'
109
+ service_params.space_name.should be == 'spec_test'
110
110
  end
111
111
 
112
112
  it "should have a list of required param rules" do
113
113
  @sparams.list_required.should be_an_instance_of(Array)
114
- @sparams.list_required.length.should == 1
114
+ @sparams.list_required.length.should be == 1
115
115
  end
116
116
 
117
117
  it "should have a list of optional param rules" do
118
118
  @sparams.list_optional.should be_an_instance_of(Array)
119
- @sparams.list_optional.length.should == 4
119
+ @sparams.list_optional.length.should be == 4
120
120
  end
121
121
 
122
122
  it "should have a list of namespaced param rules" do
123
123
  @sparams.namespaced_params.should be_an_instance_of(Array)
124
- @sparams.namespaced_params.length.should == 1
125
- @sparams.namespaced_params.first.space_name.should == :user
124
+ @sparams.namespaced_params.length.should be == 1
125
+ @sparams.namespaced_params.first.space_name.should be == :user
126
126
  end
127
127
 
128
128
  describe WSDSL::Params::Rule do
@@ -132,12 +132,12 @@ describe WSDSL do
132
132
  end
133
133
 
134
134
  it "should have a name" do
135
- @rule.name.should == :framework
135
+ @rule.name.should be == :framework
136
136
  end
137
137
 
138
138
  it "should have options" do
139
- @rule.options[:type].should == :string
140
- @rule.options[:in].should == WSDSLSpecOptions
139
+ @rule.options[:type].should be == :string
140
+ @rule.options[:in].should be == WSDSLSpecOptions
141
141
  @rule.options[:null].should be_false
142
142
  end
143
143
  end
@@ -155,13 +155,13 @@ describe WSDSL do
155
155
  end
156
156
 
157
157
  it "should have an overall description" do
158
- @doc.desc.strip.should == "This is a test service used to test the framework."
158
+ @doc.desc.strip.should be == "This is a test service used to test the framework."
159
159
  end
160
160
 
161
161
  it "should have a list of params doc" do
162
162
  @doc.params_doc.should be_an_instance_of(Hash)
163
- @doc.params_doc.keys.sort.should == [:framework, :version]
164
- @doc.params_doc[:framework].should == "The test framework used, could be one of the two following: #{WSDSLSpecOptions.join(", ")}."
163
+ @doc.params_doc.keys.sort.should be == [:framework, :version]
164
+ @doc.params_doc[:framework].should be == "The test framework used, could be one of the two following: #{WSDSLSpecOptions.join(", ")}."
165
165
  end
166
166
 
167
167
  it "should allow to define namespaced params doc" do
@@ -172,14 +172,14 @@ describe WSDSL do
172
172
  end
173
173
  end
174
174
  service.doc.namespaced_params.should_not be_empty
175
- ns = service.doc.namespaced_params.find{|ns| ns.name == :preference}
175
+ ns = service.doc.namespaced_params.find{|nsp| nsp.name == :preference}
176
176
  ns.should_not be_nil
177
- ns.params[:id].should == "Ze id."
177
+ ns.params[:id].should be == "Ze id."
178
178
  end
179
179
 
180
180
  it "should have an optional list of examples" do
181
181
  @doc.examples.should be_an_instance_of(Array)
182
- @doc.examples.first.should == <<-DOC
182
+ @doc.examples.first.should be == <<-DOC
183
183
  The most common way to use this service looks like that:
184
184
  http://example.com/services/test.xml?framework=rspec&version=2.0.0
185
185
  DOC
@@ -192,19 +192,19 @@ The most common way to use this service looks like that:
192
192
  it "should have documentation for the response elements via the response itself" do
193
193
  @service.response.elements.first.should_not be_nil
194
194
  @service.response.elements.first.doc.should_not be_nil
195
- @service.response.elements.first.doc.name.should == "player_creation_ratings"
195
+ @service.response.elements.first.doc.name.should be == "player_creation_ratings"
196
196
  end
197
197
 
198
198
  it "should have documentation for a response element attribute" do
199
199
  @service.response.elements.first.doc.attributes.should_not be_empty
200
- @service.response.elements.first.doc.attributes[:id].should == "id doc"
200
+ @service.response.elements.first.doc.attributes[:id].should be == "id doc"
201
201
  end
202
202
 
203
203
  it "should have documentation for a response element array" do
204
204
  element = @service.response.elements.first
205
205
  element.arrays.should_not be_empty
206
- element.arrays.first.name.should == "player_creation_rating"
207
- element.arrays.first.obj_type.should == "PlayerCreationRating"
206
+ element.arrays.first.name.should be == "player_creation_rating"
207
+ element.arrays.first.obj_type.should be == "PlayerCreationRating"
208
208
  element.arrays.first.attributes.should_not be_empty
209
209
  end
210
210
 
@@ -213,8 +213,8 @@ The most common way to use this service looks like that:
213
213
  array = element.arrays.first
214
214
  attribute = array.attributes.find{|att| att.name == :comments }
215
215
  attribute.should_not be_nil
216
- attribute.name.should == :comments # just in case we change the way to find the attribute
217
- attribute.doc.should == "comments doc"
216
+ attribute.name.should be == :comments # just in case we change the way to find the attribute
217
+ attribute.doc.should be == "comments doc"
218
218
  end
219
219
 
220
220
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: playerconnect-wsdsl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,10 +9,10 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-07-07 00:00:00.000000000Z
12
+ date: 2011-07-10 00:00:00.000000000Z
13
13
  dependencies: []
14
14
  description: A Ruby DSL describing Web Services without implementation details.
15
- email: sdod@scea.com
15
+ email: sdod
16
16
  executables: []
17
17
  extensions: []
18
18
  extra_rdoc_files: