aboutsummaryrefslogtreecommitdiffstats
path: root/actionwebservice/lib/action_web_service/support/signature_types.rb
diff options
context:
space:
mode:
Diffstat (limited to 'actionwebservice/lib/action_web_service/support/signature_types.rb')
-rw-r--r--actionwebservice/lib/action_web_service/support/signature_types.rb9
1 files changed, 3 insertions, 6 deletions
diff --git a/actionwebservice/lib/action_web_service/support/signature_types.rb b/actionwebservice/lib/action_web_service/support/signature_types.rb
index 5c57254bc3..a7ee2fc773 100644
--- a/actionwebservice/lib/action_web_service/support/signature_types.rb
+++ b/actionwebservice/lib/action_web_service/support/signature_types.rb
@@ -9,12 +9,9 @@ module ActionWebService # :nodoc:
def canonical_signature_entry(spec, i)
name = "param#{i}"
if spec.is_a?(Hash)
- name = spec.keys.first
- spec = spec.values.first
- type = spec
- else
- type = spec
+ name, spec = spec.keys.first, spec.values.first
end
+ type = spec
if spec.is_a?(Array)
ArrayType.new(canonical_signature_entry(spec[0], 0), name)
else
@@ -173,7 +170,7 @@ module ActionWebService # :nodoc:
yield name, type
end
elsif @type_class.respond_to?(:columns)
- i = 0
+ i = -1
@type_class.columns.each do |column|
yield column.name, canonical_signature_entry(column.klass, i += 1)
end