bem_html 1.0.1 → 1.1.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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/bem_html.gemspec +1 -1
  3. data/lib/bem_html.rb +9 -13
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c3b18970639fd699f7614d5b2894e9c51007d6bf
4
- data.tar.gz: fccca43f3f35e40f1c5c55c6adfdb0222cff6b34
3
+ metadata.gz: a68e25b7b873e881808f3784f3796b3e345be19e
4
+ data.tar.gz: 87a85c8309d7ceeaee572d33f5887fe862b652c4
5
5
  SHA512:
6
- metadata.gz: a6ab8f5a0ef7dc586b014732876b7c84feaa8b18b2681a44b6b7296dda5a7563dbdb08ab5475d7b5e945aba661c529058c2df7be0f1be1dcde686b8747e2fa16
7
- data.tar.gz: 517466b78e4e1a78925eb405be73624463aae2be87d7cfe5111cd327b64c2bf494cd6e4394ed33d7428902554b8f3a766ee7a1552e3e82ef0d85fdd410e07471
6
+ metadata.gz: f48865cbb794f2fe6d91e72b81e9030f131ae087c014dff2f98f7b36dae15ec345bb61cf40847ad73af1a3eb54d17fed21bba149e3829296111936347b2ba723
7
+ data.tar.gz: 7252abbd9a2654d179e6cb116d2ce530257e30fc94c388c052372fe05ea5d1e09f5cbbf75a5fd4a211e67a095e90f4ab4dbdb55ab4b6442eefe09804e6ae39ad
data/bem_html.gemspec CHANGED
@@ -3,7 +3,7 @@ $:.push File.expand_path("../lib", __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "bem_html"
6
- s.version = "1.0.1"
6
+ s.version = "1.1.0"
7
7
  s.platform = Gem::Platform::RUBY
8
8
  s.authors = ["Andrew Pilsch"]
9
9
  s.email = ["apilsch@tamu.edu"]
data/lib/bem_html.rb CHANGED
@@ -11,19 +11,19 @@ class BemHtml
11
11
  blockNode['class'] = ""
12
12
  end
13
13
  blockNode['class'] += " #{currentBlock}"
14
- nextBlock = [currentBlock]
15
14
  if(blockNode.attributes["bem-modifiers"])
15
+ nextBlock = [currentBlock]
16
16
  JSON.parse(blockNode.attributes["bem-modifiers"].value.gsub(/\:(\w+)/,'"\1"')).each do |modifier|
17
17
  nextBlock.push("#{currentBlock}--#{modifier}")
18
18
  blockNode['class'] += " #{currentBlock}--#{modifier}"
19
19
  end
20
20
  blockNode.attributes["bem-modifiers"].remove
21
+ else
22
+ nextBlock = currentBlock
21
23
  end
22
- processingQueue = [[nextBlock, blockNode.children]]
24
+ processingQueue = [blockNode.children]
23
25
  while processingQueue.length > 0
24
- topQueue = processingQueue.shift
25
- currentBlock = topQueue[0]
26
- nodes = topQueue[1]
26
+ nodes = processingQueue.shift
27
27
  nodes.each do |node|
28
28
  next if not node.attributes
29
29
  next if node.attributes["bem-block"]
@@ -36,13 +36,9 @@ class BemHtml
36
36
  element = node.attributes["bem-element"]
37
37
  node.attributes["bem-element"].remove
38
38
  if(currentBlock.respond_to? :push)
39
- nextBlock = currentBlock.map do |cb|
40
- node['class'] += " #{cb}__#{element}"
41
- "#{cb}__#{element}"
42
- end
39
+ node['class'] += " #{cb}__#{element}"
43
40
  else
44
- nextBlock = "#{currentBlock}__#{element}"
45
- node['class'] += " #{nextBlock}"
41
+ node['class'] += " #{currentBlock}__#{element}"
46
42
  end
47
43
 
48
44
  if(node.attributes["bem-modifiers"])
@@ -50,7 +46,6 @@ class BemHtml
50
46
  if(currentBlock.respond_to? :push)
51
47
  currentBlock.each do |cb|
52
48
  node['class'] += " #{cb}__#{element}--#{modifier}"
53
- nextBlock.push("#{cb}__#{element}--#{modifier}")
54
49
  end
55
50
  else
56
51
  node['class'] += " #{currentBlock}__#{element}--#{modifier}"
@@ -58,8 +53,9 @@ class BemHtml
58
53
  end
59
54
  node.attributes["bem-modifiers"].remove
60
55
  end
56
+ node['class'] = node['class'].lstrip
61
57
  if(node.children.length > 0)
62
- processingQueue.push([nextBlock, node.children])
58
+ processingQueue.push(node.children)
63
59
  end
64
60
  end
65
61
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bem_html
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Pilsch
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-07-02 00:00:00.000000000 Z
11
+ date: 2016-07-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri