podium 0.6.0 → 0.7.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 52d9ded30a9511f126d9c0f274953bcdbf4077f51047c512dcaaa21581e983f4
4
- data.tar.gz: ce81880c2495501acb9bd65a826c453a860e237ccbf8627b50d85cc2ca54e493
3
+ metadata.gz: d875ccc1106de0a2ee8718267058693e0ff88dc13aff20e491dde8c9a84c4c35
4
+ data.tar.gz: '0279ae5d91963ad2fe7734a2c6c1e6aa6cfee6583534ab279f671dfaf41fd414'
5
5
  SHA512:
6
- metadata.gz: 442500e0d2fff733f00173565b56c79b7a1e1864a55152d608661ecd5df1b65cb3ec6df6733c7ac15848bce4896379b5eead4ae05d4f1ee4e6dec61abe3eadce
7
- data.tar.gz: 2aee3a9ff7b2fc1a476674a7d2e087b9b1a282d7b7608e94b06719be027badf8b4eeca0a25a813b82756925f3e1e74216978c140244fb34b96a1e2df9afab716
6
+ metadata.gz: 5c9fcc372f4acde44d5a11a6ddcf63ae9d8d459e1567c79404c7f87989ef2b3b16255a536d171d22403d929647fea81b36654a9b0312046c76b50bddd42b3f16
7
+ data.tar.gz: a6e7db413b554789122cfb20342f3977d958da42acaac98b4892fc1a31f1c5a75d1a7f19d364a11a1480804579f8b30e6d803e464e08b1b5334a20f62ee3ae2c
@@ -0,0 +1,19 @@
1
+ module Podium
2
+ module LayoutHelpers
3
+ def podlet_content!(name)
4
+ @podlet_content.fetch(name).html_safe
5
+ end
6
+
7
+ def podlet_assets(type)
8
+ Podium.instance.podlet_resources(@podlet_content.keys).flat_map do |resource|
9
+ resource.manifest.public_send(type)
10
+ end
11
+ end
12
+
13
+ def podlet_js_tags
14
+ podlet_assets(:js).map do |data|
15
+ javascript_tag(nil, src: data.fetch("value"), type: data.fetch("type"))
16
+ end.join("\n").html_safe
17
+ end
18
+ end
19
+ end
@@ -19,8 +19,9 @@ module Podium
19
19
 
20
20
  def add_podlets_to_layout
21
21
  return if File.read(LAYOUT_PATH).include?("podlet_content!")
22
- inject_into_file LAYOUT_PATH, "<%= podlet_content!(:header) %>\n", before: "<%= yield %>"
23
- inject_into_file LAYOUT_PATH, "<%= podlet_content!(:footer) %>\n", after: "<%= yield %>\n"
22
+ inject_into_file LAYOUT_PATH, "<%= podlet_content!(:header) %>\n ", before: "<%= yield %>"
23
+ inject_into_file LAYOUT_PATH, " <%= podlet_content!(:footer) %>\n", after: "<%= yield %>\n"
24
+ inject_into_file LAYOUT_PATH, " <%= podlet_js_tags %>\n ", before: "</head>\n"
24
25
  end
25
26
 
26
27
  private
data/lib/podium/client.rb CHANGED
@@ -20,6 +20,10 @@ module Podium
20
20
  end
21
21
  end
22
22
 
23
+ def podlet_resources(names)
24
+ names.map { |name| resources[name] ||= Resource.new(podlet_uri(name), name) }
25
+ end
26
+
23
27
  private
24
28
 
25
29
  attr_reader :name_to_url, :resources
@@ -34,9 +38,5 @@ module Podium
34
38
  def podlet_uri(name)
35
39
  podlet_mapping.fetch(name)
36
40
  end
37
-
38
- def podlet_resources(names)
39
- names.map { |name| resources[name] ||= Resource.new(podlet_uri(name), name) }
40
- end
41
41
  end
42
42
  end
@@ -2,11 +2,6 @@ module Podium
2
2
  module ControllerHelpers
3
3
  def self.included(base)
4
4
  base.before_action :load_podlet_content
5
- base.helper_method :podlet_content!
6
- end
7
-
8
- def podlet_content!(name)
9
- @podlet_content.fetch(name).html_safe
10
5
  end
11
6
 
12
7
  def load_podlet_content
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Podium
4
- VERSION = "0.6.0"
4
+ VERSION = "0.7.0"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: podium
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Max Brosnahan
@@ -49,6 +49,7 @@ files:
49
49
  - app/controllers/concerns/.keep
50
50
  - app/controllers/podium/podlet_preview_controller.rb
51
51
  - app/helpers/.keep
52
+ - app/helpers/podium/layout_helpers.rb
52
53
  - app/jobs/.keep
53
54
  - app/mailers/.keep
54
55
  - app/models/.keep