molecule 0.2.4 → 1.2.2

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: 4f61bb41f5c639e0dcad823a22bbc34f4c9bfcf3ae4b45f9746b5d0c49a10077
4
- data.tar.gz: 577575e585a397a50e167bf440280241c9cad00102fdeada6a163f13cf10f698
3
+ metadata.gz: 17ba548775d6f7ef8bd2b0c1ecc659d1fb919968c58b20249ed0ad7bb829df98
4
+ data.tar.gz: 53f89520ea0ea4305a92f72264f6a3db85a8948d7181606caa9ef5af89f733b0
5
5
  SHA512:
6
- metadata.gz: e10d10a9535c08cacbf495d564a2d7228e95e320f8183249e3aee5a317d885d0e41278fa692978278128cffee75e5bd3945b69393be1b4dceaddc100e76526ee
7
- data.tar.gz: 4b9b98d18375da1c929aa9c67186b5cb75c750f40441e6e10d341450332a0f2e6a65ce45a02e6a7bdaef953ba9ae6fe4b6e478d111997b5fe99275adb5b2f2f7
6
+ metadata.gz: 1e8a0fbd4b803fa476acc10b9ba1c20559b6228350a97b1d2861da4d270374429961f5f27832ac4b3456ce0589cc19055a401130d5ec0d3f27e1e6e088a75941
7
+ data.tar.gz: 4d44e38691a1ad5464e0e3d6c1f4e9a5b5ccb5c7cfb7897a878b18d3a2ec68f25a19c299a3b0eb0f65e94bc5a8135cc4ea607e3e22ee5f643199c6b774700e5b
data/README.md CHANGED
@@ -8,7 +8,7 @@ How to use my plugin.
8
8
  Add this line to your application's Gemfile:
9
9
 
10
10
  ```ruby
11
- gem 'molecular_renderer'
11
+ gem 'molecule'
12
12
  ```
13
13
 
14
14
  And then execute:
@@ -8,6 +8,9 @@ module Molecule
8
8
 
9
9
  def molecule_inline_script molecule_name
10
10
  content_tag(:script, molecule_asset_contents(molecule_name, 'inline', 'scripts')).html_safe
11
+ rescue
12
+ Rails.logger.warn "no inline script for '#{molecule_name}'"
13
+ ''
11
14
  end
12
15
 
13
16
  def molecule_defer_style molecule_name
@@ -22,6 +25,14 @@ module Molecule
22
25
  content_tag(:script, '', {defer: :defer, src: relative_link}).html_safe
23
26
  end
24
27
 
28
+ def molecule_inject_script_name molecule_name
29
+ relative_link = molecule_relative_path(molecule_name, 'defer', 'scripts')
30
+ content_tag(:script, "window.script_name='#{relative_link}';".html_safe).html_safe
31
+ rescue
32
+ Rails.logger.warn "no inline script name for '#{molecule_name}'"
33
+ ''
34
+ end
35
+
25
36
  def molecule_asset_contents molecule_name, asset_group, asset_type
26
37
  ::File.read(abolute_asset_path(molecule_name, asset_group, asset_type)).html_safe
27
38
  end
@@ -33,6 +44,12 @@ module Molecule
33
44
 
34
45
  def molecule_inline_sprite molecule_name
35
46
  manifest_path = Rails.root.join('public', 'manifests', "#{molecule_name}/icons.json")
47
+
48
+ unless ::File.exists?(manifest_path)
49
+ Rails.logger.warn("asset manifest not found: '#{manifest_path}'")
50
+ return ''
51
+ end
52
+
36
53
  manifest = ::File.read(manifest_path)
37
54
  json = JSON.parse(manifest);
38
55
  asset_path = Rails.root.join('public', 'assets', 'svg', json["#{molecule_name}.svg"])
@@ -46,7 +63,7 @@ module Molecule
46
63
  def find_asset molecule_name, asset_group, asset_type
47
64
  config = load_manifest(molecule_name, asset_group, asset_type)
48
65
  suffix = suffix_for_type(asset_type)
49
- asset_slug = "#{molecule_name}-#{asset_group}.#{suffix}"
66
+ asset_slug = "#{molecule_name}-#{asset_type}-#{asset_group}.#{suffix}"
50
67
  asset = config[asset_slug]
51
68
  return suffix, asset
52
69
  end
@@ -73,7 +90,7 @@ module Molecule
73
90
  end
74
91
 
75
92
  def manifest_path molecule_name, asset_group, asset_type
76
- Rails.root.join('public', 'manifests', "#{molecule_name}/#{asset_group}-#{asset_type}.json")
93
+ Rails.root.join('public', 'manifests', "#{molecule_name}/#{asset_type}-#{asset_group}.json")
77
94
  end
78
95
  end
79
96
 
@@ -6,13 +6,13 @@ module Molecule
6
6
  class Renderer < ::ActionView::PartialRenderer
7
7
 
8
8
  # narrow template lookup path to the provided molecule
9
- def render context, options, &block
9
+ def render context, &block
10
10
  @@stack ||= ::Molecule::Stack.new
11
- with_member_override(:view_paths, molecule_view_paths(options)) do
12
- with_member_override(:prefixes, [molecule_prefix(options)]) do
13
- with_dependency_check(options[:molecule]) do
14
- with_new_molecule(options[:molecule]) do
15
- result = super(context, options, block).body
11
+ with_member_override(:view_paths, molecule_view_paths) do
12
+ with_member_override(:prefixes, [molecule_prefix]) do
13
+ with_dependency_check(@options[:molecule]) do
14
+ with_new_molecule(@options[:molecule]) do
15
+ result = super(@options[:molecule], context, block).body
16
16
  end
17
17
  end
18
18
  end
@@ -58,18 +58,18 @@ module Molecule
58
58
  @lookup_context.find_template(path, prefixes, false, locals, @details)
59
59
  end
60
60
 
61
- def molecule_view_paths options
62
- ::ActionView::PathSet.new([molecule_template_path(options)])
61
+ def molecule_view_paths
62
+ ::ActionView::PathSet.new([molecule_template_path])
63
63
  end
64
64
 
65
65
  # molecules path
66
- def molecule_template_path options
66
+ def molecule_template_path
67
67
  Rails.root.join('app', 'molecules')
68
68
  end
69
69
 
70
70
  # path for current molecule
71
- def molecule_prefix options
72
- "#{options[:molecule].to_s}/views"
71
+ def molecule_prefix
72
+ "#{@options[:molecule].to_s}/views"
73
73
  end
74
74
 
75
75
  # default template entrypoint
@@ -80,3 +80,4 @@ module Molecule
80
80
  end
81
81
 
82
82
  end
83
+
@@ -6,7 +6,7 @@ module Molecule
6
6
 
7
7
  def render(context, options)
8
8
  if options.key?(:molecule)
9
- ::Molecule::Renderer.new(@lookup_context).render(context, options)
9
+ ::Molecule::Renderer.new(@lookup_context, options).render(context)
10
10
  else
11
11
  super
12
12
  end
@@ -1,3 +1,3 @@
1
1
  module Molecule
2
- VERSION = '0.2.4'
2
+ VERSION = '1.2.2'
3
3
  end
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: molecule
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 1.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dirk Gustke
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-01-26 00:00:00.000000000 Z
11
+ date: 2020-12-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '6'
19
+ version: '6.1'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '6'
26
+ version: '6.1'
27
27
  description: provide and use template and assets in a self-contained way
28
28
  email:
29
29
  - code+molecule@asm68k.org
@@ -75,7 +75,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
75
75
  - !ruby/object:Gem::Version
76
76
  version: '0'
77
77
  requirements: []
78
- rubygems_version: 3.0.3
78
+ rubygems_version: 3.1.2
79
79
  signing_key:
80
80
  specification_version: 4
81
81
  summary: provide and use template and assets in a self-contained way