rexle 0.9.77 → 0.9.78

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: 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