sinatra-rest-api 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/sinatra-rest-api/actions.rb +3 -3
- data/lib/sinatra-rest-api/provider.rb +1 -1
- data/lib/sinatra-rest-api/router.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f5318060016a3ab26172ab885d655e3a25d2b11b
|
4
|
+
data.tar.gz: '0648b121a0a9ee2cb83b7231569f937e16a0f19f'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a0909bde8929319bada54ed5a0c3ef42860be4177873cb183a1ed22895c455ade3d5c5ff14ad61bfe65b95be7262fdc229d26e32c1e88eaa3d63f1e1f72b3fe2
|
7
|
+
data.tar.gz: c3acb32b5312c06dc8ee91a85f9dae4779649fd317b719e88fb249a15be31480ee0ffe7961ce117f4665b0588543aebcae1974947732748d10f4c7c272138cea
|
@@ -51,7 +51,7 @@ module Sinatra
|
|
51
51
|
# params[:_where] = '1=1' unless params[:_where].present?
|
52
52
|
route_args[:response].headers['X-Total-Count'] = mapping[:count].call( params ).to_s
|
53
53
|
result = mapping[:list].call( params, route_args[:fields] )
|
54
|
-
[ 200, result.to_json( include: mapping[:relations].call( nil ) ) ]
|
54
|
+
[ 200, result.to_json( include: route_args[:options].include?( :include ) ? route_args[:options][:include] : mapping[:relations].call( nil ) ) ]
|
55
55
|
end
|
56
56
|
|
57
57
|
def self.other( _route_args, params, mapping )
|
@@ -61,9 +61,9 @@ module Sinatra
|
|
61
61
|
[ 200, ret.nil? ? DONE.to_json : ret.to_json ]
|
62
62
|
end
|
63
63
|
|
64
|
-
def self.read(
|
64
|
+
def self.read( route_args, params, mapping )
|
65
65
|
result = mapping[:read].call( params )
|
66
|
-
[ 200, result.to_json( include: mapping[:relations].call( nil ) ) ]
|
66
|
+
[ 200, result.to_json( include: route_args[:options].include?( :include ) ? route_args[:options][:include] : mapping[:relations].call( nil ) ) ]
|
67
67
|
end
|
68
68
|
|
69
69
|
def self.update( route_args, params, mapping )
|
@@ -2,7 +2,7 @@ module Sinatra
|
|
2
2
|
module RestApi
|
3
3
|
# Prodiver
|
4
4
|
class Provider
|
5
|
-
OPTIONS = [ :actions, :plural, :singular ].freeze
|
5
|
+
OPTIONS = [ :actions, :include, :plural, :singular ].freeze
|
6
6
|
REQUEST = {
|
7
7
|
# content_types: [ :formdata, :json, :multipart, :www_form ]
|
8
8
|
content_types: [ :json, :www_form ]
|
@@ -33,10 +33,10 @@ module Sinatra
|
|
33
33
|
path = "/#{@plural}#{data[:path]}"
|
34
34
|
if data[:verb].is_a?( Array )
|
35
35
|
data[:verb].each do |verb|
|
36
|
-
prepare_route( route: route, resource: @path_singular, verb: verb, path: path, fields: data[:fields], mapping: @provider.adapter.mapping )
|
36
|
+
prepare_route( route: route, resource: @path_singular, verb: verb, path: path, fields: data[:fields], mapping: @provider.adapter.mapping, options: @provider.options )
|
37
37
|
end
|
38
38
|
else
|
39
|
-
prepare_route( route: route, resource: @path_singular, verb: data[:verb], path: path, fields: data[:fields], mapping: @provider.adapter.mapping )
|
39
|
+
prepare_route( route: route, resource: @path_singular, verb: data[:verb], path: path, fields: data[:fields], mapping: @provider.adapter.mapping, options: @provider.options )
|
40
40
|
end
|
41
41
|
end
|
42
42
|
@routes
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sinatra-rest-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mattia Roccoberton
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-10-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sinatra
|