Pluginizing ActionWebService to work on Edge rails

June 4, 2007

I recently updated a project at work to Edge rails to take advantage of ActiveResource - as a result, ActionWebService went away. We've known for a long time AWS was on it's way out, but I was hoping a plugin version would be created prior to it's removal - which in all fairness may still be the case, Edge rails is not exactly a release.

ActiveResource/REST is much nicer, but we needed SOAP... So I set about making it work on Edge. Turns out this is pretty easy - go into your plugins directory, and svn export actionwebservice:

cd myproject/vendor/plugins
$ svn export http://svn.rubyonrails.org/rails/trunk/actionwebservice/ actionwebservice

Then go into the directory and create a init.rb - this needs to do three things - require AWS, fix the load paths, and require the test helpers when in test environment.

require 'action_web_service'
# These need to be in the load path for action_web_service to work
Dependencies.load_paths += ["#{RAILS_ROOT}/app/apis"]
  
# AWS Test helpers
require 'action_web_service/test_invoke' if ENV['RAILS_ENV'] == 'test' 

That's it! I did find another solution on how to hack it back in, but I decided to turn it into a plugin instead.

Comments

There are no comments for this post.

Add comment

Blog Archives

Recent Comments