Skip to content

Commit 70338d5

Browse files
committed
Refactored factory and component logic
1 parent 798eaff commit 70338d5

File tree

4 files changed

+30
-32
lines changed

4 files changed

+30
-32
lines changed

app/components/cms/footer_component/footer_component.html.erb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
</div>
1313
<% link_blocks.each do |block| %>
1414
<div class="cms-footer-component__link-block">
15-
<% block[:links].each do |link| %>
16-
<%= render link.render %>
15+
<% block.each do |link| %>
16+
<%= render link.render(additional_classes: ["govuk-footer__link", "ncce-link", "ncce-link--on-dark"]) %>
1717
<% end %>
1818
</div>
1919
<% end %>

app/services/cms/models/dynamic_components/content_blocks/link_with_icon.rb

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,21 @@ module Models
33
module DynamicComponents
44
module ContentBlocks
55
class LinkWithIcon
6-
attr_accessor :link_text, :url, :icon, :additional_classes
6+
attr_accessor :link_text, :url, :icon
77

8-
def initialize(link_text:, url:, icon:, additional_classes:)
8+
def initialize(link_text:, url:, icon:)
99
@link_text = link_text
1010
@url = url
1111
@icon = icon
12-
@additional_classes = additional_classes
1312
end
1413

15-
def render
16-
Cms::LinkWithIconComponent.new(link_text:, url:, icon:, additional_classes:)
14+
def render(additional_classes: nil)
15+
Cms::LinkWithIconComponent.new(
16+
link_text: @link_text,
17+
url: @url,
18+
icon: @icon,
19+
additional_classes: additional_classes
20+
)
1721
end
1822
end
1923
end

app/services/cms/models/meta/footer_link_block.rb

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,15 @@ module Cms
22
module Models
33
module Meta
44
class FooterLinkBlock
5-
attr_accessor :link_block
5+
attr_accessor :link_blocks
66

7-
def initialize(link_block:)
8-
@link_block = link_block
7+
def initialize(link_blocks:)
8+
@link_blocks = link_blocks
99
end
1010

1111
def process_blocks
12-
@link_block.map do |block|
13-
{
14-
links: block[:links].map do |link|
15-
link
16-
end
17-
}
12+
@link_blocks.map do |block|
13+
block
1814
end
1915
end
2016
end

app/services/cms/providers/strapi/factories/model_factory.rb

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -159,22 +159,20 @@ def self.to_menu(strapi_data, _all_data)
159159

160160
def self.to_footer(strapi_data, _all_data)
161161
{
162-
link_block: strapi_data.map do |link|
163-
{
164-
links: link[:link].map {
165-
Models::DynamicComponents::ContentBlocks::LinkWithIcon.new(
166-
link_text: _1[:linkText],
167-
url: _1[:url],
168-
icon: _1[:icon].dig(:data).nil? ? nil : Models::Images::Image.new(
169-
url: _1[:icon][:data][:attributes][:url],
170-
alt: _1[:icon][:data][:attributes][:alternativeText],
171-
caption: _1[:icon][:data][:attributes][:caption],
172-
default_size: :small,
173-
formats: _1[:icon][:data][:attributes][:formats]
174-
),
175-
additional_classes: ["govuk-footer__link", "ncce-link", "ncce-link--on-dark"]
176-
)
177-
}
162+
link_blocks: strapi_data.map do |link|
163+
byebug
164+
link[:link].map {
165+
Models::DynamicComponents::ContentBlocks::LinkWithIcon.new(
166+
link_text: _1[:linkText],
167+
url: _1[:url],
168+
icon: _1[:icon].dig(:data).nil? ? nil : Models::Images::Image.new(
169+
url: _1[:icon][:data][:attributes][:url],
170+
alt: _1[:icon][:data][:attributes][:alternativeText],
171+
caption: _1[:icon][:data][:attributes][:caption],
172+
default_size: :small,
173+
formats: _1[:icon][:data][:attributes][:formats]
174+
),
175+
)
178176
}
179177
end
180178
}

0 commit comments

Comments
 (0)