Module: HTMX
- Defined in:
- lib/htmx.rb,
lib/htmx/error.rb,
lib/htmx/prefixer.rb,
lib/htmx/headers/request.rb,
lib/htmx/headers/response.rb
Overview
Defined Under Namespace
Modules: Headers
Classes: Error, Prefixer
Constant Summary
collapse
- REQUEST_MAP =
{
boosted: "HTTP_HX_BOOSTED",
current_url: "HTTP_HX_CURRENT_URL",
history_restore_request: "HTTP_HX_HISTORY_RESTORE_REQUEST",
prompt: "HTTP_HX_PROMPT",
request: "HTTP_HX_REQUEST",
target: "HTTP_HX_TARGET",
trigger_name: "HTTP_HX_TRIGGER_NAME",
trigger: "HTTP_HX_TRIGGER"
}.freeze
- RESPONSE_MAP =
{
location: "HX-Location",
push_url: "HX-Push-Url",
redirect: "HX-Redirect",
refresh: "HX-Refresh",
replace_url: "HX-Replace-Url",
reswap: "HX-Reswap",
retarget: "HX-Retarget",
trigger: "HX-Trigger",
trigger_after_settle: "HX-Trigger-After-Settle",
trigger_after_swap: "HX-Trigger-After-Swap"
}.freeze
Class Method Summary
collapse
Class Method Details
.[] ⇒ Object
42
43
44
45
|
# File 'lib/htmx.rb', line 42
def self.[](...)
@prefixer ||= Prefixer.new
@prefixer.call(...)
end
|
.loader(registry = Zeitwerk::Registry) ⇒ Object
38
39
40
|
# File 'lib/htmx.rb', line 38
def self.loader registry = Zeitwerk::Registry
@loader ||= registry.loaders.each.find { |loader| loader.tag == File.basename(__FILE__, ".rb") }
end
|
.request!(headers, **attributes) ⇒ Object
49
|
# File 'lib/htmx.rb', line 49
def self.request!(, **attributes) = .merge! attributes.transform_keys!(REQUEST_MAP)
|
.request?(headers, key, value) ⇒ Boolean
51
|
# File 'lib/htmx.rb', line 51
def self.request?(, key, value) = [REQUEST_MAP[key]] == value
|
.response!(headers, **attributes) ⇒ Object
55
56
57
|
# File 'lib/htmx.rb', line 55
def self.response!(, **attributes)
.merge! attributes.transform_keys!(RESPONSE_MAP)
end
|
.response?(headers, key, value) ⇒ Boolean
59
|
# File 'lib/htmx.rb', line 59
def self.response?(, key, value) = [RESPONSE_MAP[key]] == value
|