roda-rest_api 1.0.2 → 1.0.3
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 +4 -4
- data/lib/roda/plugins/rest_api.rb +10 -5
- metadata +11 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c191d44a767a70a6ae9cb0c39e9efd7fc44cdec7
|
4
|
+
data.tar.gz: da767f27f394f69be08b126d85b2a4fda606fd76
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: baa4cd7ce2ef637e0593e8b150df1704838acfdf6db9a794f9259c4ce6a159706a4c87ec62d33588e5cf419a12e51298762692bd4b0b880f573a74653ce46b90
|
7
|
+
data.tar.gz: e31fe6ce5d13813f43d7d62327b86bdec434e83336f1711869fe3c84f373d51e44ca8b8e8ce2b37201bb4d271c067304b1ab1b0968b8b84ca56b4daf5f3f11ad
|
@@ -3,6 +3,9 @@ class Roda
|
|
3
3
|
|
4
4
|
module RestApi
|
5
5
|
|
6
|
+
APPLICATION_JSON = 'application/json'.freeze
|
7
|
+
SINGLETON_ROUTES = %i{ show create update destroy edit new }.freeze
|
8
|
+
|
6
9
|
def self.load_dependencies(app, _opts = {})
|
7
10
|
app.plugin :all_verbs
|
8
11
|
app.plugin :symbol_matchers
|
@@ -11,7 +14,6 @@ class Roda
|
|
11
14
|
|
12
15
|
class Resource
|
13
16
|
|
14
|
-
APPLICATION_JSON = 'application/json'.freeze
|
15
17
|
|
16
18
|
attr_reader :singleton, :content_type
|
17
19
|
|
@@ -21,7 +23,7 @@ class Roda
|
|
21
23
|
@primary_key = options.delete(:primary_key) || "id"
|
22
24
|
@content_type = options.delete(:content_type) || APPLICATION_JSON
|
23
25
|
end
|
24
|
-
|
26
|
+
|
25
27
|
def list(&block)
|
26
28
|
@list = block if block
|
27
29
|
@list || ->(_){raise NotImplementedError, "list"}
|
@@ -52,8 +54,10 @@ class Roda
|
|
52
54
|
end
|
53
55
|
|
54
56
|
def routes!
|
55
|
-
|
56
|
-
|
57
|
+
unless @routes
|
58
|
+
@routes = SINGLETON_ROUTES.dup
|
59
|
+
@routes << :index unless @singleton
|
60
|
+
end
|
57
61
|
@routes.each { |route| @request.send(route) }
|
58
62
|
end
|
59
63
|
|
@@ -67,6 +71,7 @@ class Roda
|
|
67
71
|
end
|
68
72
|
end
|
69
73
|
|
74
|
+
|
70
75
|
end
|
71
76
|
|
72
77
|
module RequestMethods
|
@@ -79,7 +84,7 @@ class Roda
|
|
79
84
|
end
|
80
85
|
|
81
86
|
def version(version, &block)
|
82
|
-
|
87
|
+
on("v#{version}", &block)
|
83
88
|
end
|
84
89
|
|
85
90
|
def resource(name, options={})
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: roda-rest_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michel Benevento
|
@@ -16,42 +16,42 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '1'
|
19
|
+
version: '1.1'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '1'
|
26
|
+
version: '1.1'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '1.5'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '1.5'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: minitest
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '5.5'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '5.5'
|
55
55
|
description: A Roda plugin for RESTful APIs
|
56
56
|
email: michelbenevento@yahoo.com
|
57
57
|
executables: []
|