phlexible 0.2.0 → 0.3.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 +4 -4
- data/Gemfile +1 -1
- data/Gemfile.lock +88 -81
- data/README.md +20 -0
- data/lib/phlexible/page_title.rb +2 -1
- data/lib/phlexible/rails/action_controller/implicit_render.rb +10 -1
- data/lib/phlexible/rails/responder.rb +3 -2
- data/lib/phlexible/version.rb +1 -1
- metadata +7 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1d6d20a51dd488d65ba2a2ca84ffd702e5cff5505dce12595cdd1d2ca3f0c8b6
|
|
4
|
+
data.tar.gz: 12bdc3b31f359f5e974ba21d7cb154145c3e0444604c6a20cf706d94eb6a07f8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: '09db42fc189ffefa64ca54bdedf9e171d0bf9d3084b4bc89a1c18953141f4fbad978e1a10b0d9d81a522df5ddf633ddca6f34aff214f2e69542f5ca197f232fa'
|
|
7
|
+
data.tar.gz: 0bb3d5026764d1366fe31f1b57f05e8c0ec8eeb24947c73c85448ecb4e9f7f9fcf6a0fd425e3150548e34525405c483a86c0725df8f03690d5df0fff225f1768
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,89 +1,92 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
phlexible (0.
|
|
5
|
-
phlex (~> 1.
|
|
6
|
-
phlex-rails (~> 0.
|
|
4
|
+
phlexible (0.2.0)
|
|
5
|
+
phlex (~> 1.5.1)
|
|
6
|
+
phlex-rails (~> 0.8.0)
|
|
7
7
|
|
|
8
8
|
GEM
|
|
9
9
|
remote: https://rubygems.org/
|
|
10
10
|
specs:
|
|
11
|
-
actioncable (7.0.4)
|
|
12
|
-
actionpack (= 7.0.4)
|
|
13
|
-
activesupport (= 7.0.4)
|
|
11
|
+
actioncable (7.0.4.2)
|
|
12
|
+
actionpack (= 7.0.4.2)
|
|
13
|
+
activesupport (= 7.0.4.2)
|
|
14
14
|
nio4r (~> 2.0)
|
|
15
15
|
websocket-driver (>= 0.6.1)
|
|
16
|
-
actionmailbox (7.0.4)
|
|
17
|
-
actionpack (= 7.0.4)
|
|
18
|
-
activejob (= 7.0.4)
|
|
19
|
-
activerecord (= 7.0.4)
|
|
20
|
-
activestorage (= 7.0.4)
|
|
21
|
-
activesupport (= 7.0.4)
|
|
16
|
+
actionmailbox (7.0.4.2)
|
|
17
|
+
actionpack (= 7.0.4.2)
|
|
18
|
+
activejob (= 7.0.4.2)
|
|
19
|
+
activerecord (= 7.0.4.2)
|
|
20
|
+
activestorage (= 7.0.4.2)
|
|
21
|
+
activesupport (= 7.0.4.2)
|
|
22
22
|
mail (>= 2.7.1)
|
|
23
23
|
net-imap
|
|
24
24
|
net-pop
|
|
25
25
|
net-smtp
|
|
26
|
-
actionmailer (7.0.4)
|
|
27
|
-
actionpack (= 7.0.4)
|
|
28
|
-
actionview (= 7.0.4)
|
|
29
|
-
activejob (= 7.0.4)
|
|
30
|
-
activesupport (= 7.0.4)
|
|
26
|
+
actionmailer (7.0.4.2)
|
|
27
|
+
actionpack (= 7.0.4.2)
|
|
28
|
+
actionview (= 7.0.4.2)
|
|
29
|
+
activejob (= 7.0.4.2)
|
|
30
|
+
activesupport (= 7.0.4.2)
|
|
31
31
|
mail (~> 2.5, >= 2.5.4)
|
|
32
32
|
net-imap
|
|
33
33
|
net-pop
|
|
34
34
|
net-smtp
|
|
35
35
|
rails-dom-testing (~> 2.0)
|
|
36
|
-
actionpack (7.0.4)
|
|
37
|
-
actionview (= 7.0.4)
|
|
38
|
-
activesupport (= 7.0.4)
|
|
36
|
+
actionpack (7.0.4.2)
|
|
37
|
+
actionview (= 7.0.4.2)
|
|
38
|
+
activesupport (= 7.0.4.2)
|
|
39
39
|
rack (~> 2.0, >= 2.2.0)
|
|
40
40
|
rack-test (>= 0.6.3)
|
|
41
41
|
rails-dom-testing (~> 2.0)
|
|
42
42
|
rails-html-sanitizer (~> 1.0, >= 1.2.0)
|
|
43
|
-
actiontext (7.0.4)
|
|
44
|
-
actionpack (= 7.0.4)
|
|
45
|
-
activerecord (= 7.0.4)
|
|
46
|
-
activestorage (= 7.0.4)
|
|
47
|
-
activesupport (= 7.0.4)
|
|
43
|
+
actiontext (7.0.4.2)
|
|
44
|
+
actionpack (= 7.0.4.2)
|
|
45
|
+
activerecord (= 7.0.4.2)
|
|
46
|
+
activestorage (= 7.0.4.2)
|
|
47
|
+
activesupport (= 7.0.4.2)
|
|
48
48
|
globalid (>= 0.6.0)
|
|
49
49
|
nokogiri (>= 1.8.5)
|
|
50
|
-
actionview (7.0.4)
|
|
51
|
-
activesupport (= 7.0.4)
|
|
50
|
+
actionview (7.0.4.2)
|
|
51
|
+
activesupport (= 7.0.4.2)
|
|
52
52
|
builder (~> 3.1)
|
|
53
53
|
erubi (~> 1.4)
|
|
54
54
|
rails-dom-testing (~> 2.0)
|
|
55
55
|
rails-html-sanitizer (~> 1.1, >= 1.2.0)
|
|
56
|
-
activejob (7.0.4)
|
|
57
|
-
activesupport (= 7.0.4)
|
|
56
|
+
activejob (7.0.4.2)
|
|
57
|
+
activesupport (= 7.0.4.2)
|
|
58
58
|
globalid (>= 0.3.6)
|
|
59
|
-
activemodel (7.0.4)
|
|
60
|
-
activesupport (= 7.0.4)
|
|
61
|
-
activerecord (7.0.4)
|
|
62
|
-
activemodel (= 7.0.4)
|
|
63
|
-
activesupport (= 7.0.4)
|
|
64
|
-
activestorage (7.0.4)
|
|
65
|
-
actionpack (= 7.0.4)
|
|
66
|
-
activejob (= 7.0.4)
|
|
67
|
-
activerecord (= 7.0.4)
|
|
68
|
-
activesupport (= 7.0.4)
|
|
59
|
+
activemodel (7.0.4.2)
|
|
60
|
+
activesupport (= 7.0.4.2)
|
|
61
|
+
activerecord (7.0.4.2)
|
|
62
|
+
activemodel (= 7.0.4.2)
|
|
63
|
+
activesupport (= 7.0.4.2)
|
|
64
|
+
activestorage (7.0.4.2)
|
|
65
|
+
actionpack (= 7.0.4.2)
|
|
66
|
+
activejob (= 7.0.4.2)
|
|
67
|
+
activerecord (= 7.0.4.2)
|
|
68
|
+
activesupport (= 7.0.4.2)
|
|
69
69
|
marcel (~> 1.0)
|
|
70
70
|
mini_mime (>= 1.1.0)
|
|
71
|
-
activesupport (7.0.4)
|
|
71
|
+
activesupport (7.0.4.2)
|
|
72
72
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
73
73
|
i18n (>= 1.6, < 2)
|
|
74
74
|
minitest (>= 5.1)
|
|
75
75
|
tzinfo (~> 2.0)
|
|
76
76
|
ast (2.4.2)
|
|
77
77
|
builder (3.2.4)
|
|
78
|
+
cgi (0.3.6)
|
|
78
79
|
combustion (1.3.7)
|
|
79
80
|
activesupport (>= 3.0.0)
|
|
80
81
|
railties (>= 3.0.0)
|
|
81
82
|
thor (>= 0.14.6)
|
|
82
|
-
concurrent-ruby (1.
|
|
83
|
+
concurrent-ruby (1.2.2)
|
|
83
84
|
crass (1.0.6)
|
|
84
85
|
date (3.3.3)
|
|
86
|
+
erb (4.0.2)
|
|
87
|
+
cgi (>= 0.3.3)
|
|
85
88
|
erubi (1.12.0)
|
|
86
|
-
globalid (1.
|
|
89
|
+
globalid (1.1.0)
|
|
87
90
|
activesupport (>= 5.0)
|
|
88
91
|
i18n (1.12.0)
|
|
89
92
|
concurrent-ruby (~> 1.0)
|
|
@@ -91,7 +94,7 @@ GEM
|
|
|
91
94
|
loofah (2.19.1)
|
|
92
95
|
crass (~> 1.0.2)
|
|
93
96
|
nokogiri (>= 1.5.9)
|
|
94
|
-
mail (2.8.
|
|
97
|
+
mail (2.8.1)
|
|
95
98
|
mini_mime (>= 0.1.1)
|
|
96
99
|
net-imap
|
|
97
100
|
net-pop
|
|
@@ -99,8 +102,7 @@ GEM
|
|
|
99
102
|
marcel (1.0.2)
|
|
100
103
|
method_source (1.0.0)
|
|
101
104
|
mini_mime (1.1.2)
|
|
102
|
-
|
|
103
|
-
minitest (5.17.0)
|
|
105
|
+
minitest (5.18.0)
|
|
104
106
|
net-imap (0.3.4)
|
|
105
107
|
date
|
|
106
108
|
net-protocol
|
|
@@ -111,78 +113,83 @@ GEM
|
|
|
111
113
|
net-smtp (0.3.3)
|
|
112
114
|
net-protocol
|
|
113
115
|
nio4r (2.5.8)
|
|
114
|
-
nokogiri (1.
|
|
115
|
-
|
|
116
|
+
nokogiri (1.14.2-arm64-darwin)
|
|
117
|
+
racc (~> 1.4)
|
|
118
|
+
nokogiri (1.14.2-x86_64-darwin)
|
|
119
|
+
racc (~> 1.4)
|
|
120
|
+
nokogiri (1.14.2-x86_64-linux)
|
|
116
121
|
racc (~> 1.4)
|
|
117
122
|
parallel (1.22.1)
|
|
118
|
-
parser (3.2.
|
|
123
|
+
parser (3.2.1.0)
|
|
119
124
|
ast (~> 2.4.1)
|
|
120
|
-
phlex (1.1
|
|
125
|
+
phlex (1.5.1)
|
|
126
|
+
concurrent-ruby (~> 1.2)
|
|
127
|
+
erb (>= 4)
|
|
121
128
|
zeitwerk (~> 2.6)
|
|
122
|
-
phlex-rails (0.
|
|
123
|
-
phlex (
|
|
129
|
+
phlex-rails (0.8.0)
|
|
130
|
+
phlex (~> 1.5)
|
|
124
131
|
rails (>= 6.1, < 8)
|
|
125
|
-
zeitwerk (~> 2)
|
|
132
|
+
zeitwerk (~> 2.6)
|
|
126
133
|
phlex-testing-nokogiri (0.1.0)
|
|
127
134
|
nokogiri (~> 1.13)
|
|
128
135
|
phlex (>= 0.5)
|
|
129
136
|
racc (1.6.2)
|
|
130
|
-
rack (2.2.
|
|
137
|
+
rack (2.2.6.3)
|
|
131
138
|
rack-test (2.0.2)
|
|
132
139
|
rack (>= 1.3)
|
|
133
|
-
rails (7.0.4)
|
|
134
|
-
actioncable (= 7.0.4)
|
|
135
|
-
actionmailbox (= 7.0.4)
|
|
136
|
-
actionmailer (= 7.0.4)
|
|
137
|
-
actionpack (= 7.0.4)
|
|
138
|
-
actiontext (= 7.0.4)
|
|
139
|
-
actionview (= 7.0.4)
|
|
140
|
-
activejob (= 7.0.4)
|
|
141
|
-
activemodel (= 7.0.4)
|
|
142
|
-
activerecord (= 7.0.4)
|
|
143
|
-
activestorage (= 7.0.4)
|
|
144
|
-
activesupport (= 7.0.4)
|
|
140
|
+
rails (7.0.4.2)
|
|
141
|
+
actioncable (= 7.0.4.2)
|
|
142
|
+
actionmailbox (= 7.0.4.2)
|
|
143
|
+
actionmailer (= 7.0.4.2)
|
|
144
|
+
actionpack (= 7.0.4.2)
|
|
145
|
+
actiontext (= 7.0.4.2)
|
|
146
|
+
actionview (= 7.0.4.2)
|
|
147
|
+
activejob (= 7.0.4.2)
|
|
148
|
+
activemodel (= 7.0.4.2)
|
|
149
|
+
activerecord (= 7.0.4.2)
|
|
150
|
+
activestorage (= 7.0.4.2)
|
|
151
|
+
activesupport (= 7.0.4.2)
|
|
145
152
|
bundler (>= 1.15.0)
|
|
146
|
-
railties (= 7.0.4)
|
|
153
|
+
railties (= 7.0.4.2)
|
|
147
154
|
rails-dom-testing (2.0.3)
|
|
148
155
|
activesupport (>= 4.2.0)
|
|
149
156
|
nokogiri (>= 1.6)
|
|
150
|
-
rails-html-sanitizer (1.
|
|
157
|
+
rails-html-sanitizer (1.5.0)
|
|
151
158
|
loofah (~> 2.19, >= 2.19.1)
|
|
152
|
-
railties (7.0.4)
|
|
153
|
-
actionpack (= 7.0.4)
|
|
154
|
-
activesupport (= 7.0.4)
|
|
159
|
+
railties (7.0.4.2)
|
|
160
|
+
actionpack (= 7.0.4.2)
|
|
161
|
+
activesupport (= 7.0.4.2)
|
|
155
162
|
method_source
|
|
156
163
|
rake (>= 12.2)
|
|
157
164
|
thor (~> 1.0)
|
|
158
165
|
zeitwerk (~> 2.5)
|
|
159
166
|
rainbow (3.1.1)
|
|
160
167
|
rake (13.0.6)
|
|
161
|
-
regexp_parser (2.
|
|
168
|
+
regexp_parser (2.7.0)
|
|
162
169
|
rexml (3.2.5)
|
|
163
|
-
rubocop (1.
|
|
170
|
+
rubocop (1.48.0)
|
|
164
171
|
json (~> 2.3)
|
|
165
172
|
parallel (~> 1.10)
|
|
166
173
|
parser (>= 3.2.0.0)
|
|
167
174
|
rainbow (>= 2.2.2, < 4.0)
|
|
168
175
|
regexp_parser (>= 1.8, < 3.0)
|
|
169
176
|
rexml (>= 3.2.5, < 4.0)
|
|
170
|
-
rubocop-ast (>= 1.
|
|
177
|
+
rubocop-ast (>= 1.26.0, < 2.0)
|
|
171
178
|
ruby-progressbar (~> 1.7)
|
|
172
179
|
unicode-display_width (>= 2.4.0, < 3.0)
|
|
173
|
-
rubocop-ast (1.
|
|
174
|
-
parser (>= 3.
|
|
175
|
-
ruby-progressbar (1.
|
|
176
|
-
sus (0.
|
|
180
|
+
rubocop-ast (1.27.0)
|
|
181
|
+
parser (>= 3.2.1.0)
|
|
182
|
+
ruby-progressbar (1.13.0)
|
|
183
|
+
sus (0.20.3)
|
|
177
184
|
thor (1.2.1)
|
|
178
|
-
timeout (0.3.
|
|
179
|
-
tzinfo (2.0.
|
|
185
|
+
timeout (0.3.2)
|
|
186
|
+
tzinfo (2.0.6)
|
|
180
187
|
concurrent-ruby (~> 1.0)
|
|
181
188
|
unicode-display_width (2.4.2)
|
|
182
189
|
websocket-driver (0.7.5)
|
|
183
190
|
websocket-extensions (>= 0.1.0)
|
|
184
191
|
websocket-extensions (0.1.5)
|
|
185
|
-
zeitwerk (2.6.
|
|
192
|
+
zeitwerk (2.6.7)
|
|
186
193
|
|
|
187
194
|
PLATFORMS
|
|
188
195
|
arm64-darwin-22
|
|
@@ -195,7 +202,7 @@ DEPENDENCIES
|
|
|
195
202
|
phlexible!
|
|
196
203
|
rake (~> 13.0)
|
|
197
204
|
rubocop (~> 1.21)
|
|
198
|
-
sus (~> 0.
|
|
205
|
+
sus (~> 0.20.0)
|
|
199
206
|
|
|
200
207
|
BUNDLED WITH
|
|
201
208
|
2.4.1
|
data/README.md
CHANGED
|
@@ -46,6 +46,7 @@ Just include it in your ApplicationResponder:
|
|
|
46
46
|
|
|
47
47
|
```ruby
|
|
48
48
|
class ApplicationResponder < ActionController::Responder
|
|
49
|
+
include Phlexible::Rails::ActionController::ImplicitRender
|
|
49
50
|
include Phlexible::Rails::Responder
|
|
50
51
|
end
|
|
51
52
|
```
|
|
@@ -57,6 +58,25 @@ class UsersController < ApplicationController
|
|
|
57
58
|
def new
|
|
58
59
|
respond_with User.new
|
|
59
60
|
end
|
|
61
|
+
|
|
62
|
+
def index
|
|
63
|
+
respond_with User.all
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
As Phlex views expect explicit arguments, you can pass these in the `:view_options` keyword
|
|
69
|
+
argument:
|
|
70
|
+
|
|
71
|
+
```ruby
|
|
72
|
+
class UsersController < ApplicationController
|
|
73
|
+
def index
|
|
74
|
+
respond_with User.all, view_options: { page: 1 }
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
class Views::Users::Index < Phlex::HTML
|
|
79
|
+
def initialize(users, page:); end
|
|
60
80
|
end
|
|
61
81
|
```
|
|
62
82
|
|
data/lib/phlexible/page_title.rb
CHANGED
|
@@ -4,9 +4,10 @@ module Phlexible
|
|
|
4
4
|
#
|
|
5
5
|
# Helper to assist in defining page titles within Phlex views. Also includes support for nested
|
|
6
6
|
# views, where each desendent view class will have its title prepended to the page title. Simply
|
|
7
|
-
# assign the title to the `page_title` class variable:
|
|
7
|
+
# include the module and assign the title to the `page_title` class variable:
|
|
8
8
|
#
|
|
9
9
|
# class MyView
|
|
10
|
+
# include Phlexible::PageTitle
|
|
10
11
|
# self.page_title = 'My Title'
|
|
11
12
|
# end
|
|
12
13
|
#
|
|
@@ -23,11 +23,20 @@ module Phlexible
|
|
|
23
23
|
render_view_class || super
|
|
24
24
|
end
|
|
25
25
|
|
|
26
|
+
# Renders the Phlex view.
|
|
26
27
|
def render_view_class(view_options = NUFFIN, render_options = {})
|
|
27
28
|
klass = render_options&.key?(:action) ? phlex_view(render_options[:action]) : phlex_view
|
|
28
29
|
return unless klass
|
|
29
30
|
|
|
30
|
-
|
|
31
|
+
if view_options == NUFFIN
|
|
32
|
+
view_options = render_options.delete(:view_options) { {} }
|
|
33
|
+
render klass.new(**view_options), render_options
|
|
34
|
+
else
|
|
35
|
+
kwargs = {}
|
|
36
|
+
kwargs = render_options.delete(:view_options) if render_options.key?(:view_options)
|
|
37
|
+
|
|
38
|
+
render klass.new(view_options, **kwargs), render_options
|
|
39
|
+
end
|
|
31
40
|
end
|
|
32
41
|
|
|
33
42
|
private
|
|
@@ -14,8 +14,9 @@ module Phlexible
|
|
|
14
14
|
end
|
|
15
15
|
end
|
|
16
16
|
|
|
17
|
-
# Render the Phlex view with the current resource. Falls back to default controller rendering
|
|
18
|
-
# no Phlex view exists.
|
|
17
|
+
# Render the Phlex view with the current resource. Falls back to default controller rendering
|
|
18
|
+
# if no Phlex view exists. If a `view_options` keyword argument is given, this will be passed
|
|
19
|
+
# as the keyword arguments of the view initializer.
|
|
19
20
|
#
|
|
20
21
|
# @see Phlexible::Rails::ActionController::ImplicitRender#render_view_class
|
|
21
22
|
def render_phlex_view(options)
|
data/lib/phlexible/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: phlexible
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Joel Moss
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2023-
|
|
11
|
+
date: 2023-03-07 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: phlex
|
|
@@ -16,28 +16,28 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version:
|
|
19
|
+
version: 1.5.1
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version:
|
|
26
|
+
version: 1.5.1
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: phlex-rails
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
31
|
- - "~>"
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version:
|
|
33
|
+
version: 0.8.0
|
|
34
34
|
type: :runtime
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
38
|
- - "~>"
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
|
-
version:
|
|
40
|
+
version: 0.8.0
|
|
41
41
|
description: A bunch of helpers and goodies intended to make life with Phlex even
|
|
42
42
|
easier!
|
|
43
43
|
email:
|
|
@@ -97,7 +97,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
97
97
|
- !ruby/object:Gem::Version
|
|
98
98
|
version: '0'
|
|
99
99
|
requirements: []
|
|
100
|
-
rubygems_version: 3.4.
|
|
100
|
+
rubygems_version: 3.4.6
|
|
101
101
|
signing_key:
|
|
102
102
|
specification_version: 4
|
|
103
103
|
summary: A bunch of helpers and goodies intended to make life with Phlex even easier!
|