Module: Otori
- Defined in:
- lib/otori.rb,
lib/otori/form.rb,
lib/otori/error.rb,
lib/otori/hanami.rb,
lib/otori/signals.rb,
lib/otori/version.rb,
lib/otori/validator.rb,
lib/otori/configuration.rb
Defined Under Namespace
Modules: Form, Hanami, Validator
Classes: Configuration, Error, MissingSession, Signals
Constant Summary
collapse
- VERSION =
"0.1.0"
Class Method Summary
collapse
Class Method Details
.caught?(name, params:, session:, wait: nil) ⇒ Boolean
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
# File 'lib/otori.rb', line 33
def caught?(name, params:, session:, wait: nil)
wait ||= config.default_delay
session_key = config.session_key(name)
stored = session_get(session, session_key)
filled = Validator.filled?(param_value(params, name))
elapsed = Validator.elapsed?(stored&.to_i, wait)
if !filled && elapsed
session_delete(session, session_key)
false
else
session[session_key] = Validator.monotonic_ms.to_s
true
end
end
|
.config ⇒ Object
12
13
14
|
# File 'lib/otori.rb', line 12
def config
@config ||= Configuration.new
end
|
16
17
18
19
|
# File 'lib/otori.rb', line 16
def configure
yield config
config
end
|
.field(name, session:, **attrs) ⇒ Object
25
26
27
|
# File 'lib/otori.rb', line 25
def field(name, session:, **attrs)
Form.field(name, session: session, **attrs)
end
|
.reset_config! ⇒ Object
21
22
23
|
# File 'lib/otori.rb', line 21
def reset_config!
@config = Configuration.new
end
|
.signals_field(**attrs) ⇒ Object
29
30
31
|
# File 'lib/otori.rb', line 29
def signals_field(**attrs)
Form.signals_field(**attrs)
end
|
.signals_rating(params) ⇒ Object
49
50
51
52
53
54
|
# File 'lib/otori.rb', line 49
def signals_rating(params)
raw = param_value(params, config.signals_input_name)
return 0.0 if raw.nil? || raw.to_s.empty?
Signals.human_rating(raw.to_s)
end
|