rails_blocks 0.9.0.beta.2 → 0.9.0.beta.4
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/app/helpers/block_helper.rb +16 -9
- data/lib/rails_blocks/configuration.rb +2 -0
- data/lib/rails_blocks/path.rb +9 -1
- data/lib/rails_blocks/version.rb +1 -1
- metadata +2 -3
- data/rails_blocks-0.7.11.gem +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 03e2b58cf290941dd680f6e0d7893c5ad06ccaed98e6f6549f9c24876204e9aa
|
4
|
+
data.tar.gz: 5d5fda3dc88c986ea65c00f5291874c3e17f9b5712f42540be04c77f9e8e4fa9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 837d083a5707d595483fc788b169c44ae9cda7db9ed35a5727f70330b4753980ee1e3da6fb173bc6aa633cf04b6d9afc0ce003569b63acd725ea7bba2ccfb82b
|
7
|
+
data.tar.gz: e0e8e4a89613e8859d2a5e6af26d543963418e56ee87aaa0ec921578c1967e779785308bba035efea81ef058cb81d14fc7e5a6195868d468601889a859d2c81a
|
data/app/helpers/block_helper.rb
CHANGED
@@ -35,7 +35,7 @@ module BlockHelper
|
|
35
35
|
def b(b_name, options = {}, &block)
|
36
36
|
options = page_options.merge options
|
37
37
|
options[:parent_block] = context_block
|
38
|
-
push_context_block b_name
|
38
|
+
push_context_block b_name, options
|
39
39
|
template = block_template b_name, options
|
40
40
|
result = entity(template, :block, b_name, options, &block)
|
41
41
|
pop_context_block
|
@@ -44,7 +44,7 @@ module BlockHelper
|
|
44
44
|
|
45
45
|
def b_classes(b_name, options = {})
|
46
46
|
parent_block = context_block
|
47
|
-
push_context_block b_name
|
47
|
+
push_context_block b_name, options
|
48
48
|
options = page_options.merge options
|
49
49
|
options[:parent_block] = parent_block if parent_block
|
50
50
|
classes = block_classes b_name, options
|
@@ -52,8 +52,8 @@ module BlockHelper
|
|
52
52
|
classes
|
53
53
|
end
|
54
54
|
|
55
|
-
def b_context(b_name, &block)
|
56
|
-
push_context_block b_name
|
55
|
+
def b_context(b_name, options = {}, &block)
|
56
|
+
push_context_block b_name, options
|
57
57
|
result = capture(&block)
|
58
58
|
pop_context_block
|
59
59
|
result
|
@@ -160,7 +160,7 @@ module BlockHelper
|
|
160
160
|
def block_data(name, js)
|
161
161
|
level = block_js_level(context_block, @current_options[:levels])
|
162
162
|
return {} if !js
|
163
|
-
data = (js == true ? {} : js).merge!({level: level})
|
163
|
+
data = (js == true ? {} : js).merge!({level: level, js_ext: block_js_ext(context_block, level)})
|
164
164
|
entity_data(name, data)
|
165
165
|
end
|
166
166
|
|
@@ -169,7 +169,10 @@ module BlockHelper
|
|
169
169
|
end
|
170
170
|
|
171
171
|
def entity_data(name, data)
|
172
|
-
|
172
|
+
if data.is_a? Hash
|
173
|
+
transformed_data = data.transform_keys {|k| k.to_s.camelize(:lower)}
|
174
|
+
return {name => transformed_data}
|
175
|
+
end
|
173
176
|
return {name => {}} if data == true
|
174
177
|
{}
|
175
178
|
end
|
@@ -189,11 +192,15 @@ module BlockHelper
|
|
189
192
|
end
|
190
193
|
|
191
194
|
def context_block
|
192
|
-
blocks_stack.last
|
195
|
+
blocks_stack.last&.fetch(:name, nil)
|
196
|
+
end
|
197
|
+
|
198
|
+
def context_block_options
|
199
|
+
blocks_stack.last&.fetch(:options, nil)
|
193
200
|
end
|
194
201
|
|
195
|
-
def push_context_block(b_name)
|
196
|
-
blocks_stack.push b_name
|
202
|
+
def push_context_block(b_name, options)
|
203
|
+
blocks_stack.push({name: b_name, options: options})
|
197
204
|
end
|
198
205
|
|
199
206
|
def pop_context_block
|
@@ -6,6 +6,7 @@ module RailsBlocks
|
|
6
6
|
attr_accessor :element_separator
|
7
7
|
attr_accessor :modifier_separator
|
8
8
|
attr_accessor :js_class
|
9
|
+
attr_accessor :js_exts
|
9
10
|
|
10
11
|
def ns(name)
|
11
12
|
@ns ||= {}
|
@@ -20,6 +21,7 @@ module RailsBlocks
|
|
20
21
|
@element_separator = '__'
|
21
22
|
@modifier_separator = '--'
|
22
23
|
@js_class = 'js-bem'
|
24
|
+
@js_exts = ['js']
|
23
25
|
end
|
24
26
|
end
|
25
27
|
end
|
data/lib/rails_blocks/path.rb
CHANGED
@@ -36,6 +36,10 @@ module RailsBlocks
|
|
36
36
|
Path.tree.dig(level, b_name, :js)
|
37
37
|
end
|
38
38
|
end
|
39
|
+
|
40
|
+
def block_js_ext(b_name, level)
|
41
|
+
return Path.tree.dig(level, b_name, :js_ext)
|
42
|
+
end
|
39
43
|
|
40
44
|
def element_template(b_name, e_name, options = {})
|
41
45
|
options[:levels].reverse.each do |level|
|
@@ -94,17 +98,21 @@ module RailsBlocks
|
|
94
98
|
end
|
95
99
|
|
96
100
|
def self.add_js(t)
|
97
|
-
|
101
|
+
exts = RailsBlocks.config.js_exts.join(',')
|
102
|
+
js_files = Dir["#{blocks_dir}/**/*.{#{exts}}"]
|
98
103
|
js_files.each do |file|
|
99
104
|
file.sub! blocks_dir.to_s + '/', ''
|
100
105
|
parts = file.split('/')
|
101
106
|
level, block, filename = parts
|
107
|
+
ext = File.extname(filename)
|
102
108
|
filename = File.basename(filename, '.*')
|
103
109
|
|
104
110
|
t[level] ||= {}
|
105
111
|
block_def = t[level][block] ||= {elements: {}}
|
106
112
|
block_def[:js] = true
|
113
|
+
block_def[:js_ext] = ext[1..-1]
|
107
114
|
end
|
115
|
+
p t
|
108
116
|
end
|
109
117
|
|
110
118
|
def self.is_e_file(file)
|
data/lib/rails_blocks/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails_blocks
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.0.beta.
|
4
|
+
version: 0.9.0.beta.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrey Potetiurin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-08-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -181,7 +181,6 @@ files:
|
|
181
181
|
- lib/rails_blocks/path.rb
|
182
182
|
- lib/rails_blocks/version.rb
|
183
183
|
- lib/tasks/rails_blocks.rake
|
184
|
-
- rails_blocks-0.7.11.gem
|
185
184
|
- rails_blocks.gemspec
|
186
185
|
- spec/helpers/block_helper_spec.rb
|
187
186
|
- spec/internal/app/blocks/app/block3/_mod1.slim
|
data/rails_blocks-0.7.11.gem
DELETED
Binary file
|