mobility-actiontext 0.5.0 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.ruby-version +1 -1
- data/CHANGELOG.md +3 -0
- data/Gemfile.lock +4 -4
- data/README.md +1 -1
- data/lib/mobility/action_text/version.rb +1 -1
- data/lib/mobility/backends/action_text.rb +12 -2
- data/test_app/Gemfile +1 -1
- data/test_app/Gemfile.lock +6 -6
- data/test_app/app/models/post.rb +2 -0
- data/test_app/db/migrate/20210114124951_translate_rich_texts.rb +1 -1
- data/test_app/db/schema.rb +1 -1
- data/test_app/test/fixtures/action_text/rich_texts.yml +5 -0
- data/test_app/test/mobility_action_text_test.rb +18 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 62723fa69cae996e74c0b33dfe0d5babf7395d6384c3c548fc7e06c33fcec9ce
|
4
|
+
data.tar.gz: 28ec6773c56d337a844d6b27bd13aebaea539bc0a1fafad50a9cfe0257243c82
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f2b425c119565f978ed06b45e54bb9c452d648a4ff39026b35dbd50cce2d567f555685de9d56d68b0c02d2559a5f4dbee453e76edf61846321b40972387bf704
|
7
|
+
data.tar.gz: 6eced781dcc3440abcb988f898979caca2511eda42486d11a141fa457f26802532d609bbeaa32a8127f036eb563850a3a6035c0a84ec05d6bad1a906c43f4aae
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
ruby-3.1.
|
1
|
+
ruby-3.1.1
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
# Mobility Action Text Changelog
|
2
2
|
|
3
|
+
### 0.6.0 (2022-02-27)
|
4
|
+
- Include all translations on eager load using `with_all_rich_text` ([#23](https://github.com/sedubois/mobility-actiontext/pull/23)).
|
5
|
+
|
3
6
|
### 0.5.0 (2022-02-13)
|
4
7
|
- Require only actiontext in gemspec dependencies ([#20](https://github.com/sedubois/mobility-actiontext/pull/20)).
|
5
8
|
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
mobility-actiontext (0.
|
4
|
+
mobility-actiontext (0.6.0)
|
5
5
|
actiontext (>= 6.0)
|
6
6
|
mobility (~> 1.2)
|
7
7
|
|
@@ -54,7 +54,7 @@ GEM
|
|
54
54
|
erubi (1.10.0)
|
55
55
|
globalid (1.0.0)
|
56
56
|
activesupport (>= 5.0)
|
57
|
-
i18n (1.
|
57
|
+
i18n (1.10.0)
|
58
58
|
concurrent-ruby (~> 1.0)
|
59
59
|
loofah (2.14.0)
|
60
60
|
crass (~> 1.0.2)
|
@@ -65,9 +65,9 @@ GEM
|
|
65
65
|
mobility (1.2.5)
|
66
66
|
i18n (>= 0.6.10, < 2)
|
67
67
|
request_store (~> 1.0)
|
68
|
-
nokogiri (1.13.
|
68
|
+
nokogiri (1.13.3-x86_64-darwin)
|
69
69
|
racc (~> 1.4)
|
70
|
-
nokogiri (1.13.
|
70
|
+
nokogiri (1.13.3-x86_64-linux)
|
71
71
|
racc (~> 1.4)
|
72
72
|
racc (1.6.0)
|
73
73
|
rack (2.2.3)
|
data/README.md
CHANGED
@@ -79,7 +79,7 @@ This is done through the `Mobility::Backends::ActionText::Translation` model ext
|
|
79
79
|
|
80
80
|
After checking out the repo, run `bundle install` to install dependencies. Then, run `cd test_app && bundle exec rails test` to run the tests.
|
81
81
|
|
82
|
-
To release a new version, update `lib/mobility/action_text/version.rb` and `CHANGELOG.md`, run `bundle`, commit, then run `bundle exec rake release`. This will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
82
|
+
To release a new version, update `lib/mobility/action_text/version.rb` and `CHANGELOG.md`, run `bundle && cd test_app && bundle`, commit, then run `bundle exec rake release`. This will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
83
83
|
|
84
84
|
## Contributing
|
85
85
|
|
@@ -70,7 +70,9 @@ module Mobility
|
|
70
70
|
end
|
71
71
|
end
|
72
72
|
|
73
|
-
setup do |attributes,
|
73
|
+
setup do |attributes, options|
|
74
|
+
next if options[:plain]
|
75
|
+
|
74
76
|
attributes.each do |name|
|
75
77
|
has_one :"rich_text_#{name}", -> { where(name: name, locale: Mobility.locale) },
|
76
78
|
class_name: 'Mobility::Backends::ActionText::RichTextTranslation',
|
@@ -78,7 +80,15 @@ module Mobility
|
|
78
80
|
scope :"with_rich_text_#{name}", -> { includes("rich_text_#{name}") }
|
79
81
|
scope :"with_rich_text_#{name}_and_embeds",
|
80
82
|
-> { includes("rich_text_#{name}": { embeds_attachments: :blob }) }
|
81
|
-
end
|
83
|
+
end
|
84
|
+
|
85
|
+
singleton_class.prepend(WithAllRichText) unless singleton_class < WithAllRichText
|
86
|
+
end
|
87
|
+
|
88
|
+
module WithAllRichText
|
89
|
+
def with_all_rich_text
|
90
|
+
super.eager_load(:rich_text_translations)
|
91
|
+
end
|
82
92
|
end
|
83
93
|
|
84
94
|
module ActionTextValidations
|
data/test_app/Gemfile
CHANGED
data/test_app/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: ..
|
3
3
|
specs:
|
4
|
-
mobility-actiontext (0.
|
4
|
+
mobility-actiontext (0.6.0)
|
5
5
|
actiontext (>= 6.0)
|
6
6
|
mobility (~> 1.2)
|
7
7
|
|
@@ -83,7 +83,7 @@ GEM
|
|
83
83
|
ffi (1.15.5)
|
84
84
|
globalid (1.0.0)
|
85
85
|
activesupport (>= 5.0)
|
86
|
-
i18n (1.
|
86
|
+
i18n (1.10.0)
|
87
87
|
concurrent-ruby (~> 1.0)
|
88
88
|
io-wait (0.2.1)
|
89
89
|
jbuilder (2.11.5)
|
@@ -120,15 +120,15 @@ GEM
|
|
120
120
|
net-protocol
|
121
121
|
timeout
|
122
122
|
nio4r (2.5.8)
|
123
|
-
nokogiri (1.13.
|
123
|
+
nokogiri (1.13.3-x86_64-darwin)
|
124
124
|
racc (~> 1.4)
|
125
|
-
nokogiri (1.13.
|
125
|
+
nokogiri (1.13.3-x86_64-linux)
|
126
126
|
racc (~> 1.4)
|
127
127
|
puma (5.6.2)
|
128
128
|
nio4r (~> 2.0)
|
129
129
|
racc (1.6.0)
|
130
130
|
rack (2.2.3)
|
131
|
-
rack-mini-profiler (2.3.
|
131
|
+
rack-mini-profiler (2.3.4)
|
132
132
|
rack (>= 1.2.0)
|
133
133
|
rack-test (1.1.0)
|
134
134
|
rack (>= 1.0, < 3)
|
@@ -221,7 +221,7 @@ DEPENDENCIES
|
|
221
221
|
web-console (>= 4.1.0)
|
222
222
|
|
223
223
|
RUBY VERSION
|
224
|
-
ruby 3.1.
|
224
|
+
ruby 3.1.1p18
|
225
225
|
|
226
226
|
BUNDLED WITH
|
227
227
|
2.3.7
|
data/test_app/app/models/post.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
class TranslateRichTexts < ActiveRecord::Migration[6.1]
|
4
4
|
def change
|
5
5
|
# or null: true to allow untranslated rich text
|
6
|
-
add_column :action_text_rich_texts, :locale, :string, null:
|
6
|
+
add_column :action_text_rich_texts, :locale, :string, null: true
|
7
7
|
|
8
8
|
remove_index :action_text_rich_texts,
|
9
9
|
column: %i[record_type record_id name],
|
data/test_app/db/schema.rb
CHANGED
@@ -20,7 +20,7 @@ ActiveRecord::Schema.define(version: 20_210_114_125_134) do
|
|
20
20
|
t.integer 'record_id', null: false
|
21
21
|
t.datetime 'created_at', precision: 6, null: false
|
22
22
|
t.datetime 'updated_at', precision: 6, null: false
|
23
|
-
t.string 'locale'
|
23
|
+
t.string 'locale'
|
24
24
|
t.index %w[record_type record_id name locale], name: 'index_action_text_rich_texts_uniqueness',
|
25
25
|
unique: true
|
26
26
|
end
|
@@ -22,6 +22,11 @@ post_one_content_fr:
|
|
22
22
|
locale: fr
|
23
23
|
body: <h1>Bonjour le monde !</h1>
|
24
24
|
|
25
|
+
post_one_non_i18n_content:
|
26
|
+
record: one (Post)
|
27
|
+
name: non_i18n_content
|
28
|
+
body: <h1>Hello non i18n world!</h1>
|
29
|
+
|
25
30
|
untranslated_title_en:
|
26
31
|
record: untranslated (Post)
|
27
32
|
name: title
|
@@ -95,7 +95,7 @@ module Mobility
|
|
95
95
|
end
|
96
96
|
end
|
97
97
|
|
98
|
-
test 'post content is eager loaded' do
|
98
|
+
test 'post content is eager loaded explicitly' do
|
99
99
|
post = assert_queries(2) { Post.with_rich_text_content.last }
|
100
100
|
|
101
101
|
assert_no_queries do
|
@@ -105,8 +105,24 @@ module Mobility
|
|
105
105
|
end
|
106
106
|
end
|
107
107
|
|
108
|
+
test 'post content is eager loaded with all rich text' do
|
109
|
+
post = assert_queries(2) { Post.with_all_rich_text.last }
|
110
|
+
|
111
|
+
assert_no_queries do
|
112
|
+
assert_equal 'Hello world!', post.content.to_plain_text
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
116
|
+
test 'post non_i18n_content is eager loaded with all rich text' do
|
117
|
+
post = assert_queries(2) { Post.with_all_rich_text.last }
|
118
|
+
|
119
|
+
assert_no_queries do
|
120
|
+
assert_equal 'Hello non i18n world!', post.non_i18n_content.to_plain_text
|
121
|
+
end
|
122
|
+
end
|
123
|
+
|
108
124
|
test 'post is being destroyed' do
|
109
|
-
assert_difference ->{Mobility::Backends::ActionText::RichTextTranslation.count}, -
|
125
|
+
assert_difference ->{Mobility::Backends::ActionText::RichTextTranslation.count}, -5 do
|
110
126
|
assert posts(:one).destroy
|
111
127
|
end
|
112
128
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mobility-actiontext
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sébastien Dubois
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-02-
|
11
|
+
date: 2022-02-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: actiontext
|
@@ -154,7 +154,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
154
154
|
- !ruby/object:Gem::Version
|
155
155
|
version: '0'
|
156
156
|
requirements: []
|
157
|
-
rubygems_version: 3.3.
|
157
|
+
rubygems_version: 3.3.7
|
158
158
|
signing_key:
|
159
159
|
specification_version: 4
|
160
160
|
summary: Translate Rails Action Text rich text with Mobility.
|