wsdsl 0.0.3 → 0.1.0

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/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.3
1
+ 0.1.0
@@ -166,7 +166,7 @@ module ParamsVerification
166
166
 
167
167
  def self.unexpected_params?(params, param_names)
168
168
  # Raise an exception unless no unexpected params were found
169
- unexpected_keys = (params.keys(&:to_s) - param_names)
169
+ unexpected_keys = (params.keys - param_names)
170
170
  unless unexpected_keys.empty?
171
171
  raise UnexpectedParam, "Request included unexpected parameter(s): #{unexpected_keys.join(', ')}"
172
172
  end
data/lib/wsdsl.rb CHANGED
@@ -18,7 +18,7 @@ require File.expand_path('ws_list', File.dirname(__FILE__))
18
18
  #
19
19
  # WSDSL
20
20
  # |
21
- # |__ service options (name, url, SSL, auth required formats, verbs, controller name, action, version)
21
+ # |__ service options (name, url, SSL, auth required formats, verbs, controller name, action, version, extra)
22
22
  # |__ defined_params (instance of WSDSL::Params)
23
23
  # | | | |_ Optional param rules
24
24
  # | | |_ Required param rules
@@ -32,14 +32,11 @@ require File.expand_path('ws_list', File.dirname(__FILE__))
32
32
  # | | | |_ overal) description
33
33
  # | | |_ examples (array of examples as strings)
34
34
  # | |_ params documentation (Hash with the key being the param name and the value being the param documentation)
35
- #
36
- #
37
- #
38
35
  # |_ response (instance of Documentation.new)
39
36
  # |_ elements (array of instances of WSDSL::Documentation::ElementDoc, each element has a name and a list of attributes)
40
37
  # |_ attributes (Hash with the key being the attribute name and the value being the attribute's documentation)
41
38
  #
42
- # @since 0.1
39
+ # @since 0.0.3
43
40
  # @api public
44
41
  class WSDSL
45
42
 
@@ -108,7 +105,13 @@ class WSDSL
108
105
  # @return [Boolean]
109
106
  # @api public
110
107
  attr_reader :auth_required
111
-
108
+
109
+ # Extra placeholder to store data in based on developer's discretion.
110
+ #
111
+ # @return [Hash] A hash storing extra data based.
112
+ # @api public
113
+ # @since 0.1
114
+ attr_reader :extra
112
115
 
113
116
  # Service constructor which is usually used via {Kernel#describe_service}
114
117
  #
@@ -128,6 +131,7 @@ class WSDSL
128
131
  @version = '0.1'
129
132
  @ssl = false
130
133
  @auth_required = true
134
+ @extra = {}
131
135
  end
132
136
 
133
137
  # Offers a way to dispatch the service at runtime
data/spec/wsdsl_spec.rb CHANGED
@@ -69,6 +69,12 @@ describe WSDSL do
69
69
  service.action.should == 'show'
70
70
  end
71
71
 
72
+ it "should support some extra attributes" do
73
+ service = WSDSL.new("players/:id.xml")
74
+ service.extra[:custom_name] = 'fooBar'
75
+ service.extra[:custom_name].should == 'fooBar'
76
+ end
77
+
72
78
  describe WSDSL::Params do
73
79
 
74
80
  before(:all) do
data/wsdsl.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{wsdsl}
8
- s.version = "0.0.3"
8
+ s.version = "0.1.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Matt Aimonetti"]
12
- s.date = %q{2011-03-04}
12
+ s.date = %q{2011-03-14}
13
13
  s.description = %q{A Ruby DSL describing Web Services without implementation details.}
14
14
  s.email = %q{mattaimonetti@gmail.com}
15
15
  s.extra_rdoc_files = [
metadata CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 0
7
+ - 1
7
8
  - 0
8
- - 3
9
- version: 0.0.3
9
+ version: 0.1.0
10
10
  platform: ruby
11
11
  authors:
12
12
  - Matt Aimonetti
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2011-03-04 00:00:00 -08:00
17
+ date: 2011-03-14 00:00:00 -07:00
18
18
  default_executable:
19
19
  dependencies: []
20
20