rescue-dog 0.3.0 → 0.3.1
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/rescue/controller.rb +24 -22
- data/lib/rescue/controllers/action.rb +1 -1
- data/lib/rescue/version.rb +1 -1
- 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: 04a759ce546669df119ad51af2b97b93a417db88
|
4
|
+
data.tar.gz: 6ec7e0fef288002684edc508f39baadf6fd1ba39
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3c506070a73c70ef41bfb5049e0f217b16b2c424a37c268e9656d3b730196a9db5b42e1bf92f92cb99702695350e92b5007148de909769fa0aedfe2f5d8b2334
|
7
|
+
data.tar.gz: 618a85f1e3f2b7f1f4f1df03e776c54072746bea2e80a00b83485e52da43253e1b658aa641b32bdcf0023ec3a5fc3062df940e6533a7385c7a4fa66d834e5b6d
|
data/lib/rescue/controller.rb
CHANGED
@@ -45,26 +45,21 @@ module Rescue
|
|
45
45
|
Parameter.define(self)
|
46
46
|
Action.define(self, clazz, var_sym, params_sym)
|
47
47
|
|
48
|
-
[:new].each do |type|
|
48
|
+
[:new, :edit, :show, :create, :update, :delete].each do |type|
|
49
49
|
args = options.delete(type) || (actions.delete(type) ? {} : nil)
|
50
|
-
define_action_method(type,
|
51
|
-
end
|
52
|
-
|
53
|
-
[:show, :edit].each do |type|
|
54
|
-
args = options.delete(type) || (actions.delete(type) ? {} : nil)
|
55
|
-
define_action_method(type, :find_call, args) if args
|
56
|
-
end
|
57
|
-
|
58
|
-
[:create, :update, :delete].each do |type|
|
59
|
-
args = options.delete(type) || (actions.delete(type) ? {} : nil)
|
60
|
-
if args
|
61
|
-
args[:flash] ||= true
|
62
|
-
define_action_method(type, :"#{type}_call", args) if args
|
63
|
-
end
|
50
|
+
define_action_method(type, args) if args
|
64
51
|
end
|
65
52
|
end
|
66
53
|
|
67
|
-
def define_action_method name,
|
54
|
+
def define_action_method name, options = {}
|
55
|
+
raise RuntimeError "`name` is already defined." if method_defined?(name)
|
56
|
+
options[:type] ||= name
|
57
|
+
options[:flash] ||= [:create, :update, :delete].include?(options[:type])
|
58
|
+
call_method = case options[:type]
|
59
|
+
when :show, :edit ; :find_call
|
60
|
+
else ; :"#{options[:type]}_call"
|
61
|
+
end
|
62
|
+
rescue_given = options[:rescue]||options[:error]||options[:flash]
|
68
63
|
success_message = options[:success]
|
69
64
|
error_message = options[:error]
|
70
65
|
if options[:flash]
|
@@ -72,14 +67,21 @@ module Rescue
|
|
72
67
|
error_message ||= Flash.message(self, name, :error)
|
73
68
|
end
|
74
69
|
|
75
|
-
|
76
|
-
|
70
|
+
if rescue_given
|
71
|
+
define_method name do
|
72
|
+
begin
|
73
|
+
send(call_method)
|
74
|
+
flash[:success] = success_message unless success_message.blank?
|
75
|
+
instance_exec(&options[:render]) if options[:render]
|
76
|
+
rescue
|
77
|
+
flash.now[:error] = error_message unless error_message.blank?
|
78
|
+
instance_exec(&options[:rescue]) if options[:rescue]
|
79
|
+
end
|
80
|
+
end
|
81
|
+
else
|
82
|
+
define_method name do
|
77
83
|
send(call_method)
|
78
|
-
flash[:success] = success_message unless success_message.blank?
|
79
84
|
instance_exec(&options[:render]) if options[:render]
|
80
|
-
rescue
|
81
|
-
flash.now[:error] = error_message unless error_message.blank?
|
82
|
-
instance_exec(&options[:rescue]) if options[:rescue]
|
83
85
|
end
|
84
86
|
end
|
85
87
|
end
|
@@ -8,7 +8,7 @@ module Rescue
|
|
8
8
|
instance_variable_set(var_sym, clazz.new)
|
9
9
|
end
|
10
10
|
object.send(:define_method, :find_call) do
|
11
|
-
id
|
11
|
+
id = find_params[Rescue.config.primary_key]
|
12
12
|
instance_variable_set(var_sym, clazz.find(id))
|
13
13
|
end
|
14
14
|
object.send(:define_method, :create_call) do
|
data/lib/rescue/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rescue-dog
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- yulii
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-09-
|
11
|
+
date: 2013-09-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|