From fcfe3febd3cbf535dbd4ae47563b4876f7a42239 Mon Sep 17 00:00:00 2001 From: Leon Breedt Date: Sun, 3 Apr 2005 00:12:11 +0000 Subject: allow selecting the protocol to use when invoking the scaffolded method. fix bug in walking delegated container services. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1074 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- actionwebservice/lib/action_web_service/api/base.rb | 2 +- actionwebservice/lib/action_web_service/scaffolding.rb | 2 +- actionwebservice/lib/action_web_service/struct.rb | 4 ++-- .../lib/action_web_service/templates/scaffolds/parameters.rhtml | 8 +++++++- 4 files changed, 11 insertions(+), 5 deletions(-) (limited to 'actionwebservice/lib') diff --git a/actionwebservice/lib/action_web_service/api/base.rb b/actionwebservice/lib/action_web_service/api/base.rb index c9fb9f967f..4548856d86 100644 --- a/actionwebservice/lib/action_web_service/api/base.rb +++ b/actionwebservice/lib/action_web_service/api/base.rb @@ -195,7 +195,7 @@ module ActionWebService # :nodoc: private def friendly_param(type, show_name=true) name = type.name.to_s - type_type = type.type.to_s + type_type = type.array?? type.element_type.type.to_s : type.type.to_s str = type.array?? (type_type + '[]') : type_type show_name ? (str + " " + name) : str end diff --git a/actionwebservice/lib/action_web_service/scaffolding.rb b/actionwebservice/lib/action_web_service/scaffolding.rb index 0fab01eced..e0938faf66 100644 --- a/actionwebservice/lib/action_web_service/scaffolding.rb +++ b/actionwebservice/lib/action_web_service/scaffolding.rb @@ -168,7 +168,7 @@ module ActionWebService if @real_container.class.web_service_dispatching_mode == :direct @services << Service.new(@real_container.controller_name, @real_container) else - @real_container.class.web_services.each do |name| + @real_container.class.web_services.each do |name, obj| @services << Service.new(name, @real_container.instance_eval{ web_service_object(name) }) end end diff --git a/actionwebservice/lib/action_web_service/struct.rb b/actionwebservice/lib/action_web_service/struct.rb index c5e6346bfa..f2bfba9e30 100644 --- a/actionwebservice/lib/action_web_service/struct.rb +++ b/actionwebservice/lib/action_web_service/struct.rb @@ -16,8 +16,8 @@ module ActionWebService # end # person = Person.new(:id => 5, :firstname => 'john', :lastname => 'doe') # - # Active Record model classes are already implicitly supported for method - # return signatures. + # Active Record model classes are already implicitly supported in method + # signatures. class Struct # If a Hash is given as argument to an ActionWebService::Struct constructor, diff --git a/actionwebservice/lib/action_web_service/templates/scaffolds/parameters.rhtml b/actionwebservice/lib/action_web_service/templates/scaffolds/parameters.rhtml index e62d234c1a..64548360ad 100644 --- a/actionwebservice/lib/action_web_service/templates/scaffolds/parameters.rhtml +++ b/actionwebservice/lib/action_web_service/templates/scaffolds/parameters.rhtml @@ -1,9 +1,15 @@ -

Method Parameters for <%= @scaffold_service %>#<%= @scaffold_method.public_name %>

+

Method Invocation Details for <%= @scaffold_service %>#<%= @scaffold_method.public_name %>

<%= form_tag :action => @scaffold_action_name + '_submit' %> <%= hidden_field_tag "service", @scaffold_service.name %> <%= hidden_field_tag "method", @scaffold_method.public_name %> +

+
+<%= select_tag 'protocol', options_for_select([['SOAP', 'soap'], ['XML-RPC', 'xmlrpc']], @params['protocol']) %> +

+ +Method Parameters:
<% i = 0 %> <% @scaffold_method.expects.each do |type| %>

-- cgit v1.2.3