Hi, We''ve a pretty large rails application and we are currently deciding moving a part of the application front-end to a desktop GUI. For communication between application and GUI we decided to use an API. So basically what I need is a way to have our models functionality accessible by the GUI. The basic idea: Rails app provides API for models <-> HTTPS Connection <-> GUI can access models with correct authentication I took a look to ActionWebservice, but I''m not sure if this is the best solution. My concern: The application has currently about 90 models. If I understood AWS correctly, I need to create an API class for every model and a ''service'' for every model I want to serve? Is there an automation script for this or is there a more direct approach to my problem ? Thanks! -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
You create just one class API dir: RAILS_ROOT/app/apis/myserver_api.rb class MyserverApi < ActionWebService::API::Base api_method :list_products, :expects => [:string], :returns => [:string] api_method :list_users, :expects => [:string], :returns => [:string] api_method :list_orders, :expects => [:string], :returns => [:string] end dir: RAILS_ROOT/app/controller/myserver_controller.rb class MyserverController < ApplicationController wsdl_service_name ''Myserver'' web_service_api MyserverApi def list_products(str) end def list_users(str) end def list_orders(str) end end In the api you put all the method that are in the controller and after you use your models inside your controller. You can do the job with one API class definition or you split in more for how many controllers you have. Or if you already have your controllers done, you just need to write some API 2007/6/19, joaz <rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org>:> > Hi, > > We''ve a pretty large rails application and we are currently deciding > moving a part of the application front-end to a desktop GUI. > > For communication between application and GUI we decided to use an API. > So basically what I need is a way to have our models functionality > accessible by the GUI. > > The basic idea: > > Rails app provides API for models <-> HTTPS Connection <-> GUI can > access models with correct authentication > > I took a look to ActionWebservice, but I''m not sure if this is the best > solution. > > My concern: The application has currently about 90 models. If I > understood AWS correctly, I need to create an API class for every model > and a ''service'' for every model I want to serve? > > Is there an automation script for this or is there a more direct > approach to my problem ? > > Thanks! > > -- > Posted via http://www.ruby-forum.com/. > > > >--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
> Or if you already have your controllers done, you just need to write > some APIWenn 95% of all controller actions just grabs some data like def list @people = Person.find(:all) end I tried something like this: api_method :list, :returns => [[Person]] But I get an error when accessing via invoke using the SOAP protocol: "decimal is not a valid base type" on numeric fields in our postgresql database. -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
api_method :list, :returns => [[:string]] with this returns an array with one record for each row 2007/6/19, joaz <rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org>:> > > Or if you already have your controllers done, you just need to write > > some API > Wenn 95% of all controller actions just grabs some data like > > def list > @people = Person.find(:all) > end > > I tried something like this: > api_method :list, :returns => [[Person]] > > But I get an error when accessing via invoke using the SOAP protocol: > "decimal is not a valid base type" on numeric fields in our postgresql > database. > > > -- > Posted via http://www.ruby-forum.com/. > > > >--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
claudio wrote:> api_method :list, :returns => [[:string]] > > with this returns an array with one record for each rowwell in my case this returns an array with Object.to_s ["#<Person:0xb701e23c>", "#<Person:0xb701e0d4>",...] -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---