rack-rpc 0.0.11 → 0.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 311298de76636a71b540962d19cbeb05d0e9da44
4
- data.tar.gz: 0f3ec631aa8e0d4e4e7f8390298a849296d50557
3
+ metadata.gz: c52f2a2cbb56a77083080ffa9b54e20bad4c1900
4
+ data.tar.gz: 73c27439d83c02817f531d827d81ac384cb6b5cc
5
5
  SHA512:
6
- metadata.gz: d952513a405edada9932f9ee5aabb5cb7d03018cc078d5be9d61ab63f519db857819f45c61b5189a76feccd630a9fb2d756e3d6304450d11125139c4ac6524f6
7
- data.tar.gz: 0b3413eddcd109138d7fe6c015f6a8869446ca97e9a8e59f414c8e48da81724657eef9cf8a9d87d902920d6e49523e58db5dbc3c6ce31130b4491760c6a8514b
6
+ metadata.gz: a0f0d483d5e15203fdbb3cc7145c29ebeee1fb20db824ad55f297550aefbd262bd7e89a860539662ad25f8ef9c007b3cdefcf3d1cee15cd4d1e5cd94768e06fa
7
+ data.tar.gz: 82303a7c0600e0162ff5c20ac11de4c9123c33124532738fc29cc15c001582a099a1464260129f56667739fda202beb71ef8454533ffdf0e0fc187a191d3dbe7
@@ -1,3 +1,3 @@
1
1
  * Arto Bendiken <arto.bendiken@gmail.com>
2
2
  * Josh Huckabee <joshhuckabee@gmail.com>
3
- * Vincent Landgraf <vincent.landgraf@1und1.de>
3
+ * Vincent Landgraf
@@ -0,0 +1,166 @@
1
+ JSON-RPC/XML-RPC Server for Rack Applications
2
+ =============================================
3
+
4
+ [![Build Status](https://secure.travis-ci.org/rack-rpc/rack-rpc.png?branch=master)](http://travis-ci.org/rack-rpc/rack-rpc)
5
+
6
+ Version: {include:file:VERSION.txt}
7
+
8
+ * The latest documentation can always be found at <http://rack-rpc.github.io/rack-rpc>.
9
+ * Source code repository lives [here, at GitHub](http://github.com/rack-rpc/rack-rpc).
10
+ * The gems can be found [here, at RubyGems](http://rubygems.org/gems/rack-rpc).
11
+
12
+ **Rack::RPC** is [Rack][] middleware that facilitates the creation of
13
+ protocol-agnostic RPC servers. The current implementation provides support
14
+ for [JSON-RPC 2.0][] and [XML-RPC][].
15
+
16
+ * Handles JSON-RPC and XML-RPC requests with the same code.
17
+ * Compatible with any Rack application and any Rack-based framework.
18
+ * Provides Rails-style controller filtering for your RPC methods.
19
+
20
+
21
+ Examples
22
+ --------
23
+
24
+ ### A basic RPC server
25
+
26
+ ```ruby
27
+ require 'rack/rpc'
28
+
29
+ class Server < Rack::RPC::Server
30
+ def hello_world
31
+ "Hello, world!"
32
+ end
33
+ rpc 'hello_world' => :hello_world
34
+ end
35
+ ```
36
+
37
+ ### Simple filtering
38
+
39
+ ```ruby
40
+ require 'rack/rpc'
41
+
42
+ class Server < Rack::RPC::Server
43
+ before_filter :check_auth
44
+
45
+ def hello_world
46
+ "Hello, world!"
47
+ end
48
+ rpc 'hello_world' => :hello_world
49
+
50
+ private
51
+
52
+ def check_auth
53
+ raise "Not authorized" unless authorized
54
+ end
55
+ end
56
+ ```
57
+
58
+ ### Filtering via a proc with more options
59
+
60
+ ```ruby
61
+ require 'rack/rpc'
62
+
63
+ class Server < Rack::RPC::Server
64
+ before_filter :check_auth, :only => :super_secret_hello_world do
65
+ raise "Not authorized" unless authorized
66
+ end
67
+
68
+ def hello_world
69
+ "Hello, world!"
70
+ end
71
+ rpc 'hello_world' => :hello_world
72
+
73
+ def super_secret_hello_world
74
+ 'super_secret_hello_world'
75
+ end
76
+ rpc 'super_secret_hello_world' => :super_secret_hello_world
77
+ end
78
+ ```
79
+
80
+ ### Running the server
81
+
82
+ ```ruby
83
+ # config.ru
84
+ use Rack::RPC::Endpoint, Server.new
85
+
86
+ run MyApplication
87
+ ```
88
+
89
+ ### Customizing the default RPC path
90
+
91
+ ```ruby
92
+ # config.ru
93
+ use Rack::RPC::Endpoint, Server.new, :path => '/api'
94
+
95
+ run MyApplication
96
+ ```
97
+
98
+
99
+ More on Filters
100
+ ---------------
101
+
102
+ The `:only` and `:except` options for filters can take a single method or an
103
+ array of methods.
104
+
105
+ You can halt execution in a filter by raising an exception. An error
106
+ response will be returned with the exception's message set as the error
107
+ object's message text.
108
+
109
+
110
+ Communicationg with the Server
111
+ ------------------------------
112
+
113
+ By default, methods will only be invoked on `POST` requests to "/rpc". The
114
+ default path can be overridden by sending a `:path` option when creating
115
+ your middleware (see example above).
116
+
117
+ The protocol used is determined by the `CONTENT_TYPE` header
118
+ ("application/xml" and "text/xml" for XML and "application/json" for JSON).
119
+
120
+
121
+ Dependencies
122
+ ------------
123
+
124
+ * [Rack](http://rubygems.org/gems/rack) (>= 1.0.0)
125
+ * [Builder](http://rubygems.org/gems/builder) (>= 2.1.2)
126
+
127
+
128
+ Installation
129
+ ------------
130
+
131
+ The recommended installation method is via [RubyGems](https://rubygems.org/).
132
+ To install the latest official release of the gem, run:
133
+
134
+ ```bash
135
+ gem install rack-rpc
136
+ ```
137
+
138
+ To get a local working copy of the development repository, do:
139
+
140
+ ```bash
141
+ git clone git://github.com/rack-rpc/rack-rpc.git
142
+ ```
143
+
144
+ Alternatively, download the latest development version as a tarball as
145
+ follows:
146
+
147
+ ```bash
148
+ wget https://github.com/rack-rpc/rack-rpc/tarball/master
149
+ ```
150
+
151
+ Authors
152
+ -------
153
+
154
+ * [Arto Bendiken](https://github.com/bendiken) - <http://ar.to/>
155
+ * [Josh Huckabee](https://github.com/jhuckabee) - <http://joshhuckabee.com/>
156
+ * [Vincent Landgraf](https://github.com/threez)
157
+
158
+ License
159
+ -------
160
+
161
+ This is free and unencumbered public domain software. For more information,
162
+ see <http://unlicense.org/> or the accompanying {file:UNLICENSE.md} file.
163
+
164
+ [Rack]: http://rack.github.io/
165
+ [JSON-RPC 2.0]: http://www.jsonrpc.org/
166
+ [XML-RPC]: http://www.xmlrpc.com/
File without changes
@@ -0,0 +1 @@
1
+ 0.0.12
@@ -2,7 +2,7 @@ module Rack; module RPC
2
2
  module VERSION
3
3
  MAJOR = 0
4
4
  MINOR = 0
5
- TINY = 11
5
+ TINY = 12
6
6
  EXTRA = nil
7
7
 
8
8
  STRING = [MAJOR, MINOR, TINY, EXTRA].compact.join('.')
metadata CHANGED
@@ -1,139 +1,125 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-rpc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.11
4
+ version: 0.0.12
5
5
  platform: ruby
6
6
  authors:
7
- - Datagraph
7
+ - Arto Bendiken
8
+ - Josh Huckabee
8
9
  - Vincent Landgraf
9
- autorequire:
10
+ autorequire:
10
11
  bindir: bin
11
12
  cert_chain: []
12
- date: 2014-06-05 00:00:00.000000000 Z
13
+ date: 2014-06-07 00:00:00.000000000 Z
13
14
  dependencies:
14
15
  - !ruby/object:Gem::Dependency
15
- name: builder
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - '>='
18
+ - - ~>
19
19
  - !ruby/object:Gem::Version
20
20
  version: 2.1.2
21
- type: :runtime
21
+ name: builder
22
22
  prerelease: false
23
+ type: :runtime
23
24
  version_requirements: !ruby/object:Gem::Requirement
24
25
  requirements:
25
- - - '>='
26
+ - - ~>
26
27
  - !ruby/object:Gem::Version
27
28
  version: 2.1.2
28
29
  - !ruby/object:Gem::Dependency
29
- name: rack
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - '>='
32
+ - - ~>
33
33
  - !ruby/object:Gem::Version
34
34
  version: '1.0'
35
- type: :runtime
35
+ name: rack
36
36
  prerelease: false
37
+ type: :runtime
37
38
  version_requirements: !ruby/object:Gem::Requirement
38
39
  requirements:
39
- - - '>='
40
+ - - ~>
40
41
  - !ruby/object:Gem::Version
41
42
  version: '1.0'
42
43
  - !ruby/object:Gem::Dependency
43
- name: rake
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
46
  - - '>='
47
47
  - !ruby/object:Gem::Version
48
48
  version: '0'
49
- type: :development
49
+ name: rake
50
50
  prerelease: false
51
+ type: :development
51
52
  version_requirements: !ruby/object:Gem::Requirement
52
53
  requirements:
53
54
  - - '>='
54
55
  - !ruby/object:Gem::Version
55
56
  version: '0'
56
57
  - !ruby/object:Gem::Dependency
57
- name: json
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
60
  - - ~>
61
61
  - !ruby/object:Gem::Version
62
- version: 1.7.3
63
- type: :development
62
+ version: '1.7'
63
+ name: json
64
64
  prerelease: false
65
+ type: :development
65
66
  version_requirements: !ruby/object:Gem::Requirement
66
67
  requirements:
67
68
  - - ~>
68
69
  - !ruby/object:Gem::Version
69
- version: 1.7.3
70
+ version: '1.7'
70
71
  - !ruby/object:Gem::Dependency
71
- name: nokogiri
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
- - - '>='
74
+ - - ~>
75
75
  - !ruby/object:Gem::Version
76
76
  version: 1.4.4
77
- type: :development
77
+ name: nokogiri
78
78
  prerelease: false
79
+ type: :development
79
80
  version_requirements: !ruby/object:Gem::Requirement
80
81
  requirements:
81
- - - '>='
82
+ - - ~>
82
83
  - !ruby/object:Gem::Version
83
84
  version: 1.4.4
84
85
  - !ruby/object:Gem::Dependency
85
- name: yard
86
86
  requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
88
- - - '>='
89
- - !ruby/object:Gem::Version
90
- version: 0.6.0
91
- type: :development
92
- prerelease: false
93
- version_requirements: !ruby/object:Gem::Requirement
94
- requirements:
95
- - - '>='
88
+ - - ~>
96
89
  - !ruby/object:Gem::Version
97
- version: 0.6.0
98
- - !ruby/object:Gem::Dependency
90
+ version: '2.1'
99
91
  name: rspec
100
- requirement: !ruby/object:Gem::Requirement
101
- requirements:
102
- - - '>='
103
- - !ruby/object:Gem::Version
104
- version: 2.1.0
105
- type: :development
106
92
  prerelease: false
93
+ type: :development
107
94
  version_requirements: !ruby/object:Gem::Requirement
108
95
  requirements:
109
- - - '>='
96
+ - - ~>
110
97
  - !ruby/object:Gem::Version
111
- version: 2.1.0
98
+ version: '2.1'
112
99
  - !ruby/object:Gem::Dependency
113
- name: rack-test
114
100
  requirement: !ruby/object:Gem::Requirement
115
101
  requirements:
116
- - - '>='
102
+ - - ~>
117
103
  - !ruby/object:Gem::Version
118
104
  version: 0.5.6
119
- type: :development
105
+ name: rack-test
120
106
  prerelease: false
107
+ type: :development
121
108
  version_requirements: !ruby/object:Gem::Requirement
122
109
  requirements:
123
- - - '>='
110
+ - - ~>
124
111
  - !ruby/object:Gem::Version
125
112
  version: 0.5.6
126
- description: Rack middleware for serving up RPC endpoints.
127
- email: pieter@djinnit.com
113
+ description: Rack middleware for serving RPC endpoints.
114
+ email: pieterb@djinnit.com
128
115
  executables: []
129
116
  extensions: []
130
117
  extra_rdoc_files: []
131
118
  files:
132
- - AUTHORS
133
- - CREDITS
134
- - README
135
- - UNLICENSE
136
- - VERSION
119
+ - AUTHORS.md
120
+ - README.md
121
+ - UNLICENSE.md
122
+ - VERSION.txt
137
123
  - lib/rack/rpc.rb
138
124
  - lib/rack/rpc/endpoint.rb
139
125
  - lib/rack/rpc/endpoint/jsonrpc.rb
@@ -148,7 +134,7 @@ homepage: https://github.com/rack-rpc/rack-rpc
148
134
  licenses:
149
135
  - Public Domain
150
136
  metadata: {}
151
- post_install_message:
137
+ post_install_message:
152
138
  rdoc_options: []
153
139
  require_paths:
154
140
  - lib
@@ -163,10 +149,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
163
149
  - !ruby/object:Gem::Version
164
150
  version: '0'
165
151
  requirements: []
166
- rubyforge_project:
152
+ rubyforge_project:
167
153
  rubygems_version: 2.2.2
168
- signing_key:
154
+ signing_key:
169
155
  specification_version: 4
170
156
  summary: JSON-RPC/XML-RPC server for Rack applications.
171
157
  test_files: []
172
- has_rdoc: false
data/CREDITS DELETED
File without changes
data/README DELETED
@@ -1,149 +0,0 @@
1
- JSON-RPC/XML-RPC Server for Rack Applications [![Build Status](https://secure.travis-ci.org/threez/rack-rpc.png?branch=master)](http://travis-ci.org/threez/rack-rpc)
2
- =============================================
3
-
4
- This is a [Rack][] middleware that facilitates the creation of
5
- protocol-agnostic RPC servers. The current implementation provides support
6
- for [JSON-RPC 2.0][] and [XML-RPC][].
7
-
8
- * <https://github.com/datagraph/rack-rpc>
9
-
10
- Features
11
- --------
12
-
13
- * Handles JSON-RPC and XML-RPC requests with the same code.
14
- * Compatible with any Rack application and any Rack-based framework.
15
- * Provides Rails-style controller filtering for your RPC methods.
16
-
17
- Examples
18
- --------
19
-
20
- ### A basic RPC server
21
-
22
- require 'rack/rpc'
23
-
24
- class Server < Rack::RPC::Server
25
- def hello_world
26
- "Hello, world!"
27
- end
28
- rpc 'hello_world' => :hello_world
29
- end
30
-
31
- ### Simple filtering
32
-
33
- require 'rack/rpc'
34
-
35
- class Server < Rack::RPC::Server
36
- before_filter :check_auth
37
-
38
- def hello_world
39
- "Hello, world!"
40
- end
41
- rpc 'hello_world' => :hello_world
42
-
43
- private
44
-
45
- def check_auth
46
- raise "Not authorized" unless authorized
47
- end
48
- end
49
-
50
- ### Filtering via a proc with more options
51
-
52
- require 'rack/rpc'
53
-
54
- class Server < Rack::RPC::Server
55
- before_filter :check_auth, :only => :super_secret_hello_world do
56
- raise "Not authorized" unless authorized
57
- end
58
-
59
- def hello_world
60
- "Hello, world!"
61
- end
62
- rpc 'hello_world' => :hello_world
63
-
64
- def super_secret_hello_world
65
- 'super_secret_hello_world'
66
- end
67
- rpc 'super_secret_hello_world' => :super_secret_hello_world
68
- end
69
-
70
- ### Running the server
71
-
72
- # config.ru
73
- use Rack::RPC::Endpoint, Server.new
74
-
75
- run MyApplication
76
-
77
- ### Customizing the default RPC path
78
-
79
- # config.ru
80
- use Rack::RPC::Endpoint, Server.new, :path => '/api'
81
-
82
- run MyApplication
83
-
84
- More on Filters
85
- ---------------
86
-
87
- The `:only` and `:except` options for filters can take a single method or an
88
- array of methods.
89
-
90
- You can halt execution in a filter by raising an exception. An error
91
- response will be returned with the exception's message set as the error
92
- object's message text.
93
-
94
- Communicationg with the Server
95
- ------------------------------
96
-
97
- By default, methods will only be invoked on `POST` requests to "/rpc". The
98
- default path can be overridden by sending a `:path` option when creating
99
- your middleware (see example above).
100
-
101
- The protocol used is determined by the `CONTENT_TYPE` header
102
- ("application/xml" and "text/xml" for XML and "application/json" for JSON).
103
-
104
- Dependencies
105
- ------------
106
-
107
- * [Rack](http://rubygems.org/gems/rack) (>= 1.0.0)
108
- * [Builder](http://rubygems.org/gems/builder) (>= 2.1.2)
109
-
110
- Installation
111
- ------------
112
-
113
- The recommended installation method is via [RubyGems](http://rubygems.org/).
114
- To install the latest official release of the gem, do:
115
-
116
- % [sudo] gem install rack-rpc
117
-
118
- Download
119
- --------
120
-
121
- To get a local working copy of the development repository, do:
122
-
123
- % git clone git://github.com/datagraph/rack-rpc.git
124
-
125
- Alternatively, download the latest development version as a tarball as
126
- follows:
127
-
128
- % wget http://github.com/datagraph/rack-rpc/tarball/master
129
-
130
- Mailing List
131
- ------------
132
-
133
- * <http://groups.google.com/group/rack-devel>
134
-
135
- Authors
136
- -------
137
-
138
- * [Arto Bendiken](https://github.com/bendiken) - <http://ar.to/>
139
- * [Josh Huckabee](https://github.com/jhuckabee) - <http://joshhuckabee.com/>
140
-
141
- License
142
- -------
143
-
144
- This is free and unencumbered public domain software. For more information,
145
- see <http://unlicense.org/> or the accompanying {file:UNLICENSE} file.
146
-
147
- [Rack]: http://rack.rubyforge.org/
148
- [JSON-RPC 2.0]: http://groups.google.com/group/json-rpc/web/json-rpc-2-0
149
- [XML-RPC]: http://www.xmlrpc.com/
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.0.11