phlex-rails 0.10.0 → 1.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 +4 -4
- data/.ruby-version +1 -1
- data/.yardopts +1 -0
- data/CHANGELOG.md +18 -3
- data/Gemfile +2 -0
- data/lib/phlex/rails/buffered.rb +1 -0
- data/lib/phlex/rails/buffered_checkbox_builder.rb +1 -0
- data/lib/phlex/rails/buffered_form_builder.rb +2 -0
- data/lib/phlex/rails/buffered_label_builder.rb +1 -0
- data/lib/phlex/rails/buffered_radio_button_builder.rb +1 -0
- data/lib/phlex/rails/engine.rb +1 -0
- data/lib/phlex/rails/helpers.rb +15 -0
- data/lib/phlex/rails/html/format.rb +1 -0
- data/lib/phlex/rails/layout.rb +1 -0
- data/lib/phlex/rails/sgml/overrides.rb +4 -2
- data/lib/phlex/rails/streaming.rb +4 -2
- data/lib/phlex/rails/unbuffered_overrides.rb +1 -0
- data/lib/phlex/rails/version.rb +1 -1
- data/lib/phlex/rails.rb +2 -0
- metadata +7 -7
- data/lib/phlex/rails/form.rb +0 -67
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ae91b70fed7b9edbe9f7c617a05a88ce362c9e8a108185e80ffbf5e1e27b519f
|
4
|
+
data.tar.gz: 16277016b898e55e5fba68ff0163cc652e2505d4785a5e487800cd2ea1111fe5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9f9a3961d6f6170a700844fe41230251cc31e4df5735beada75a13df1126fa058fab550b6608c1becf900f8a7f823f344f646231bafb1dba3d4e6e664a5d9282
|
7
|
+
data.tar.gz: a1a8e6e3bb03c9c609074cdd2dca2e254b88fe8c169858157d4cbb07fafaf1396f32d29a76a6edd136693f499de5da30939a92b5148467dc3fac1b9b654bd9b0
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.2.
|
1
|
+
3.2.2
|
data/.yardopts
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--private --hide-api private --markup markdown --exclude lib/generators
|
data/CHANGELOG.md
CHANGED
@@ -2,18 +2,33 @@
|
|
2
2
|
|
3
3
|
All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
4
4
|
|
5
|
+
|
6
|
+
## [1.1.0] 2023-11-24
|
7
|
+
|
8
|
+
- Dropped dependency on `rails` and now only depends on `railties`
|
9
|
+
- Fix an out of order rendering issue when yielding from a partial rendered with a block delegated from a component’s content block
|
10
|
+
- Added `flash` helper adapter in `Phlex::Rails::Helpers::Flash`
|
11
|
+
- Removed experimental form component
|
12
|
+
- Updated `phlex` dependency to `~> 1.9`
|
13
|
+
|
14
|
+
## [1.0.0] 2023-04-19
|
15
|
+
|
16
|
+
### Added
|
17
|
+
|
18
|
+
- Added an adapter for the pluralize view helper.
|
19
|
+
|
5
20
|
## 0.10.0
|
6
21
|
|
7
|
-
Added
|
22
|
+
### Added
|
8
23
|
|
9
24
|
- You can now render procs and lambdas and enumerables of renderables.
|
10
25
|
- Experimental streaming interface
|
11
26
|
|
12
|
-
Fixed
|
27
|
+
### Fixed
|
13
28
|
|
14
29
|
- Escaped ERB captures
|
15
30
|
- Use buffered component unless renderin in a template
|
16
31
|
|
17
32
|
***
|
18
33
|
|
19
|
-
Before this changelog was introduced, changes were logged in the [release notes](https://github.com/phlex-ruby/phlex/releases).
|
34
|
+
Before this changelog was introduced, changes were logged in the [release notes](https://github.com/phlex-ruby/phlex-rails/releases).
|
data/Gemfile
CHANGED
data/lib/phlex/rails/buffered.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module Phlex::Rails
|
4
|
+
# @api private
|
4
5
|
class BufferedFormBuilder < Buffered
|
5
6
|
# @!method field_id(...)
|
6
7
|
# @!method field_name(...)
|
@@ -13,6 +14,7 @@ module Phlex::Rails
|
|
13
14
|
:to_partial_path,
|
14
15
|
:options,
|
15
16
|
:id,
|
17
|
+
:is_a?,
|
16
18
|
:field_helpers,
|
17
19
|
:multipart=,
|
18
20
|
:field_name,
|
data/lib/phlex/rails/engine.rb
CHANGED
data/lib/phlex/rails/helpers.rb
CHANGED
@@ -465,6 +465,13 @@ module Phlex::Rails::Helpers
|
|
465
465
|
define_output_helper :file_field_tag
|
466
466
|
end
|
467
467
|
|
468
|
+
module Flash
|
469
|
+
extend Phlex::Rails::HelperMacros
|
470
|
+
|
471
|
+
# @!method flash(...)
|
472
|
+
define_value_helper :flash
|
473
|
+
end
|
474
|
+
|
468
475
|
module FontPath
|
469
476
|
extend Phlex::Rails::HelperMacros
|
470
477
|
|
@@ -883,6 +890,14 @@ module Phlex::Rails::Helpers
|
|
883
890
|
define_output_helper :phone_field_tag
|
884
891
|
end
|
885
892
|
|
893
|
+
module Pluralize
|
894
|
+
extend Phlex::Rails::HelperMacros
|
895
|
+
|
896
|
+
# @!method pluralize(...)
|
897
|
+
# @return [String]
|
898
|
+
define_value_helper :pluralize
|
899
|
+
end
|
900
|
+
|
886
901
|
module PreloadLinkTag
|
887
902
|
extend Phlex::Rails::HelperMacros
|
888
903
|
|
data/lib/phlex/rails/layout.rb
CHANGED
@@ -23,7 +23,7 @@ module Phlex
|
|
23
23
|
when Enumerable
|
24
24
|
return super unless renderable.is_a?(ActiveRecord::Relation)
|
25
25
|
else
|
26
|
-
@_context.target << @_view_context.render(*args, **kwargs
|
26
|
+
@_context.target << @_view_context.render(*args, **kwargs) { capture(&block) }
|
27
27
|
end
|
28
28
|
|
29
29
|
nil
|
@@ -60,6 +60,7 @@ module Phlex
|
|
60
60
|
super&.html_safe
|
61
61
|
end
|
62
62
|
|
63
|
+
# @api private
|
63
64
|
def __text__(content)
|
64
65
|
case content
|
65
66
|
when ActiveSupport::SafeBuffer
|
@@ -69,7 +70,7 @@ module Phlex
|
|
69
70
|
end
|
70
71
|
end
|
71
72
|
|
72
|
-
# @api
|
73
|
+
# @api private
|
73
74
|
def await(task)
|
74
75
|
if task.is_a?(ActiveRecord::Relation)
|
75
76
|
flush unless task.loaded?
|
@@ -81,6 +82,7 @@ module Phlex
|
|
81
82
|
end
|
82
83
|
|
83
84
|
# Trick ViewComponent into thinking we're a ViewComponent to fix rendering output
|
85
|
+
# @api private
|
84
86
|
def set_original_view_context(view_context)
|
85
87
|
end
|
86
88
|
end
|
data/lib/phlex/rails/version.rb
CHANGED
data/lib/phlex/rails.rb
CHANGED
@@ -22,11 +22,13 @@ module Phlex
|
|
22
22
|
prepend Phlex::Rails::SGML::Overrides
|
23
23
|
end
|
24
24
|
|
25
|
+
# @api private
|
25
26
|
class HTML
|
26
27
|
extend Phlex::Rails::HTML::Format
|
27
28
|
include Phlex::Rails::HTML::Format
|
28
29
|
end
|
29
30
|
|
31
|
+
# @api private
|
30
32
|
class Unbuffered
|
31
33
|
prepend ::Phlex::Rails::UnbufferedOverrides
|
32
34
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: phlex-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joel Drapper
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-11-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: phlex
|
@@ -16,16 +16,16 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 1.
|
19
|
+
version: '1.9'
|
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: 1.
|
26
|
+
version: '1.9'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: railties
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
@@ -68,6 +68,7 @@ files:
|
|
68
68
|
- ".editorconfig"
|
69
69
|
- ".rubocop.yml"
|
70
70
|
- ".ruby-version"
|
71
|
+
- ".yardopts"
|
71
72
|
- Appraisals
|
72
73
|
- CHANGELOG.md
|
73
74
|
- CODE_OF_CONDUCT.md
|
@@ -104,7 +105,6 @@ files:
|
|
104
105
|
- lib/phlex/rails/buffered_label_builder.rb
|
105
106
|
- lib/phlex/rails/buffered_radio_button_builder.rb
|
106
107
|
- lib/phlex/rails/engine.rb
|
107
|
-
- lib/phlex/rails/form.rb
|
108
108
|
- lib/phlex/rails/helper_macros.rb
|
109
109
|
- lib/phlex/rails/helpers.rb
|
110
110
|
- lib/phlex/rails/helpers/routes.rb
|
@@ -143,7 +143,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
143
143
|
- !ruby/object:Gem::Version
|
144
144
|
version: '0'
|
145
145
|
requirements: []
|
146
|
-
rubygems_version: 3.4.
|
146
|
+
rubygems_version: 3.4.10
|
147
147
|
signing_key:
|
148
148
|
specification_version: 4
|
149
149
|
summary: A Phlex adapter for Rails
|
data/lib/phlex/rails/form.rb
DELETED
@@ -1,67 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Phlex
|
4
|
-
module Rails
|
5
|
-
class Form < Phlex::HTML
|
6
|
-
def initialize(model)
|
7
|
-
@model = model
|
8
|
-
end
|
9
|
-
|
10
|
-
def self.input_field(method_name, type:)
|
11
|
-
define_method method_name do |field, value: @model.attributes[field.to_s], **attributes|
|
12
|
-
input(
|
13
|
-
name: field_name(field),
|
14
|
-
type: type,
|
15
|
-
value: value,
|
16
|
-
**attributes
|
17
|
-
)
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
def template(&block)
|
22
|
-
form action: @url, method: @method do
|
23
|
-
authenticity_token_field
|
24
|
-
yield_content(&block)
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
def authenticity_token_field
|
29
|
-
input(
|
30
|
-
name: "authenticity_token",
|
31
|
-
type: "hidden",
|
32
|
-
value: helpers.form_authenticity_token
|
33
|
-
)
|
34
|
-
end
|
35
|
-
|
36
|
-
def submit(value)
|
37
|
-
input(
|
38
|
-
name: "commit",
|
39
|
-
type: "submit",
|
40
|
-
value: value
|
41
|
-
)
|
42
|
-
end
|
43
|
-
|
44
|
-
def url
|
45
|
-
helpers.url_for(@model)
|
46
|
-
end
|
47
|
-
|
48
|
-
def field_name(*field)
|
49
|
-
helpers.field_name(ActiveModel::Naming.param_key(@model.class), *field)
|
50
|
-
end
|
51
|
-
|
52
|
-
input_field :url_field, type: "url"
|
53
|
-
input_field :text_field, type: "text"
|
54
|
-
input_field :date_field, type: "date"
|
55
|
-
input_field :time_field, type: "time"
|
56
|
-
input_field :week_field, type: "week"
|
57
|
-
input_field :month_field, type: "month"
|
58
|
-
input_field :email_field, type: "email"
|
59
|
-
input_field :color_field, type: "color"
|
60
|
-
input_field :hidden_field, type: "hidden"
|
61
|
-
input_field :search_field, type: "search"
|
62
|
-
input_field :password_field, type: "password"
|
63
|
-
input_field :telephone_field, type: "tel"
|
64
|
-
input_field :datetime_local_field, type: "datetime-local"
|
65
|
-
end
|
66
|
-
end
|
67
|
-
end
|