oga 1.2.1 → 1.2.2

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
  SHA1:
3
- metadata.gz: 49e8bbac0a9f880b8e5b068bb4c9bf684af62124
4
- data.tar.gz: 4dfb3b6c5cbd3c9de6bf0afef43545052386487f
3
+ metadata.gz: d1ef8ce9859d513dc0b7aa68284d825e3f50d548
4
+ data.tar.gz: f463aba9ea8634735834f8c31323893b5dd48f00
5
5
  SHA512:
6
- metadata.gz: 3e487af3bcad6f4e6e7a340a7709be355fa614c766fded6c8643befff56407c621710d00784394b277b59985e8c3b2d3d338606bd07864bdcc37cb5bd22cde46
7
- data.tar.gz: 3d475e191270aab814a09e509cad56f1f0f57a8dd0c6ce3806625401384f586bbd661f2308a8e3f6339a6e1aa1dacc78bfd184d29f506f1c2f7db8fcfb986008
6
+ metadata.gz: 81e745c8341fa7b6cae1f7a9ddbd5d066cacb2ce547ee48680be8d2e2b4898fcaba7e2aa6c4ee16dc7169785f7fd24ca31bed725e913f6fe1abd1e50bffc2caf
7
+ data.tar.gz: 994e333deff715e9172cdddcd876c99d212750cb4b59f41e93765cccef9dc3df6e0e851520c098e3308f8fdcaee0317cd17099e1e2324e6cdccecd5c7c6054be
@@ -137,8 +137,10 @@ module Oga
137
137
  if @owner != Thread.current
138
138
  @mutex.synchronize do
139
139
  @owner = Thread.current
140
+ retval = yield
141
+ @owner = nil
140
142
 
141
- yield
143
+ retval
142
144
  end
143
145
  else
144
146
  yield
@@ -1,3 +1,3 @@
1
1
  module Oga
2
- VERSION = '1.2.1'
2
+ VERSION = '1.2.2'
3
3
  end # Oga
@@ -512,8 +512,11 @@ module Oga
512
512
  end
513
513
  end
514
514
 
515
- add_token(:T_ELEM_END)
515
+ # Prevents a superfluous end tag of a self-closing HTML tag from
516
+ # closing its parent element prematurely
517
+ return if html? && name && name != current_element
516
518
 
519
+ add_token(:T_ELEM_END)
517
520
  @elements.pop
518
521
  end
519
522
 
@@ -31,16 +31,16 @@ module Oga
31
31
  # @yieldparam [Oga::XML::Node] The current node.
32
32
  #
33
33
  def each_node
34
- visit = children.to_a.dup # copy it since we're modifying the array
34
+ visit = children.to_a.reverse
35
35
 
36
36
  until visit.empty?
37
- current = visit.shift
37
+ current = visit.pop
38
38
 
39
39
  catch :skip_children do
40
40
  yield current
41
41
 
42
42
  current.children.to_a.reverse_each do |child|
43
- visit.unshift(child)
43
+ visit << child
44
44
  end
45
45
  end
46
46
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oga
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yorick Peterse
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-30 00:00:00.000000000 Z
11
+ date: 2015-08-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ast
@@ -219,7 +219,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
219
219
  version: '0'
220
220
  requirements: []
221
221
  rubyforge_project:
222
- rubygems_version: 2.4.8
222
+ rubygems_version: 2.4.5
223
223
  signing_key:
224
224
  specification_version: 4
225
225
  summary: Oga is an XML/HTML parser written in Ruby.