rexle 0.9.77 → 0.9.78

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
  SHA1:
3
- metadata.gz: cf2d1b7fb7f090c6bfb0e142ba9e0596f8730709
4
- data.tar.gz: c9217b7a30787b26500533219b851dc5e94866be
3
+ metadata.gz: b477ad4e3530a3d3499d511b31b264692cb8df8d
4
+ data.tar.gz: aa200456d9efb9a7193b40732ca247728f196b25
5
5
  SHA512:
6
- metadata.gz: 9681b4c6d172fa098938c96aac97718349adb6662f974bfb375febb210fab88348856709fa1507dc62d94406a73a42b1e057c9c6661659d4a36321f45524762a
7
- data.tar.gz: acb9cfcd8ef7d3a3be89166ceff80c1f142b503b8b60f8d248d5382f657e705f4d4677ae661eed29f21766030a031368144894f1a664a5a96b73457a2c444f58
6
+ metadata.gz: 19492bee2c952f197cf8b16c6add250a76a7bf168c09292d36ed68bded6c4c1c76fa20991aa4e11e11e3ce4559f770ce515e509ed27a7114a97356fc0a687ef0
7
+ data.tar.gz: 791f20b060e23d55d451e8a4a14b4dd27aa64c7dfee9bde3f0af5c14060fbfd5019102255504f6be4118242c33cca77d4906dab0fae92974a5fd7962b9bf4005
checksums.yaml.gz.sig CHANGED
@@ -1,2 +1,2 @@
1
- �ͭ���+���K���-7 >՞�#��h��7Eß�e��=�K�R8��k��1�ܢ�G�%h'�f�1V*�Y �T�+��4����Bn��)Ѐxb�ːs�ͧ�rJ_[6�F�Gc���\��Ҥ��V
2
- ćYXL�o& �����Z+������d�I��@*�&�^��Sᢌ"�toHx*�(^=/�������5��t�ߧ7�Ɓ���L0Ϯї崊�妷?,0��0M
1
+ ��<?��xV��ldgE
2
+ Qe�b��U���B~^�( �h6����O���<4oH����@��.�2�cR0����y�#�jMr�O���V�����׼�^EO�A��{e�T��� ా���K�:��D��8>=븝p3
data.tar.gz.sig CHANGED
Binary file
data/lib/rexle.rb CHANGED
@@ -10,6 +10,10 @@ require 'cgi'
10
10
  include REXML
11
11
 
12
12
  # modifications:
13
+
14
+ # 05-Nov-2013: Insert_before bug fix: The original position of the node is
15
+ # deleted if the current node is inserted elsewhere
16
+ # within the doc
13
17
  # 05-Nov02013: XPath bug fix: recursive selector with conditional parent now
14
18
  # returns the correct child e.g. //b[2]/c
15
19
  # 10-Oct-2013: bug fix: child elements which have the same name as their parent
@@ -507,7 +511,9 @@ class Rexle
507
511
  def clone() Element.new(@name, @value, @attributes) end
508
512
 
509
513
  def delete(obj=nil)
514
+
510
515
  if obj then
516
+
511
517
  if obj.is_a? String then
512
518
  e = self.element obj
513
519
  e.delete if e
@@ -516,6 +522,7 @@ class Rexle
516
522
  [@child_elements, @child_lookup].each{|x| x.delete_at i} if i
517
523
  end
518
524
  else
525
+
519
526
  self.parent.delete self
520
527
  end
521
528
  end
@@ -610,10 +617,16 @@ class Rexle
610
617
  private
611
618
 
612
619
  def insert(node,offset=0)
620
+
613
621
  i = parent.child_elements.index(self)
614
622
  return unless i
615
- parent.child_elements.insert(i+offset,node)
616
- parent.child_lookup.insert(i+offset, [node.name, node.attributes, node.value])
623
+ new_node = node.deep_clone
624
+
625
+ self.delete node
626
+ node = new_node
627
+ parent.child_elements.insert(i+offset,new_node)
628
+
629
+ parent.child_lookup.insert(i+offset, [new_node.name, new_node.attributes, new_node.value])
617
630
  self
618
631
  end
619
632
 
@@ -812,6 +825,7 @@ class Rexle
812
825
  alias add add_element
813
826
 
814
827
  def delete(xpath)
828
+
815
829
  e = @doc.element(xpath)
816
830
  e.delete if e
817
831
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rexle
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.77
4
+ version: 0.9.78
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
metadata.gz.sig CHANGED
Binary file