rack-autocrud 0.1.14 → 0.1.15
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +27 -12
- data/lib/rack/autocrud.rb +5 -1
- metadata +2 -2
data/README.md
CHANGED
@@ -53,6 +53,33 @@ This would assume you only want CRUD-based routing. You can also _use_ this midd
|
|
53
53
|
use Rack::AutoCRUD, :model_namespace => 'Models', :endpoint_namespace => 'Endpoints'
|
54
54
|
```
|
55
55
|
|
56
|
+
Auto-Inclusion of Other Modules
|
57
|
+
===============================
|
58
|
+
|
59
|
+
This middleware also takes an option _:includes_ which can be used to automatically
|
60
|
+
include other modules (e.g. helpers) when creating and/or patching endpoints.
|
61
|
+
|
62
|
+
For example:
|
63
|
+
|
64
|
+
```ruby
|
65
|
+
use Rack::AutoCRUD, :model_namespace => 'Models', :endpoint_namespace => 'Endpoints', :includes => [ Your::HelperModule ]
|
66
|
+
```
|
67
|
+
|
68
|
+
Setting Sinatra Options
|
69
|
+
=======================
|
70
|
+
|
71
|
+
You can set Sinatra options for your auto-generated endpoints by passing the ``:sinatra_opts``
|
72
|
+
option to this middleware.
|
73
|
+
|
74
|
+
For example:
|
75
|
+
|
76
|
+
```ruby
|
77
|
+
use Rack::AutoCRUD, :model_namespace => 'Models', :endpoint_namespace => 'Endpoints', :sinatra_opts => { :sessions => false }
|
78
|
+
```
|
79
|
+
|
80
|
+
Which can be extremely useful if you're handling sessions at a higher level than the
|
81
|
+
auto-generated endpoints.
|
82
|
+
|
56
83
|
How Routing Works
|
57
84
|
=================
|
58
85
|
|
@@ -175,15 +202,3 @@ def set_request_body(new_body,content_type='text/json')
|
|
175
202
|
|
176
203
|
where *new_body* is expected to be a string.
|
177
204
|
|
178
|
-
Auto-Inclusion of Other Modules
|
179
|
-
===============================
|
180
|
-
|
181
|
-
This middleware also takes an option _:includes_ which can be used to automatically
|
182
|
-
include other modules (e.g. helpers) when creating and/or patching endpoints.
|
183
|
-
|
184
|
-
For example:
|
185
|
-
|
186
|
-
```ruby
|
187
|
-
use Rack::AutoCRUD, :model_namespace => 'Models', :endpoint_namespace => 'Endpoints', :includes => [ Your::HelperModule ]
|
188
|
-
```
|
189
|
-
|
data/lib/rack/autocrud.rb
CHANGED
@@ -20,7 +20,8 @@ module Rack
|
|
20
20
|
@app = app
|
21
21
|
@model_namespace = options[:model_namespace]
|
22
22
|
@endpoint_namespace = options[:endpoint_namespace]
|
23
|
-
@includes = options[:includes]
|
23
|
+
@includes = options[:includes] || []
|
24
|
+
@sinatra_opts = options[:sinatra_opts] || {}
|
24
25
|
@endpoint_mod = nil
|
25
26
|
@model_mod = nil
|
26
27
|
end
|
@@ -74,6 +75,9 @@ module Rack
|
|
74
75
|
# Add in any specified helpers
|
75
76
|
@includes.each { |inc| endpoint_klass.send(:include,inc) } unless @includes.nil?
|
76
77
|
|
78
|
+
# Set any Sinatra options
|
79
|
+
@sinatra_opts.each { |sopt,val| endpoint_klass.send(:set,sopt,val) }
|
80
|
+
|
77
81
|
# Patch in the routes
|
78
82
|
endpoint_klass.class_exec(model_klass,endpoint,env) { |model,endpoint,env|
|
79
83
|
def set_request_body(new_body,content_type='text/json')
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rack-autocrud
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.15
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-01-22 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: json
|