yamlrpc 0.2.3 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Manifest.txt +107 -6
- data/README.txt +39 -10
- data/Rakefile +31 -23
- data/examples/README.txt +8 -0
- data/examples/examples_helper.rb +5 -0
- data/examples/girlfriend.jpg +0 -0
- data/examples/rails_basic_add_foo_bar.rb +6 -0
- data/examples/rails_basic_hello_world.rb +6 -0
- data/examples/rails_basic_hello_world_with_status.rb +8 -0
- data/examples/rails_basic_redirect_to_hello_world.rb +6 -0
- data/examples/rails_basic_redirect_twice_to_hello_world.rb +6 -0
- data/examples/rails_basic_unnamed_arguments.rb +6 -0
- data/examples/rails_basic_upload_image.rb +9 -0
- data/examples/rails_example/README +203 -0
- data/examples/rails_example/Rakefile +10 -0
- data/examples/rails_example/app/controllers/api/authenticated_controller.rb +2 -0
- data/examples/rails_example/app/controllers/api/basic_controller.rb +68 -0
- data/examples/rails_example/app/controllers/application.rb +10 -0
- data/examples/rails_example/app/helpers/api/authenticated_helper.rb +2 -0
- data/examples/rails_example/app/helpers/api/basic_helper.rb +2 -0
- data/examples/rails_example/app/helpers/application_helper.rb +3 -0
- data/examples/rails_example/config/boot.rb +109 -0
- data/examples/rails_example/config/database.yml +19 -0
- data/examples/rails_example/config/environment.rb +61 -0
- data/examples/rails_example/config/environments/development.rb +21 -0
- data/examples/rails_example/config/environments/production.rb +19 -0
- data/examples/rails_example/config/environments/test.rb +22 -0
- data/examples/rails_example/config/initializers/inflections.rb +10 -0
- data/examples/rails_example/config/initializers/mime_types.rb +5 -0
- data/examples/rails_example/config/routes.rb +35 -0
- data/examples/rails_example/db/development.sqlite3 +0 -0
- data/examples/rails_example/doc/README_FOR_APP +4 -0
- data/examples/rails_example/log/development.log +6 -0
- data/examples/rails_example/log/test.log +1 -0
- data/examples/rails_example/public/.htaccess +40 -0
- data/examples/rails_example/public/404.html +30 -0
- data/examples/rails_example/public/422.html +30 -0
- data/examples/rails_example/public/500.html +30 -0
- data/examples/rails_example/public/dispatch.cgi +10 -0
- data/examples/rails_example/public/dispatch.fcgi +24 -0
- data/examples/rails_example/public/dispatch.rb +10 -0
- data/examples/rails_example/public/favicon.ico +0 -0
- data/examples/rails_example/public/images/rails.png +0 -0
- data/examples/rails_example/public/index.html +277 -0
- data/examples/rails_example/public/javascripts/application.js +2 -0
- data/examples/rails_example/public/javascripts/controls.js +963 -0
- data/examples/rails_example/public/javascripts/dragdrop.js +972 -0
- data/examples/rails_example/public/javascripts/effects.js +1120 -0
- data/examples/rails_example/public/javascripts/prototype.js +4225 -0
- data/examples/rails_example/public/robots.txt +5 -0
- data/examples/rails_example/script/about +3 -0
- data/examples/rails_example/script/console +3 -0
- data/examples/rails_example/script/destroy +3 -0
- data/examples/rails_example/script/generate +3 -0
- data/examples/rails_example/script/performance/benchmarker +3 -0
- data/examples/rails_example/script/performance/profiler +3 -0
- data/examples/rails_example/script/performance/request +3 -0
- data/examples/rails_example/script/plugin +3 -0
- data/examples/rails_example/script/process/inspector +3 -0
- data/examples/rails_example/script/process/reaper +3 -0
- data/examples/rails_example/script/process/spawner +3 -0
- data/examples/rails_example/script/runner +3 -0
- data/examples/rails_example/script/server +3 -0
- data/examples/rails_example/test/functional/api/authenticated_controller_test.rb +8 -0
- data/examples/rails_example/test/functional/api/basic_controller_test.rb +8 -0
- data/examples/rails_example/test/test_helper.rb +38 -0
- data/lib/yamlrpc/client.rb +59 -32
- data/lib/yamlrpc.rb +1 -1
- metadata +110 -7
- data/examples/common_root_example.rb +0 -13
- data/examples/helper.rb +0 -3
- data/examples/image_example.rb +0 -15
- data/examples/pdf_example.pdf +0 -0
- data/examples/pdf_example.rb +0 -26
- data/examples/simple_example.rb +0 -13
@@ -0,0 +1,38 @@
|
|
1
|
+
ENV["RAILS_ENV"] = "test"
|
2
|
+
require File.expand_path(File.dirname(__FILE__) + "/../config/environment")
|
3
|
+
require 'test_help'
|
4
|
+
|
5
|
+
class Test::Unit::TestCase
|
6
|
+
# Transactional fixtures accelerate your tests by wrapping each test method
|
7
|
+
# in a transaction that's rolled back on completion. This ensures that the
|
8
|
+
# test database remains unchanged so your fixtures don't have to be reloaded
|
9
|
+
# between every test method. Fewer database queries means faster tests.
|
10
|
+
#
|
11
|
+
# Read Mike Clark's excellent walkthrough at
|
12
|
+
# http://clarkware.com/cgi/blosxom/2005/10/24#Rails10FastTesting
|
13
|
+
#
|
14
|
+
# Every Active Record database supports transactions except MyISAM tables
|
15
|
+
# in MySQL. Turn off transactional fixtures in this case; however, if you
|
16
|
+
# don't care one way or the other, switching from MyISAM to InnoDB tables
|
17
|
+
# is recommended.
|
18
|
+
#
|
19
|
+
# The only drawback to using transactional fixtures is when you actually
|
20
|
+
# need to test transactions. Since your test is bracketed by a transaction,
|
21
|
+
# any transactions started in your code will be automatically rolled back.
|
22
|
+
self.use_transactional_fixtures = true
|
23
|
+
|
24
|
+
# Instantiated fixtures are slow, but give you @david where otherwise you
|
25
|
+
# would need people(:david). If you don't want to migrate your existing
|
26
|
+
# test cases which use the @david style and don't mind the speed hit (each
|
27
|
+
# instantiated fixtures translates to a database query per test method),
|
28
|
+
# then set this back to true.
|
29
|
+
self.use_instantiated_fixtures = false
|
30
|
+
|
31
|
+
# Setup all fixtures in test/fixtures/*.(yml|csv) for all tests in alphabetical order.
|
32
|
+
#
|
33
|
+
# Note: You'll currently still have to declare fixtures explicitly in integration tests
|
34
|
+
# -- they do not yet inherit this setting
|
35
|
+
fixtures :all
|
36
|
+
|
37
|
+
# Add more helper methods to be used by all tests here...
|
38
|
+
end
|
data/lib/yamlrpc/client.rb
CHANGED
@@ -2,8 +2,8 @@
|
|
2
2
|
#
|
3
3
|
# Example usage:
|
4
4
|
#
|
5
|
-
#
|
6
|
-
#
|
5
|
+
# yamlrpc = YamlRpc.new('http://rubyforge.org/projects/yamlrpc/')
|
6
|
+
# yamlrpc.foo({
|
7
7
|
# :bar => 'foo-bar'
|
8
8
|
# )
|
9
9
|
#
|
@@ -17,11 +17,11 @@
|
|
17
17
|
#
|
18
18
|
# On the server side you can use (Ruby on Rails):
|
19
19
|
#
|
20
|
-
# YAML::load(params[:
|
20
|
+
# YAML::load(params[:yamlrpc])[:foo]
|
21
21
|
#
|
22
22
|
# or in PHP:
|
23
23
|
#
|
24
|
-
# $data = syck_load($_POST['
|
24
|
+
# $data = syck_load($_POST['yamlrpc']);
|
25
25
|
# $data['foo']
|
26
26
|
#
|
27
27
|
# See examples in /examples directory
|
@@ -29,62 +29,89 @@ module YamlRpc
|
|
29
29
|
|
30
30
|
class Client
|
31
31
|
|
32
|
-
DEFAULT_FORM_DATA_ROOT = :
|
32
|
+
DEFAULT_FORM_DATA_ROOT = :yamlrpc
|
33
33
|
DEFAULT_OPEN_TIMEOUT = 120 # 2 minutes
|
34
34
|
DEFAULT_READ_TIMEOUT = 120 # 2 minutes
|
35
35
|
|
36
|
-
attr_accessor :
|
36
|
+
attr_accessor :uri
|
37
37
|
attr_accessor :form_data_root
|
38
38
|
attr_accessor :open_timeout
|
39
39
|
attr_accessor :read_timeout
|
40
|
+
attr_accessor :user
|
41
|
+
attr_accessor :password
|
42
|
+
attr_accessor :permanent_data
|
40
43
|
|
41
|
-
# * <tt>
|
44
|
+
# * <tt>uri</tt> Root url, ie. "http://my.com/something/"; YamlRpc#some_method(:foo => 'bar') will POST to http://my.com/something/some_method with { :foo => 'bar' } params
|
42
45
|
# * <tt>options</tt>
|
43
46
|
# * <tt>:form_data_root</tt> Default to :yamlrpc, meaning all params are passed inside :yamlrpc form field
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
47
|
+
# * <tt>:open_timeout</tt> Open timeout
|
48
|
+
# * <tt>:read_timeout</tt> Read timeout
|
49
|
+
# * <tt>:user</tt> Basic http auth, user name
|
50
|
+
# * <tt>:password</tt> Basic http auth, password
|
51
|
+
def initialize(uri, options = {})
|
52
|
+
@open_timeout = options[:open_timeout]
|
53
|
+
@read_timeout = options[:read_timeout]
|
54
|
+
@user = options[:user]
|
55
|
+
@password = options[:password]
|
56
|
+
@permanent_data = options[:permanent_data]
|
57
|
+
@uri = URI.parse(uri.to_s)
|
58
|
+
@form_data_root = options[:form_data_root] || DEFAULT_FORM_DATA_ROOT
|
49
59
|
end
|
50
60
|
|
51
|
-
# * <tt>
|
61
|
+
# * <tt>uri</tt> Method name (mainly) or full uri (to support redirects to other domains)
|
52
62
|
# * <tt>args</tt> Arguments, nil or Hash of values
|
53
|
-
def method_missing(
|
54
|
-
|
63
|
+
def method_missing(uri, *args)
|
64
|
+
args = args.first if args.size == 1 && args.first.is_a?(Hash)
|
65
|
+
uri = URI.parse(uri.to_s)
|
66
|
+
if uri.host.nil?
|
67
|
+
uri.host = @uri.host
|
68
|
+
uri.port = @uri.port
|
69
|
+
end
|
70
|
+
uri.path = "#{@uri.path}#{uri.path}" unless uri.path =~ /^\//
|
71
|
+
post(uri, args)
|
55
72
|
end
|
56
73
|
|
57
74
|
protected
|
58
75
|
|
59
|
-
# * <tt>
|
60
|
-
# * <tt>args</tt>
|
61
|
-
def post(
|
62
|
-
|
63
|
-
req
|
64
|
-
req.
|
65
|
-
http = Net::HTTP.new(
|
76
|
+
# * <tt>uri</tt> URI instance
|
77
|
+
# * <tt>args</tt> Optional data to be passed as POST fields, ie: { :status => 'SUCCESS', :message => 'All ok' }
|
78
|
+
def post(uri, args = nil)
|
79
|
+
req = Net::HTTP::Post.new(uri.path)
|
80
|
+
req.set_form_data(args_to_form_data(args) || {}, ';')
|
81
|
+
#req.basic_auth @user, @password if @user && @password
|
82
|
+
http = Net::HTTP.new(uri.host, uri.port)
|
66
83
|
http.open_timeout = @open_timeout
|
67
84
|
http.read_timeout = @read_timeout
|
68
85
|
res = http.start { |http| http.request(req) }
|
69
86
|
case res
|
70
87
|
when Net::HTTPSuccess
|
71
88
|
YAML::load(res.body)
|
89
|
+
when Net::HTTPRedirection
|
90
|
+
redirect_uri = URI.parse(res['location'])
|
91
|
+
if redirect_uri.host.nil?
|
92
|
+
redirect_uri.host = uri.host
|
93
|
+
redirect_uri.port = uri.port
|
94
|
+
end
|
95
|
+
post(redirect_uri, args)
|
72
96
|
else
|
73
97
|
res.error!
|
74
98
|
end
|
75
99
|
end
|
76
100
|
|
77
|
-
# POST form data
|
78
|
-
#
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
101
|
+
# POST form data is always passed in YamlRpc#form_data_root variable name
|
102
|
+
# * <tt>args</tt>
|
103
|
+
def args_to_form_data(args = nil)
|
104
|
+
args = @permanent_data if args.nil? # HACK: this is hack as hell but logically ok for merging to work for nil args
|
105
|
+
unless @permanent_data.nil?
|
106
|
+
if @permanent_data.respond_to?('merge')
|
107
|
+
args = @permanent_data.merge(args)
|
108
|
+
elsif @permanent_data.respond_to?('+')
|
109
|
+
args = @permanent_data + args
|
110
|
+
else
|
111
|
+
raise ArgumentError.new("Can't merge #{@permanent_data.class} and #{args.class}")
|
112
|
+
end
|
86
113
|
end
|
87
|
-
|
114
|
+
{ @form_data_root.to_sym => YAML::dump(args) }
|
88
115
|
end
|
89
116
|
|
90
117
|
end
|
data/lib/yamlrpc.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: yamlrpc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mirek Rusin
|
@@ -32,6 +32,8 @@ extra_rdoc_files:
|
|
32
32
|
- History.txt
|
33
33
|
- Manifest.txt
|
34
34
|
- README.txt
|
35
|
+
- examples/rails_example/public/robots.txt
|
36
|
+
- examples/README.txt
|
35
37
|
files:
|
36
38
|
- History.txt
|
37
39
|
- Manifest.txt
|
@@ -40,12 +42,113 @@ files:
|
|
40
42
|
- lib/yamlrpc/client.rb
|
41
43
|
- lib/yamlrpc/helpers.rb
|
42
44
|
- lib/yamlrpc.rb
|
43
|
-
- examples
|
44
|
-
- examples/
|
45
|
-
- examples/
|
46
|
-
- examples/
|
47
|
-
- examples/
|
48
|
-
- examples/
|
45
|
+
- examples
|
46
|
+
- examples/examples_helper.rb
|
47
|
+
- examples/girlfriend.jpg
|
48
|
+
- examples/rails_basic_add_foo_bar.rb
|
49
|
+
- examples/rails_basic_hello_world.rb
|
50
|
+
- examples/rails_basic_hello_world_with_status.rb
|
51
|
+
- examples/rails_basic_redirect_to_hello_world.rb
|
52
|
+
- examples/rails_basic_redirect_twice_to_hello_world.rb
|
53
|
+
- examples/rails_basic_unnamed_arguments.rb
|
54
|
+
- examples/rails_basic_upload_image.rb
|
55
|
+
- examples/rails_example
|
56
|
+
- examples/rails_example/app
|
57
|
+
- examples/rails_example/app/controllers
|
58
|
+
- examples/rails_example/app/controllers/api
|
59
|
+
- examples/rails_example/app/controllers/api/authenticated_controller.rb
|
60
|
+
- examples/rails_example/app/controllers/api/basic_controller.rb
|
61
|
+
- examples/rails_example/app/controllers/application.rb
|
62
|
+
- examples/rails_example/app/helpers
|
63
|
+
- examples/rails_example/app/helpers/api
|
64
|
+
- examples/rails_example/app/helpers/api/authenticated_helper.rb
|
65
|
+
- examples/rails_example/app/helpers/api/basic_helper.rb
|
66
|
+
- examples/rails_example/app/helpers/application_helper.rb
|
67
|
+
- examples/rails_example/app/models
|
68
|
+
- examples/rails_example/app/views
|
69
|
+
- examples/rails_example/app/views/api
|
70
|
+
- examples/rails_example/app/views/api/authenticated
|
71
|
+
- examples/rails_example/app/views/api/basic
|
72
|
+
- examples/rails_example/app/views/layouts
|
73
|
+
- examples/rails_example/config
|
74
|
+
- examples/rails_example/config/boot.rb
|
75
|
+
- examples/rails_example/config/database.yml
|
76
|
+
- examples/rails_example/config/environment.rb
|
77
|
+
- examples/rails_example/config/environments
|
78
|
+
- examples/rails_example/config/environments/development.rb
|
79
|
+
- examples/rails_example/config/environments/production.rb
|
80
|
+
- examples/rails_example/config/environments/test.rb
|
81
|
+
- examples/rails_example/config/initializers
|
82
|
+
- examples/rails_example/config/initializers/inflections.rb
|
83
|
+
- examples/rails_example/config/initializers/mime_types.rb
|
84
|
+
- examples/rails_example/config/routes.rb
|
85
|
+
- examples/rails_example/db
|
86
|
+
- examples/rails_example/db/development.sqlite3
|
87
|
+
- examples/rails_example/doc
|
88
|
+
- examples/rails_example/doc/README_FOR_APP
|
89
|
+
- examples/rails_example/lib
|
90
|
+
- examples/rails_example/lib/tasks
|
91
|
+
- examples/rails_example/log
|
92
|
+
- examples/rails_example/log/development.log
|
93
|
+
- examples/rails_example/log/test.log
|
94
|
+
- examples/rails_example/public
|
95
|
+
- examples/rails_example/public/.htaccess
|
96
|
+
- examples/rails_example/public/404.html
|
97
|
+
- examples/rails_example/public/422.html
|
98
|
+
- examples/rails_example/public/500.html
|
99
|
+
- examples/rails_example/public/dispatch.cgi
|
100
|
+
- examples/rails_example/public/dispatch.fcgi
|
101
|
+
- examples/rails_example/public/dispatch.rb
|
102
|
+
- examples/rails_example/public/favicon.ico
|
103
|
+
- examples/rails_example/public/images
|
104
|
+
- examples/rails_example/public/images/rails.png
|
105
|
+
- examples/rails_example/public/index.html
|
106
|
+
- examples/rails_example/public/javascripts
|
107
|
+
- examples/rails_example/public/javascripts/application.js
|
108
|
+
- examples/rails_example/public/javascripts/controls.js
|
109
|
+
- examples/rails_example/public/javascripts/dragdrop.js
|
110
|
+
- examples/rails_example/public/javascripts/effects.js
|
111
|
+
- examples/rails_example/public/javascripts/prototype.js
|
112
|
+
- examples/rails_example/public/robots.txt
|
113
|
+
- examples/rails_example/public/stylesheets
|
114
|
+
- examples/rails_example/Rakefile
|
115
|
+
- examples/rails_example/README
|
116
|
+
- examples/rails_example/script
|
117
|
+
- examples/rails_example/script/about
|
118
|
+
- examples/rails_example/script/console
|
119
|
+
- examples/rails_example/script/destroy
|
120
|
+
- examples/rails_example/script/generate
|
121
|
+
- examples/rails_example/script/performance
|
122
|
+
- examples/rails_example/script/performance/benchmarker
|
123
|
+
- examples/rails_example/script/performance/profiler
|
124
|
+
- examples/rails_example/script/performance/request
|
125
|
+
- examples/rails_example/script/plugin
|
126
|
+
- examples/rails_example/script/process
|
127
|
+
- examples/rails_example/script/process/inspector
|
128
|
+
- examples/rails_example/script/process/reaper
|
129
|
+
- examples/rails_example/script/process/spawner
|
130
|
+
- examples/rails_example/script/runner
|
131
|
+
- examples/rails_example/script/server
|
132
|
+
- examples/rails_example/test
|
133
|
+
- examples/rails_example/test/fixtures
|
134
|
+
- examples/rails_example/test/functional
|
135
|
+
- examples/rails_example/test/functional/api
|
136
|
+
- examples/rails_example/test/functional/api/authenticated_controller_test.rb
|
137
|
+
- examples/rails_example/test/functional/api/basic_controller_test.rb
|
138
|
+
- examples/rails_example/test/integration
|
139
|
+
- examples/rails_example/test/mocks
|
140
|
+
- examples/rails_example/test/mocks/development
|
141
|
+
- examples/rails_example/test/mocks/test
|
142
|
+
- examples/rails_example/test/test_helper.rb
|
143
|
+
- examples/rails_example/test/unit
|
144
|
+
- examples/rails_example/tmp
|
145
|
+
- examples/rails_example/tmp/cache
|
146
|
+
- examples/rails_example/tmp/pids
|
147
|
+
- examples/rails_example/tmp/sessions
|
148
|
+
- examples/rails_example/tmp/sockets
|
149
|
+
- examples/rails_example/vendor
|
150
|
+
- examples/rails_example/vendor/plugins
|
151
|
+
- examples/README.txt
|
49
152
|
has_rdoc: true
|
50
153
|
homepage: http://rubyforge.com/projects/yamlrpc
|
51
154
|
post_install_message:
|
@@ -1,13 +0,0 @@
|
|
1
|
-
|
2
|
-
require 'helper'
|
3
|
-
|
4
|
-
client = YamlRpc::Client.new('http://localhost:3000/site/', :form_data_root => :yaml_rpc)
|
5
|
-
|
6
|
-
pp client.create_online_sales_order( :test => 'My test', :test2 => 'My test2' )[:response]
|
7
|
-
|
8
|
-
# On the server side, if you're using Ruby on Rails you may want to:
|
9
|
-
#
|
10
|
-
# def create_online_sales_order
|
11
|
-
# rpc_params = YamlRpc.decode(params[:yaml_rpc])
|
12
|
-
# render => YAML::dump({ :response => "Got your #{rpc_params.inspect}!" })
|
13
|
-
# end
|
data/examples/helper.rb
DELETED
data/examples/image_example.rb
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
|
2
|
-
require 'helper'
|
3
|
-
require 'open-uri'
|
4
|
-
|
5
|
-
client = YamlRpc::Client.new('http://localhost:3000/site/')
|
6
|
-
|
7
|
-
image = open('http://www.google.co.uk/intl/en_uk/images/logo.gif').read
|
8
|
-
|
9
|
-
pp client.send_image( :image => image )
|
10
|
-
|
11
|
-
# On the server side, if you're using Ruby on Rails you may want to:
|
12
|
-
#
|
13
|
-
# rpc_params = YamlRpc.decode(params, [:image])
|
14
|
-
# send_data rpc_params[:image],
|
15
|
-
# :content_type => 'image/gif'
|
data/examples/pdf_example.pdf
DELETED
Binary file
|
data/examples/pdf_example.rb
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
|
2
|
-
require 'helper'
|
3
|
-
require 'open-uri'
|
4
|
-
|
5
|
-
client = YamlRpc::Client.new('http://www.pdfonrails.com/api/yaml_rpc/')
|
6
|
-
|
7
|
-
params = {
|
8
|
-
:layout => 'basic',
|
9
|
-
:html => <<END
|
10
|
-
<h1>Hello world!</h1>
|
11
|
-
<p>
|
12
|
-
Hello <b>PDF</b> world!
|
13
|
-
</p>
|
14
|
-
<p>
|
15
|
-
<ul>
|
16
|
-
<li>Hello
|
17
|
-
<li><i>World</i>
|
18
|
-
<li>!!!
|
19
|
-
</ul>
|
20
|
-
</p>
|
21
|
-
END
|
22
|
-
}
|
23
|
-
|
24
|
-
pdf = open('pdf_example.pdf', 'wb')
|
25
|
-
pdf.write(client.pdf(params)[:pdf])
|
26
|
-
pdf.close
|
data/examples/simple_example.rb
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
|
2
|
-
require 'helper'
|
3
|
-
|
4
|
-
client = YamlRpc::Client.new('http://localhost:3000/site/')
|
5
|
-
|
6
|
-
pp client.create_online_sales_order( :test => 'My test' )[:response]
|
7
|
-
|
8
|
-
# On the server side, if you're using Ruby on Rails you may want to:
|
9
|
-
#
|
10
|
-
# def create_online_sales_order
|
11
|
-
# rpc_params = YamlRpc.decode(params, [:test])
|
12
|
-
# render => YAML::dump({ :response => "Got your #{rpc_params[:test]}!" })
|
13
|
-
# end
|