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 +4 -4
- data/README.md +1 -1
- data/lib/molecule/helper.rb +19 -2
- data/lib/molecule/renderer.rb +12 -11
- data/lib/molecule/renderer_extension.rb +1 -1
- data/lib/molecule/version.rb +1 -1
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 17ba548775d6f7ef8bd2b0c1ecc659d1fb919968c58b20249ed0ad7bb829df98
|
4
|
+
data.tar.gz: 53f89520ea0ea4305a92f72264f6a3db85a8948d7181606caa9ef5af89f733b0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1e8a0fbd4b803fa476acc10b9ba1c20559b6228350a97b1d2861da4d270374429961f5f27832ac4b3456ce0589cc19055a401130d5ec0d3f27e1e6e088a75941
|
7
|
+
data.tar.gz: 4d44e38691a1ad5464e0e3d6c1f4e9a5b5ccb5c7cfb7897a878b18d3a2ec68f25a19c299a3b0eb0f65e94bc5a8135cc4ea607e3e22ee5f643199c6b774700e5b
|
data/README.md
CHANGED
data/lib/molecule/helper.rb
CHANGED
@@ -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}/#{
|
93
|
+
Rails.root.join('public', 'manifests', "#{molecule_name}/#{asset_type}-#{asset_group}.json")
|
77
94
|
end
|
78
95
|
end
|
79
96
|
|
data/lib/molecule/renderer.rb
CHANGED
@@ -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,
|
9
|
+
def render context, &block
|
10
10
|
@@stack ||= ::Molecule::Stack.new
|
11
|
-
with_member_override(:view_paths, molecule_view_paths
|
12
|
-
with_member_override(:prefixes, [molecule_prefix
|
13
|
-
with_dependency_check(options[:molecule]) do
|
14
|
-
with_new_molecule(options[:molecule]) do
|
15
|
-
result = super(
|
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
|
62
|
-
::ActionView::PathSet.new([molecule_template_path
|
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
|
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
|
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
|
+
|
data/lib/molecule/version.rb
CHANGED
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:
|
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-
|
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.
|
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
|