crudie 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 14b911b9a03850f5bd88718d356d56bfac76acb7
4
- data.tar.gz: c91ce483e64ff7c08d644be9c22fe7b8e72fcdb4
3
+ metadata.gz: 9d623e5637ed421b0b6419bb6a1250c947c21be7
4
+ data.tar.gz: 79b9d96ef1cbb1d7ce76e9cecbab83590a305292
5
5
  SHA512:
6
- metadata.gz: 50806904485cdef551514b26883d2a5209b90a5871c1e360a406ce18b9be58edd2dfa315a71d67c1efeba6cfde740a9cd68256762a4c3926505be8e17bfe0a36
7
- data.tar.gz: 28510bec736beb2d95f39ef3c6e61e24e87eed0707f58925c93dc2cf7a677d9c23a9eba9c0cbef2d39defc8c5335aeb173cfd26e4ba30879b82355b0c25a6c06
6
+ metadata.gz: f0e2025bb861117d9f842594cd2fa1d47589775d941552546c642b58c558dc426d7b3fd2c6be1ee5d16548a8820df6929d535ad15cd1340708316a2cb51a5fda
7
+ data.tar.gz: 15321503fc7f9b0a2dfc9806cd8e98905152212feec8ddd0576020cb97c2d4b955d3212570922e828463d2abf9b2de229321d19a87812dc593dcc23ae0f1ca5d
@@ -6,6 +6,10 @@ module Crudie
6
6
  template_extension = options[:template_extension] || "json.jbuilder"
7
7
  resources = resource.to_s.pluralize
8
8
 
9
+ added_methods = options[:only] || [ :create, :index, :show, :update, :destroy]
10
+ excluded_methods = options[:except] || []
11
+ added_methods = added_methods - excluded_methods
12
+
9
13
  define_method(:template_path) do |action|
10
14
  "#{template_base}#{resources}/#{action}.#{template_extension}"
11
15
  end
@@ -14,57 +18,67 @@ module Crudie
14
18
  # define method: `create`
15
19
  # create resource under `crudie_context` using `crudie_params`
16
20
  # render `#{template_base}#{resources}/create.#{template_extension}`
17
- define_method(:create) do
18
- instance = crudie_context.create(crudie_params)
19
- if instance.valid?
20
- instance_variable_set("@#{resource}".to_sym, instance)
21
- render :template => template_path(:create)
22
- else
23
- render :status => 409,
24
- :json => { :reason => instance.errors.messages }
21
+ if added_methods.include?(:create)
22
+ define_method(:create) do
23
+ instance = crudie_context.create(crudie_params)
24
+ if instance.valid?
25
+ instance_variable_set("@#{resource}".to_sym, instance)
26
+ render :template => template_path(:create)
27
+ else
28
+ render :status => 409,
29
+ :json => { :reason => instance.errors.messages }
30
+ end
25
31
  end
26
32
  end
27
33
 
28
- # define method: `index`
29
- # list resources via `crudie_params`
30
- # render `#{template_base}#{resources}/index.#{template_extension}`
31
- define_method(:index) do
32
- instance_variable_set("@#{resources}".to_sym, crudie_context)
33
- render :template => template_path(:index)
34
+ if added_methods.include?(:index)
35
+ # define method: `index`
36
+ # list resources via `crudie_params`
37
+ # render `#{template_base}#{resources}/index.#{template_extension}`
38
+ define_method(:index) do
39
+ instance_variable_set("@#{resources}".to_sym, crudie_context)
40
+ render :template => template_path(:index)
41
+ end
34
42
  end
35
43
 
36
- # define method: `show`
37
- # show resource via `crudie_context.find(params[:id])`
38
- # render `#{template_base}#{resources}/show.#{template_extension}`
39
- define_method(:show) do
40
- instance = crudie_context.find(params[:id])
41
- instance_variable_set("@#{resource}".to_sym, instance)
44
+ if added_methods.include?(:show)
45
+ # define method: `show`
46
+ # show resource via `crudie_context.find(params[:id])`
47
+ # render `#{template_base}#{resources}/show.#{template_extension}`
48
+ define_method(:show) do
49
+ instance = crudie_context.find(params[:id])
50
+ instance_variable_set("@#{resource}".to_sym, instance)
42
51
 
43
- render :template => template_path(:show)
52
+ render :template => template_path(:show)
53
+ end
44
54
  end
45
55
 
46
- # define method: `update`
47
- # update resource via `crudie_context.find(params[:id])` with `crudie_params`
48
- # render `#{template_base}#{resources}/update.#{template_extension}`
49
- define_method(:update) do
50
- instance = crudie_context.find(params[:id])
51
- updating_success = instance.update_attributes(crudie_params)
56
+ if added_methods.include?(:update)
57
+ # define method: `update`
58
+ # update resource via `crudie_context.find(params[:id])` with `crudie_params`
59
+ # render `#{template_base}#{resources}/update.#{template_extension}`
60
+ define_method(:update) do
61
+ instance = crudie_context.find(params[:id])
62
+ updating_success = instance.update_attributes(crudie_params)
52
63
 
53
- if updating_success
54
- instance_variable_set("@#{resource}".to_sym, instance)
55
- render :template => template_path(:update)
56
- else
57
- render :status => 409, :json => { :reason => instance.errors.messages }
64
+ if updating_success
65
+ instance_variable_set("@#{resource}".to_sym, instance)
66
+ render :template => template_path(:update)
67
+ else
68
+ render :status => 409, :json => { :reason => instance.errors.messages }
69
+ end
58
70
  end
59
71
  end
60
72
 
61
- # define method: `destroy`
62
- # destroy resource via `crudie_context.find(params[:id])`
63
- define_method(:destroy) do
64
- instance = crudie_context.find(params[:id])
65
- instance.destroy
73
+ if added_methods.include?(:destroy)
74
+ # define method: `destroy`
75
+ # destroy resource via `crudie_context.find(params[:id])`
76
+ define_method(:destroy) do
77
+ instance = crudie_context.find(params[:id])
78
+ instance.destroy
66
79
 
67
- render :json => { :status => 'destroy isntance ok' }
80
+ render :json => { :status => 'destroy isntance ok' }
81
+ end
68
82
  end
69
83
 
70
84
  end
@@ -1,3 +1,3 @@
1
1
  module Crudie
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: crudie
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yang-Hsing Lin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-24 00:00:00.000000000 Z
11
+ date: 2014-12-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails