podium 0.6.0 → 0.7.0

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: 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