rails-htmx 0.1.0
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 +7 -0
- data/lib/rails-htmx/helpers.rb +38 -0
- data/lib/rails-htmx.rb +13 -0
- metadata +114 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 2ffbd55b0de9c32fe77398c68baf8f45a33a0891af21c2dc3aa80c5d130cad9d
|
4
|
+
data.tar.gz: 4aa515788ac23b1b502de8fa475452a7407b745ad17924dee8bbec377ca6271c
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 894f9bb1cbcc2efc4ccf2db422b2888c47835a73a5f9689bcecbb6c40eafbfbc67e24c1c61b36d62ca1789f5bd2de4564bcdeb070a83bed945c527539b38352f
|
7
|
+
data.tar.gz: 15d6086cf9973212262fb8584ceeea62c6ed6b177510d8f5de5e3e9db71d691c20b7603de3a3c4f49847893265f3eb84e4433e59d27efad422038ea3da4196b5
|
@@ -0,0 +1,38 @@
|
|
1
|
+
module Rails
|
2
|
+
module Htmx
|
3
|
+
class Error < StandardError; end
|
4
|
+
|
5
|
+
class Unsupported < Error; end
|
6
|
+
|
7
|
+
module Helpers
|
8
|
+
extend ActiveSupport::Concern
|
9
|
+
|
10
|
+
included do
|
11
|
+
layout proc { |c| htmx_request? ? htmx_layout : nil }
|
12
|
+
helper_method :htmx_request?
|
13
|
+
|
14
|
+
rescue_from Rails::Htmx::Unsupported, with: :htmx_unsupported
|
15
|
+
end
|
16
|
+
|
17
|
+
protected
|
18
|
+
|
19
|
+
def htmx_request?
|
20
|
+
request.env["HTTP_HX_REQUEST"].present?
|
21
|
+
end
|
22
|
+
|
23
|
+
def htmx_layout
|
24
|
+
false
|
25
|
+
end
|
26
|
+
|
27
|
+
def htmx_unsupported
|
28
|
+
response.headers["HX-Redirect"] = request.url
|
29
|
+
|
30
|
+
head :no_content
|
31
|
+
end
|
32
|
+
|
33
|
+
def prevent_htmx!
|
34
|
+
raise Rails::Htmx::Unsupported if htmx_request?
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
data/lib/rails-htmx.rb
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
require "htmx"
|
2
|
+
|
3
|
+
module Rails
|
4
|
+
module Htmx
|
5
|
+
class Engine < ::Rails::Engine
|
6
|
+
initializer "rails-htmx.add_controller" do
|
7
|
+
ActiveSupport.on_load :action_controller do
|
8
|
+
ActionController::Base.send :include, Rails::Htmx::Helpers
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
metadata
ADDED
@@ -0,0 +1,114 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rails-htmx
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Guillermo Iguaran
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2023-06-22 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: railties
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '3'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '3'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '13.0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '13.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: minitest
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '5.0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '5.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rack-test
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '2.1'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '2.1'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: standard
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '1.3'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '1.3'
|
83
|
+
description:
|
84
|
+
email: guilleiguaran@gmail.com
|
85
|
+
executables: []
|
86
|
+
extensions: []
|
87
|
+
extra_rdoc_files: []
|
88
|
+
files:
|
89
|
+
- lib/rails-htmx.rb
|
90
|
+
- lib/rails-htmx/helpers.rb
|
91
|
+
homepage: https://github.com/guilleiguaran/rails-htmx
|
92
|
+
licenses:
|
93
|
+
- MIT
|
94
|
+
metadata: {}
|
95
|
+
post_install_message:
|
96
|
+
rdoc_options: []
|
97
|
+
require_paths:
|
98
|
+
- lib
|
99
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
105
|
+
requirements:
|
106
|
+
- - ">="
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
version: '0'
|
109
|
+
requirements: []
|
110
|
+
rubygems_version: 3.4.14
|
111
|
+
signing_key:
|
112
|
+
specification_version: 4
|
113
|
+
summary: HTMX integration for Rails
|
114
|
+
test_files: []
|