roda-rest_api 1.0.2 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
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: []