lev 0.0.2 → 0.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.
- data/Gemfile.lock +1 -1
- data/lib/lev/handle_with.rb +9 -4
- data/lib/lev/handler.rb +7 -0
- data/lib/lev/version.rb +1 -1
- metadata +4 -4
data/Gemfile.lock
CHANGED
data/lib/lev/handle_with.rb
CHANGED
@@ -20,18 +20,23 @@ module Lev
|
|
20
20
|
# handle_with takes care of calling the handler and populates
|
21
21
|
# @errors and @results objects with the return values from the handler
|
22
22
|
#
|
23
|
+
#
|
23
24
|
# The 'success' and 'failure' lambdas are called if there aren't or are errors,
|
24
25
|
# respectively. Alternatively, if you supply a 'complete' lambda, that lambda
|
25
|
-
# will be called regardless of whether there are any errors.
|
26
|
+
# will be called regardless of whether there are any errors. Inside these lambdas
|
27
|
+
# (and inside the views they connect to), there will be @errors and @results
|
28
|
+
# variables containing the errors and results from the handler.
|
26
29
|
#
|
27
30
|
# Specifying 'params' is optional. If you don't specify it, HandleWith will
|
28
31
|
# use the entire params hash from the request.
|
29
32
|
#
|
30
33
|
module HandleWith
|
31
34
|
def handle_with(handler, options)
|
32
|
-
success_action = options.delete(:success)
|
33
|
-
failure_action = options.delete(:failure)
|
34
|
-
complete_action = options.delete(:complete)
|
35
|
+
success_action = options.delete(:success)
|
36
|
+
failure_action = options.delete(:failure)
|
37
|
+
complete_action = options.delete(:complete)
|
38
|
+
|
39
|
+
complete_action ||= lambda { render } if !(success_action || failure_action)
|
35
40
|
|
36
41
|
options[:params] ||= params
|
37
42
|
options[:request] ||= request
|
data/lib/lev/handler.rb
CHANGED
@@ -60,7 +60,14 @@ module Lev
|
|
60
60
|
# 2) 'caller' -- the user submitting the input
|
61
61
|
# 3) 'errors' -- an object in which to store errors
|
62
62
|
# 4) 'results' -- a hash in which to store results for return to calling code
|
63
|
+
# 5) 'options' -- a hash containing the options passed in, useful for other
|
64
|
+
# nonstandard data.
|
63
65
|
#
|
66
|
+
# Handler 'exec' methods don't return anything; they just set values in
|
67
|
+
# the errors and results objects. The documentation for each handler
|
68
|
+
# should explain what the results will be and any nonstandard data required
|
69
|
+
# to be passed in in the options.
|
70
|
+
#
|
64
71
|
# See the documentation for Lev::RoutineNesting about other requirements and
|
65
72
|
# capabilities of handler classes.
|
66
73
|
#
|
data/lib/lev/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lev
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-09-
|
12
|
+
date: 2013-09-19 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: transaction_isolation
|
@@ -140,7 +140,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
140
140
|
version: '0'
|
141
141
|
segments:
|
142
142
|
- 0
|
143
|
-
hash:
|
143
|
+
hash: 3785122561258895642
|
144
144
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
145
145
|
none: false
|
146
146
|
requirements:
|
@@ -149,7 +149,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
149
149
|
version: '0'
|
150
150
|
segments:
|
151
151
|
- 0
|
152
|
-
hash:
|
152
|
+
hash: 3785122561258895642
|
153
153
|
requirements: []
|
154
154
|
rubyforge_project:
|
155
155
|
rubygems_version: 1.8.25
|