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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/roda/plugins/rest_api.rb +10 -5
  3. metadata +11 -11
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cb91344e3d45d0cfa26eaf65ef9a5c46713ff062
4
- data.tar.gz: 3e08bf9d22b31929c910404b65543766a1d9a3fd
3
+ metadata.gz: c191d44a767a70a6ae9cb0c39e9efd7fc44cdec7
4
+ data.tar.gz: da767f27f394f69be08b126d85b2a4fda606fd76
5
5
  SHA512:
6
- metadata.gz: 79250f2268744cc6710d6279b81508829d7ce1c7960ec3fcd7ee77153072f57a0db8bc16c2b31efce3dee96365d4e49e89ffd3e9d1dafba1b320404215c16978
7
- data.tar.gz: 02e0425522e18ec0a0fa330fa1dd35a57f4ce0d7308bd534ded8e370ab79c758dad19bdd7397c95f91a3063e551f01bdfa0b05fd94273880b5f6c7b9dbf5fe43
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
- @routes = %i{ index show create update destroy edit new } unless @routes
56
- @routes.delete :index if @singleton
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
- on("v#{version}", &block)
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.2
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: '0'
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: '0'
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: '0'
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: '0'
54
+ version: '5.5'
55
55
  description: A Roda plugin for RESTful APIs
56
56
  email: michelbenevento@yahoo.com
57
57
  executables: []