Class: BBMB::Html::State::Global
- Inherits:
-
SBSM::State
- Object
- SBSM::State
- BBMB::Html::State::Global
show all
- Defined in:
- lib/bbmb/html/state/global.rb
Direct Known Subclasses
ChangePassword, CurrentOrder, Customer, Customers, Favorites, History, Info, Order, Orders, Result, ShowPass
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.mandatory(*keys) ⇒ Object
12
13
14
15
16
|
# File 'lib/bbmb/html/state/global.rb', line 12
def mandatory(*keys)
define_method(:_mandatory) { keys }
define_method(:mandatory) { _mandatory }
define_method(:mandatory?) { |key| mandatory.include?(key) }
end
|
Instance Method Details
#direct_argument_keys ⇒ Object
30
31
|
# File 'lib/bbmb/html/state/global.rb', line 30
def direct_argument_keys
end
|
#direct_arguments ⇒ Object
22
23
24
25
26
27
28
29
|
# File 'lib/bbmb/html/state/global.rb', line 22
def direct_arguments
if(keys = direct_argument_keys)
keys.inject({}) { |memo, key|
memo.store(key, @session.user_input(key))
memo
}
end
end
|
#direct_request?(event) ⇒ Boolean
32
33
34
|
# File 'lib/bbmb/html/state/global.rb', line 32
def direct_request?(event)
requested_event(event) == direct_event
end
|
#logout ⇒ Object
18
19
20
21
|
# File 'lib/bbmb/html/state/global.rb', line 18
def logout
@session.logout
State::Login.new(@session, nil)
end
|
#requested_event(event) ⇒ Object
35
36
37
38
39
40
41
|
# File 'lib/bbmb/html/state/global.rb', line 35
def requested_event(event)
if(args = direct_arguments)
[ event, args ]
else
event
end
end
|
#trigger(event) ⇒ Object
42
43
44
45
46
47
48
|
# File 'lib/bbmb/html/state/global.rb', line 42
def trigger(event)
if(direct_request?(event))
self
else
super
end
end
|
49
50
51
52
53
54
55
56
57
|
# File 'lib/bbmb/html/state/global.rb', line 49
def user_input(*args)
data = super
data.each { |key, val|
if(val.is_a?(String))
data.store(key, val.empty? ? nil : u(val))
end
}
data
end
|