decidim-dev 0.27.2 → 0.27.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e3714b296c67160ef7e367d2134430c15f5a2c21ca197a3c1a1dc84bb2e557e3
4
- data.tar.gz: 5c5f3332902873532daeb672416c7a6c8ea234a84d7515d694d94f7abd44c31b
3
+ metadata.gz: a8418d7ae6e85aa4a658a0c52d2e39954b7b8dec097c38b8f071fa4d51b21fa3
4
+ data.tar.gz: 96bfc08644fb6a5ab4d34eb6d37e222da103d3fb46ed0668acc321b545009ebc
5
5
  SHA512:
6
- metadata.gz: 3622eb2d74fa682d35ce8f6008028724618194f1d4086ad09e490be40a8acc8ac2e79e2efef823f6598980bfee41d8058a83d456218986d87d1eb99cce7dd3ba
7
- data.tar.gz: 4f7ef07279a3a16b894be9bc6f5ce3712f1c208b73ce3c176252e40bd6feac046b154807de93d1612a6b4d4a2f6ff7efd14dbebacc6ea9cedaf30098eee5eb84
6
+ metadata.gz: 240c26feb4ade240648b8ffb1b180d8d1011e994b82da1f470b7a272ca10cfd27627e2d8a5b5927a87f0bcdee2582089b75b8f0cf760aeb257028e2f7e3cc477
7
+ data.tar.gz: 80e4c51e2e7bbab875f8c39fad8648e4bda54252f5f0045e3eeb297ab1713b2a529f9a76ca83c706297a596797dbb68c17052bd120482c21052d5e7ce9a09b8e
@@ -0,0 +1 @@
1
+ import "src/decidim/dev/test/custom_map_factory";
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Example of a custom map controller and how to override the
3
+ * `createMapController` factory method. To use it in the ERB view, add the
4
+ * following snippet to any view:
5
+ *
6
+ * <%= dynamic_map_for type: "custom", markers: [{ title: "Test 1", latitude: 41.385063, longitude: 2.173404 }], popup_template_id: "custom-popup" do %>
7
+ * <% javascript_pack_tag("decidim_dev_test_custom_map") %>
8
+ * <template id="custom-popup">
9
+ * <div>
10
+ * <h3>${title}</h3>
11
+ * </div>
12
+ * </template>
13
+ * <% end %>
14
+ */
15
+
16
+ import MapMarkersController from "src/decidim/map/controller/markers";
17
+
18
+ const appendToBody = (content) => {
19
+ const p = document.createElement("p");
20
+ p.innerHTML = content;
21
+ document.body.appendChild(p);
22
+ }
23
+
24
+ class CustomMapController extends MapMarkersController {
25
+ start() {
26
+ this.markerClusters = null;
27
+ this.addMarkers(this.config.markers);
28
+
29
+ appendToBody("Custom map started");
30
+ }
31
+ }
32
+
33
+ const origCreateMapController = window.Decidim.createMapController;
34
+
35
+ const createMapController = (mapId, config) => {
36
+ if (config.type === "custom") {
37
+ return new CustomMapController(mapId, config);
38
+ }
39
+
40
+ return origCreateMapController(mapId, config);
41
+ }
42
+
43
+ window.Decidim.createMapController = createMapController;
44
+
45
+ // Prevent external requests to the Here URLs during tests
46
+ if (L.TileLayer.HERE) {
47
+ L.TileLayer.HERE.prototype.onAdd = function(map) {};
48
+ }
49
+
50
+ // Test that the map events are working correctly
51
+ $("[data-decidim-map]").on("ready.decidim", (ev, _map, mapConfig) => {
52
+ appendToBody("Custom map ready");
53
+ });
54
+
55
+ appendToBody("LOADED");
data/config/assets.rb CHANGED
@@ -4,5 +4,6 @@ base_path = File.expand_path("..", __dir__)
4
4
 
5
5
  Decidim::Webpacker.register_path("#{base_path}/app/packs")
6
6
  Decidim::Webpacker.register_entrypoints(
7
- decidim_dev: "#{base_path}/app/packs/entrypoints/decidim_dev.js"
7
+ decidim_dev: "#{base_path}/app/packs/entrypoints/decidim_dev.js",
8
+ decidim_dev_test_custom_map: "#{base_path}/app/packs/entrypoints/decidim_dev_test_custom_map.js"
8
9
  )
File without changes
@@ -4,6 +4,7 @@ ar:
4
4
  attributes:
5
5
  dummy_resource:
6
6
  created_at: أنشئت في
7
+ decidim_scope_id: نطاق
7
8
  field: مجالي
8
9
  start_date: تاريخ البداية
9
10
  title: العنوان
@@ -14,12 +15,29 @@ ar:
14
15
  dummy:
15
16
  settings:
16
17
  global:
18
+ guided: المدخلات الموجهة
19
+ guided_help: نص المساعدة
20
+ guided_readonly: تعطيل الإدخال
21
+ guided_rich: مدخلات غنية موجهة
22
+ guided_rich_help_html: HTML<strong>مساعدة</strong>نص
23
+ guided_rich_readonly_html: HTML <strong>مساعدة</strong> للمدخلات المعطلة
24
+ readonly_attribute: سمة القراءة فقط
25
+ test: فحص
26
+ test_choices:
27
+ a: خيار أ
28
+ b: خيار ب
29
+ c: خيار ج
17
30
  test_options:
18
31
  bar: شريط
32
+ baz: الباز
19
33
  foo: فو
20
34
  step:
35
+ endorsements_blocked: تم حظر التأييدات
36
+ endorsements_enabled: تم تمكين التأييدات
37
+ readonly_step_attribute: سمة خطوة للقراءة فقط
21
38
  test_options:
22
39
  bar: شريط
40
+ baz: الباز
23
41
  foo: فو
24
42
  dummy:
25
43
  admin:
@@ -15,6 +15,12 @@ de:
15
15
  dummy:
16
16
  settings:
17
17
  global:
18
+ guided: Geführte Eingabe
19
+ guided_help: Hilfetext
20
+ guided_readonly: Deaktivierte Eingabe
21
+ guided_rich: Geführte reiche Eingabe
22
+ guided_rich_help_html: HTML <strong>Hilfe</strong> Text
23
+ guided_rich_readonly_html: HTML <strong>Hilfe</strong> Text für deaktivierte Eingabe
18
24
  readonly_attribute: Attribut schreibgeschützt
19
25
  test: Test A
20
26
  test_choices:
@@ -23,6 +29,7 @@ de:
23
29
  c: Wahl C
24
30
  test_options:
25
31
  bar: Bar
32
+ baz: Baz
26
33
  foo: Foo
27
34
  step:
28
35
  endorsements_blocked: Befürwortungen blockiert
@@ -30,6 +37,7 @@ de:
30
37
  readonly_step_attribute: Schritt-Attribut schreibgeschützt
31
38
  test_options:
32
39
  bar: Bar
40
+ baz: Baz
33
41
  foo: Foo
34
42
  dummy:
35
43
  admin:
@@ -0,0 +1 @@
1
+ fa:
@@ -0,0 +1 @@
1
+ kaa:
@@ -15,7 +15,12 @@ ro:
15
15
  dummy:
16
16
  settings:
17
17
  global:
18
+ guided: Introducere ghidată
18
19
  guided_help: Text de ajutor
20
+ guided_readonly: Intrare dezactivată
21
+ guided_rich: Introducere ghidată a conținutului bogat
22
+ guided_rich_help_html: <strong>Ajutor</strong> text pentru HTML
23
+ guided_rich_readonly_html: <strong>Ajutor</strong> HTML text pentru intrare dezactivată
19
24
  readonly_attribute: Atribut Readonly
20
25
  test: Un test
21
26
  test_choices:
@@ -1 +1,65 @@
1
+ ---
1
2
  zh-TW:
3
+ activemodel:
4
+ attributes:
5
+ dummy_resource:
6
+ created_at: 建立於
7
+ decidim_scope_id: 範圍
8
+ field: 我的欄位
9
+ start_date: 開始日期
10
+ title: 標題
11
+ translatable_text: 可翻譯的文字
12
+ updated_at: 更新於
13
+ decidim:
14
+ components:
15
+ dummy:
16
+ settings:
17
+ global:
18
+ guided: 導引輸入
19
+ guided_help: 說明文字
20
+ guided_readonly: 禁用輸入
21
+ guided_rich: 導引豐富輸入
22
+ guided_rich_help_html: HTML <strong>說明</strong> 文字
23
+ guided_rich_readonly_html: 禁用輸入 HTML <strong>說明</strong> 文字
24
+ readonly_attribute: 唯讀屬性
25
+ test: A 測試
26
+ test_choices:
27
+ a: A選項
28
+ b: B選項
29
+ c: C選項
30
+ test_options:
31
+ bar: Bar
32
+ baz: Baz
33
+ foo: Foo
34
+ step:
35
+ endorsements_blocked: 封鎖支持
36
+ endorsements_enabled: 啟用支持
37
+ readonly_step_attribute: 唯讀步驟屬性
38
+ test_options:
39
+ bar: Bar
40
+ baz: Baz
41
+ foo: Foo
42
+ dummy:
43
+ admin:
44
+ exports:
45
+ dummies: 測試帳戶
46
+ gamification:
47
+ badges:
48
+ test:
49
+ conditions:
50
+ - 在Decidim中使用測試環境。
51
+ description: 參與者通過建立測試可獲得此徽章。
52
+ description_another: 此參與者已建立了 %{score} 個測試。
53
+ description_own: 您已建立了 %{score} 個測試。
54
+ name: 測試
55
+ next_level_in: 再建立 %{score} 個測試即可達到下一個等級!
56
+ unearned_another: 這個參與者尚未創建任何測試。
57
+ unearned_own: 您尚未建立任何測試。
58
+ resource_links:
59
+ test_link:
60
+ dummy_resource_dummy: 相關的測試帳戶
61
+ statistics:
62
+ bar: Bar
63
+ dummies_count_high: 高級測試帳戶
64
+ dummies_count_medium: 中級測試帳戶
65
+ foo: Foo
Binary file
@@ -1,5 +1,25 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ shared_examples "has mandatory config setting" do |mandatory_field|
4
+ let(:edit_component_path) do
5
+ Decidim::EngineRouter.admin_proxy(component.participatory_space).edit_component_path(component.id)
6
+ end
7
+
8
+ before do
9
+ visit edit_component_path
10
+ component.update(settings: { mandatory_field => "" })
11
+ visit edit_component_path
12
+ end
13
+
14
+ it "does not allow updating the component" do
15
+ click_button "Update"
16
+
17
+ within ".#{mandatory_field}_container" do
18
+ expect(page).to have_content("There's an error in this field")
19
+ end
20
+ end
21
+ end
22
+
3
23
  shared_context "with a component" do
4
24
  let(:manifest) { Decidim.find_component_manifest(manifest_name) }
5
25
  let(:user) { create :user, :confirmed, organization: organization }
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RSpec::Core
4
+ module Notifications
5
+ class SummaryNotification
6
+ # Override the original method to add the full path to the spec file and the correct rspec command to rerun the failed spec
7
+ # The goal is to be able to copy-paste the command to rerun the failed spec without having to manually add the full path to the spec file
8
+ #
9
+ # So, instead of:
10
+ # > rspec ./spec/system/registration_spec.rb:27
11
+ #
12
+ # We get:
13
+ # > bin/rspec ./decidim-core/spec/system/registration_spec.rb:27
14
+ #
15
+ # Original code in rspec-core: https://github.com/rspec/rspec-core/blob/8caecca0b9b299ccbaa5c7ea5dd885ab42cd57d3/lib/rspec/core/notifications.rb#L365
16
+ def colorized_rerun_commands(colorizer=::RSpec::Core::Formatters::ConsoleCodes)
17
+ rspec_command = running_with_rspec_wrapper? ? "bin/rspec" : "rspec"
18
+ "\nFailed examples:\n\n" +
19
+ failed_examples.map do |example|
20
+ colorizer.wrap("#{rspec_command} #{rerun_argument_for(example)}", RSpec.configuration.failure_color) + " " +
21
+ colorizer.wrap("# #{example.full_description}", RSpec.configuration.detail_color)
22
+ end.join("\n")
23
+ end
24
+
25
+ private
26
+
27
+ def running_with_rspec_wrapper?
28
+ $0 == "bin/rspec"
29
+ end
30
+
31
+ def rerun_argument_for(example)
32
+ if running_with_rspec_wrapper?
33
+ location = location_rerun_argument_for_decidim(example)
34
+ else
35
+ location = example.location_rerun_argument
36
+ end
37
+ return location unless duplicate_rerun_locations.include?(location)
38
+
39
+ conditionally_quote(example.id)
40
+ end
41
+
42
+ def location_rerun_argument_for_decidim(example)
43
+ absolute_file_path = example.metadata[:absolute_file_path]
44
+ file_path = example.metadata[:file_path][1..-1]
45
+ module_dir = absolute_file_path.gsub(file_path, "").split("/")[-1]
46
+
47
+ "./#{module_dir}#{file_path}:#{example.metadata[:line_number]}"
48
+ end
49
+ end
50
+ end
51
+ end
@@ -4,7 +4,7 @@ module Decidim
4
4
  # This holds the decidim-dev version.
5
5
  module Dev
6
6
  def self.version
7
- "0.27.2"
7
+ "0.27.4"
8
8
  end
9
9
  end
10
10
  end
@@ -0,0 +1,175 @@
1
+ # frozen_string_literal: true
2
+
3
+ #
4
+ # Originally copied from https://github.com/koic/rubocop/blob/master/lib/rubocop/cop/mixin/hash_shorthand_syntax.rb
5
+ # Copyright (c) 2012-22 Bozhidar Batsov
6
+ # MIT License
7
+ #
8
+
9
+ module RuboCop
10
+ module Cop
11
+ # This module checks for Ruby 3.1's hash value omission syntax.
12
+ #
13
+ # For using this on Decidim, we have added the Decidim namespace and also the Backports prefix
14
+ # to the module name
15
+ module Decidim
16
+ module HashShorthandSyntaxBackports
17
+ OMIT_HASH_VALUE_MSG = "Omit the hash value."
18
+ EXPLICIT_HASH_VALUE_MSG = "Include the hash value."
19
+ DO_NOT_MIX_MSG_PREFIX = "Do not mix explicit and implicit hash values."
20
+ DO_NOT_MIX_OMIT_VALUE_MSG = "#{DO_NOT_MIX_MSG_PREFIX} #{OMIT_HASH_VALUE_MSG}".freeze
21
+ DO_NOT_MIX_EXPLICIT_VALUE_MSG = "#{DO_NOT_MIX_MSG_PREFIX} #{EXPLICIT_HASH_VALUE_MSG}".freeze
22
+
23
+ def on_hash_for_mixed_shorthand(hash_node)
24
+ return if ignore_mixed_hash_shorthand_syntax?(hash_node)
25
+
26
+ hash_value_type_breakdown = breakdown_value_types_of_hash(hash_node)
27
+
28
+ if hash_with_mixed_shorthand_syntax?(hash_value_type_breakdown)
29
+ mixed_shorthand_syntax_check(hash_value_type_breakdown)
30
+ else
31
+ no_mixed_shorthand_syntax_check(hash_value_type_breakdown)
32
+ end
33
+ end
34
+
35
+ def on_pair(node)
36
+ return if ignore_hash_shorthand_syntax?(node)
37
+
38
+ hash_key_source = node.key.source
39
+
40
+ if enforced_shorthand_syntax == "always"
41
+ return if node.value_omission? || require_hash_value?(hash_key_source, node)
42
+
43
+ message = OMIT_HASH_VALUE_MSG
44
+ replacement = "#{hash_key_source}:"
45
+ self.config_to_allow_offenses = { "Enabled" => false }
46
+ else
47
+ return unless node.value_omission?
48
+
49
+ message = EXPLICIT_HASH_VALUE_MSG
50
+ replacement = "#{hash_key_source}: #{hash_key_source}"
51
+ end
52
+
53
+ register_offense(node, message, replacement)
54
+ end
55
+
56
+ private
57
+
58
+ def register_offense(node, message, replacement)
59
+ add_offense(node.value, message:) do |corrector|
60
+ corrector.replace(node, replacement)
61
+ end
62
+ end
63
+
64
+ def ignore_mixed_hash_shorthand_syntax?(hash_node)
65
+ target_ruby_version <= 3.0 || enforced_shorthand_syntax != "consistent" ||
66
+ !hash_node.hash_type?
67
+ end
68
+
69
+ def ignore_hash_shorthand_syntax?(pair_node)
70
+ target_ruby_version <= 3.0 || enforced_shorthand_syntax == "either" ||
71
+ enforced_shorthand_syntax == "consistent" ||
72
+ !pair_node.parent.hash_type?
73
+ end
74
+
75
+ def enforced_shorthand_syntax
76
+ cop_config.fetch("EnforcedShorthandSyntax", "always")
77
+ end
78
+
79
+ def require_hash_value?(hash_key_source, node)
80
+ return true if !node.key.sym_type? || require_hash_value_for_around_hash_literal?(node)
81
+
82
+ hash_value = node.value
83
+ return true unless hash_value.send_type? || hash_value.lvar_type?
84
+
85
+ hash_key_source != hash_value.source || hash_key_source.end_with?("!", "?")
86
+ end
87
+
88
+ def require_hash_value_for_around_hash_literal?(node)
89
+ return false unless (ancestor = node.parent.parent)
90
+ return false if ancestor.send_type? && ancestor.method?(:[])
91
+
92
+ !node.parent.braces? && !use_element_of_hash_literal_as_receiver?(ancestor, node.parent) &&
93
+ (use_modifier_form_without_parenthesized_method_call?(ancestor) ||
94
+ without_parentheses_call_expr_follows?(ancestor))
95
+ end
96
+
97
+ def use_element_of_hash_literal_as_receiver?(ancestor, parent)
98
+ # `{value:}.do_something` is a valid syntax.
99
+ ancestor.send_type? && ancestor.receiver == parent
100
+ end
101
+
102
+ def use_modifier_form_without_parenthesized_method_call?(ancestor)
103
+ return false if ancestor.respond_to?(:parenthesized?) && ancestor.parenthesized?
104
+
105
+ ancestor.ancestors.any? { |node| node.respond_to?(:modifier_form?) && node.modifier_form? }
106
+ end
107
+
108
+ def without_parentheses_call_expr_follows?(ancestor)
109
+ return false unless ancestor.respond_to?(:parenthesized?) && !ancestor.parenthesized?
110
+
111
+ right_sibling = ancestor.right_sibling
112
+ right_sibling ||= ancestor.each_ancestor.find do |node|
113
+ node.assignment? || node.send_type?
114
+ end&.right_sibling
115
+
116
+ !!right_sibling
117
+ end
118
+
119
+ def breakdown_value_types_of_hash(hash_node)
120
+ hash_node.pairs.group_by do |pair_node|
121
+ if pair_node.value_omission?
122
+ :value_omitted
123
+ elsif require_hash_value?(pair_node.key.source, pair_node)
124
+ :value_needed
125
+ else
126
+ :value_omittable
127
+ end
128
+ end
129
+ end
130
+
131
+ def hash_with_mixed_shorthand_syntax?(hash_value_type_breakdown)
132
+ hash_value_type_breakdown.keys.size > 1
133
+ end
134
+
135
+ def hash_with_values_that_cant_be_omitted?(hash_value_type_breakdown)
136
+ hash_value_type_breakdown[:value_needed]&.any?
137
+ end
138
+
139
+ def each_omitted_value_pair(hash_value_type_breakdown, &)
140
+ hash_value_type_breakdown[:value_omitted]&.each(&)
141
+ end
142
+
143
+ def each_omittable_value_pair(hash_value_type_breakdown, &)
144
+ hash_value_type_breakdown[:value_omittable]&.each(&)
145
+ end
146
+
147
+ def mixed_shorthand_syntax_check(hash_value_type_breakdown)
148
+ if hash_with_values_that_cant_be_omitted?(hash_value_type_breakdown)
149
+ each_omitted_value_pair(hash_value_type_breakdown) do |pair_node|
150
+ hash_key_source = pair_node.key.source
151
+ replacement = "#{hash_key_source}: #{hash_key_source}"
152
+ register_offense(pair_node, DO_NOT_MIX_EXPLICIT_VALUE_MSG, replacement)
153
+ end
154
+ else
155
+ each_omittable_value_pair(hash_value_type_breakdown) do |pair_node|
156
+ hash_key_source = pair_node.key.source
157
+ replacement = "#{hash_key_source}:"
158
+ register_offense(pair_node, DO_NOT_MIX_OMIT_VALUE_MSG, replacement)
159
+ end
160
+ end
161
+ end
162
+
163
+ def no_mixed_shorthand_syntax_check(hash_value_type_breakdown)
164
+ return if hash_with_values_that_cant_be_omitted?(hash_value_type_breakdown)
165
+
166
+ each_omittable_value_pair(hash_value_type_breakdown) do |pair_node|
167
+ hash_key_source = pair_node.key.source
168
+ replacement = "#{hash_key_source}:"
169
+ register_offense(pair_node, OMIT_HASH_VALUE_MSG, replacement)
170
+ end
171
+ end
172
+ end
173
+ end
174
+ end
175
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Rubocop
4
+ module Cop
5
+ class Decidim < Base
6
+ include HashShortandSyntaxBacports
7
+ end
8
+ end
9
+ end
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decidim-dev
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.27.2
4
+ version: 0.27.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josep Jaume Rey Peroy
8
8
  - Marc Riera Casals
9
9
  - Oriol Gual Oliva
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2023-02-13 00:00:00.000000000 Z
13
+ date: 2023-07-27 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: capybara
@@ -32,14 +32,14 @@ dependencies:
32
32
  requirements:
33
33
  - - '='
34
34
  - !ruby/object:Gem::Version
35
- version: 0.27.2
35
+ version: 0.27.4
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - '='
41
41
  - !ruby/object:Gem::Version
42
- version: 0.27.2
42
+ version: 0.27.4
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: factory_bot_rails
45
45
  requirement: !ruby/object:Gem::Requirement
@@ -408,15 +408,18 @@ files:
408
408
  - app/mailers/decidim/dummy_resources/dummy_resource_mailer.rb
409
409
  - app/packs/entrypoints/decidim_dev.js
410
410
  - app/packs/entrypoints/decidim_dev.scss
411
+ - app/packs/entrypoints/decidim_dev_test_custom_map.js
411
412
  - app/packs/images/decidim/decidim_dev_dummy.svg
412
413
  - app/packs/images/decidim/gamification/badges/decidim_gamification_badges_test.svg
413
414
  - app/packs/src/decidim/dev/accessibility.js
415
+ - app/packs/src/decidim/dev/test/custom_map_factory.js
414
416
  - app/packs/stylesheets/decidim/dev.scss
415
417
  - app/packs/stylesheets/decidim/dev/_accessibility.scss
416
418
  - app/views/decidim/dummy_resource/_linked_dummys.html.erb
417
419
  - app/views/decidim/dummy_resources/dummy_resources/foo.html.erb
418
420
  - app/views/decidim/dummy_resources/dummy_resources/show.html.erb
419
421
  - config/assets.rb
422
+ - config/environment.rb
420
423
  - config/locales/am-ET.yml
421
424
  - config/locales/ar-SA.yml
422
425
  - config/locales/ar.yml
@@ -439,6 +442,7 @@ files:
439
442
  - config/locales/et-EE.yml
440
443
  - config/locales/et.yml
441
444
  - config/locales/eu.yml
445
+ - config/locales/fa-IR.yml
442
446
  - config/locales/fi-pl.yml
443
447
  - config/locales/fi-plain.yml
444
448
  - config/locales/fi.yml
@@ -457,6 +461,7 @@ files:
457
461
  - config/locales/it.yml
458
462
  - config/locales/ja.yml
459
463
  - config/locales/ka-GE.yml
464
+ - config/locales/kaa.yml
460
465
  - config/locales/ko-KR.yml
461
466
  - config/locales/ko.yml
462
467
  - config/locales/lb-LU.yml
@@ -509,6 +514,7 @@ files:
509
514
  - lib/decidim/dev/assets/dummy-dummies-example.xlsx
510
515
  - lib/decidim/dev/assets/geocoder_result_here.json
511
516
  - lib/decidim/dev/assets/geocoder_result_osm.json
517
+ - lib/decidim/dev/assets/icon.ico
512
518
  - lib/decidim/dev/assets/icon.png
513
519
  - lib/decidim/dev/assets/id.jpg
514
520
  - lib/decidim/dev/assets/import_participatory_space_private_users.csv
@@ -585,6 +591,7 @@ files:
585
591
  - lib/decidim/dev/test/rspec_support/rake_tasks.rb
586
592
  - lib/decidim/dev/test/rspec_support/route_helpers.rb
587
593
  - lib/decidim/dev/test/rspec_support/screenshot_helper.rb
594
+ - lib/decidim/dev/test/rspec_support/summary_notification.rb
588
595
  - lib/decidim/dev/test/rspec_support/time_helpers.rb
589
596
  - lib/decidim/dev/test/rspec_support/timezone.rb
590
597
  - lib/decidim/dev/test/rspec_support/translation_helpers.rb
@@ -596,6 +603,8 @@ files:
596
603
  - lib/decidim/dev/test/spec_helper.rb
597
604
  - lib/decidim/dev/test/w3c_rspec_validators_overrides.rb
598
605
  - lib/decidim/dev/version.rb
606
+ - lib/rubocop/cop/decidim.rb
607
+ - lib/rubocop/cop/decidim/hash_shorthand_syntax_backports.rb
599
608
  - lib/tasks/generators.rake
600
609
  - lib/tasks/lighthouse_report.rake
601
610
  - lib/tasks/locale_checker.rake
@@ -603,7 +612,7 @@ homepage: https://github.com/decidim/decidim
603
612
  licenses:
604
613
  - AGPL-3.0
605
614
  metadata: {}
606
- post_install_message:
615
+ post_install_message:
607
616
  rdoc_options: []
608
617
  require_paths:
609
618
  - lib
@@ -618,8 +627,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
618
627
  - !ruby/object:Gem::Version
619
628
  version: '0'
620
629
  requirements: []
621
- rubygems_version: 3.3.7
622
- signing_key:
630
+ rubygems_version: 3.2.22
631
+ signing_key:
623
632
  specification_version: 4
624
633
  summary: Decidim dev tools
625
634
  test_files: []