rexle 1.5.3 → 1.5.8

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 (6) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/lib/rexle.rb +16 -5
  5. metadata +36 -36
  6. metadata.gz.sig +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c99a5e463c69419d77ab9fc23a2899dcee634840d3df17ff6be5531c9602175b
4
- data.tar.gz: 968a9dd1f8f41763cab001ca540ddb48c9519c1cbaa1df67d9dbea484a43de9f
3
+ metadata.gz: 48ffcbfab5e523417662457d13ac99081ec9257b3c8658943487c981ae9e6963
4
+ data.tar.gz: a1e01f8147ac5f5ca54a99038d9c5a38d8e149cbfb64546f461fd2e9f80b3a4b
5
5
  SHA512:
6
- metadata.gz: e1a6ffe5c2d5f56ba866fbda5bfda8fda6b79e21cc2fe5ef17a358092467a2da043b377a397009bca4bd1ed2ec73512fd4b841f8a9a544b5402b1ca9b432755b
7
- data.tar.gz: 60dde98962041333633d2a0a6308346f2fee8c8089978460cdaef01c80ac6a39ba6386c03b3f65b1bf25413cac529808f468e9abbb9b50ed69632c364e524ea8
6
+ metadata.gz: 7ee20461d62db424b3542e10e06bbee810e943a59e3f06297fd71a4cf77addd2a945ac56dc931aad7eedb9633f1afb18d25a77841b3a945bdd1435426e3f9846
7
+ data.tar.gz: 326c39c15f196b500d82fd2bff225ca3a40e472c77cc51191d8db03766bcaaac11c72560e75ef9d532e4af71370be29b1ccbaee9731fad4e4a742566a6bf8814
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -13,6 +13,10 @@ require 'backtrack-xpath'
13
13
 
14
14
  # modifications:
15
15
 
16
+ # 30-Jul-2020: minor improvement: #plaintext now unescapes & to &
17
+ # 11-May-2020: bug fix: Rexle#css now responds correctly to valid selectors
18
+ # 23-Apr-2020: feature: Added public method *plaintext*.
19
+ # 04-Feb-2020: minor bug fix: Element A is now defined as a non self-closing tag
16
20
  # 18-Sep-2019: minor bug fix: &apos is now unescaped properly
17
21
  # 09-Jul-2019: minor improvement: A comment tag now has a
18
22
  # new line when pretty printed
@@ -100,7 +104,7 @@ module XMLhelper
100
104
 
101
105
  tag = x.name + (a.empty? ? '' : ' ' + a.join(' '))
102
106
 
103
- non_self_closing_tags = %w(script textarea iframe div object)
107
+ non_self_closing_tags = %w(script textarea iframe div object a)
104
108
 
105
109
  if (x.children and x.children.length > 0 \
106
110
  and not x.children.is_an_empty_string?) or \
@@ -206,6 +210,7 @@ class Rexle
206
210
  def initialize(x=nil, rexle: self, debug: false)
207
211
 
208
212
  @rexle, @debug = rexle, debug
213
+ $debug = @debug
209
214
 
210
215
  puts 'inside Rexle'.debug if debug
211
216
 
@@ -254,9 +259,7 @@ class Rexle
254
259
  a = selector.split(',').flat_map do |x|
255
260
  @doc.root.xpath RexleCSS.new(x).to_xpath
256
261
  end
257
-
258
- a.shift if self.kind_of? Rexle
259
-
262
+
260
263
  return a
261
264
  end
262
265
 
@@ -647,6 +650,7 @@ class Rexle
647
650
  attr_search = format_condition(condition) if condition \
648
651
  and condition.length > 0
649
652
 
653
+ puts ('1. attr_search: ' + attr_search.inspect).debug if $debug
650
654
  #@log.debug 'attr_search2 : ' + attr_search.inspect
651
655
  attr_search2 = xpath_value[/^\[(.*)\]$/,1]
652
656
 
@@ -711,6 +715,7 @@ class Rexle
711
715
  end
712
716
 
713
717
  elsif element_name.nil?
718
+ puts ('attr_search: ' + attr_search.inspect).debug if $debug
714
719
  return eval attr_search
715
720
  else
716
721
 
@@ -996,6 +1001,12 @@ class Rexle
996
1001
  def insert_before(node) insert(node) end
997
1002
  def last(a) a.last end
998
1003
  def map(&blk) self.children.map(&blk) end
1004
+
1005
+ def plaintext()
1006
+ xml().gsub(/<\/?[^>]+>/,'').gsub('&amp;','&').gsub('&nbsp;',' ')\
1007
+ .gsub(/\n\s+/,' ')
1008
+ end
1009
+
999
1010
  def root() self end
1000
1011
 
1001
1012
  def text(s='')
@@ -1043,7 +1054,7 @@ class Rexle
1043
1054
 
1044
1055
  val = Value.new(raw_s.to_s.clone)
1045
1056
 
1046
- escape_chars = %w(& &amp; < &lt; > &gt;).each_slice(2).to_a
1057
+ escape_chars = %w(& &amp; ' &apos; < &lt; > &gt;).each_slice(2).to_a
1047
1058
  escape_chars.each{|x| val.gsub!(*x)}
1048
1059
 
1049
1060
  t = val
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: 1.5.3
4
+ version: 1.5.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -11,31 +11,31 @@ cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
13
  MIIEXjCCAsagAwIBAgIBATANBgkqhkiG9w0BAQsFADAsMSowKAYDVQQDDCFnZW1t
14
- YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMTgxMDAyMjEwMjM4WhcN
15
- MTkxMDAyMjEwMjM4WjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
- cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQC1X6zL
17
- G+ytuYkQsPOKreuUt/gsYlNSAw5D8VDCUdOScMLcytoL5Ssf3CBBr2LM1QJrkQ5M
18
- 2J4bF0uTDFmegNK44hIpPPYAYuMHL3IjSawvdyBHgl7GRqv84Y7ys7kD+X+TtxqK
19
- jP3icaTau5+DQMe3lIjqlS7KhI0GhUmjiGlL1X/WOaxf3gHTRWtiMktv3VElekAj
20
- cOL+hZtRICwLq6yrixODLIt9OyAZ8t+U3XpYZIHkMAswGGo05Pkf4FlDnIzm+VJ0
21
- J+dTw+FVx/kPL7y4FNTN8Akl45dAFADuHHNAuOKlCWT+CkKBdDhEWNJQC/cX8nxf
22
- XHwKna6YPnuAbt1IBwX/eZIDDrFrTApa6nQVWgyUWyt7z9ntslVCd1rW6K1siJ9F
23
- nrW/LPUUgVhTCMwFXYaPWoBaVbiZqGlVn2cFJF9MS9bB4pPbCSU9YVJ4qtYGAatD
24
- MBl0kiJdq8exmm0f9WqOvXmVWXWYlhMv5LfAH1ECbK4pIdh5DolK3NB/70sCAwEA
25
- AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUYY6jhDbE
26
- YQSrL+8T3vNoEqjmOXowJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
14
+ YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMjAwMjA0MTMxMjIzWhcN
15
+ MjEwMjAzMTMxMjIzWjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
+ cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQCyVLqC
17
+ gVJ+P/zFnjtoyxfgcrc5US5+G7mDdNq/Q2GDm2zIZjVAnUHLZCcKLBlwMY0Vusqq
18
+ sNzbiSHqVqaXtrFq2jivmbJsKUxJMTIuErXQnpfVsmapQsYJ7U8+byHgFRf8ysTc
19
+ Op90xKUkroJdO+Ls0SMcFXUGqybH5d4Dxhb+3f/rAThPC8V9EWRWF/SlosXvE/sw
20
+ VzsGkxLQug3xJkSvN2rQQZi4RgOP37jgeEToeLTIu43npNF6H9nSV/lxUriqPyva
21
+ OMQYIpK+1SS42J9rSD1/1q1FscsKT2koP9Uf4zHzIeuiQ4wmAMpqYS80eNzaeAEx
22
+ p3Z4HLBHseWKNWSDrgW0YvuYBAEMcq+XdBMT66n+xKL5GUlsXptrFQ4QP6oOxK4K
23
+ UZXN94qwi54m+EIexo5ADKtrwRuQl+X9pRpOmFNJAny8vWIz6U1SZs2nBysPLj2g
24
+ lnKLGetPlgBVoKAPZoFu//CYQKIO+erQoAGRoA05TGrBAq2cNkNFvQJ9XM0CAwEA
25
+ AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUCCDebAbe
26
+ pZaniHSTxRjAZLUsoQswJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
27
27
  c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1hc3RlckBqYW1lc3JvYmVydHNvbi5ldTAN
28
- BgkqhkiG9w0BAQsFAAOCAYEAjUIY0ulHDqBKjbrn3mxutbu0fzMLo0TBmpvvuG2S
29
- j4nitZZVmcjiEtJ9br8qjKg0Ycfkt2GTKjeJ7NwrwS0oBtOSsvrDFA+x/YoO5cuk
30
- RNhiEC9tk+IF/xN9N0+eyiRBfWFtZ8yHG1d5Ql0DirzspiYLX5sVQG/8hA3s9Jbn
31
- gO0fnWowD9LP+jbZr6yw/rnU1Mhb3UAI2W9LSXGslpxvtMS0yKsrHPR9/qQ3fIKH
32
- teZlGb8tw9RXEKExP6zSR+ZRXpnNyZQ7flRf4lusqUNvtkguF9dL8RNd8QMV2PJw
33
- IHeJbMdyTmYQb8XIAR5zXu0BHfqKRT1GLg94u03RBsBcno5YqNJ5OU42C+j8GEQt
34
- nFb3gCj4YFPzQa6OVdSIi/kKW2J8wFxUvI8muMt7lbTaxFJLyK9Qdt/oKxwxXM1t
35
- Zdf6ufm6l1fXtBUvl0XuKmNH8p6u/7SmI2oqJoV7Oiarx5i1LrpWL8Zc3q9MFaT4
36
- pzftGMNXyXUyb9mSx4krfsRT
28
+ BgkqhkiG9w0BAQsFAAOCAYEAEdNcc2nDj8v6FdY75tULXii+F0m1pnfxri+wtd/1
29
+ wnRqNqmaKQGwAUhx4qLhs8MbGU5H4xe18Hmf7n6P++HSCKaFDwE3mo38vwnPmPr8
30
+ J+4+CWaB+avp9/wztZS3oQ0k/w9bN4b1RUk18z4rpG9Y8KH3v7L+b4rAzzBhs60S
31
+ Q2+963e3C7PFkFODn1vfGMRmBK2nuekE6RdzzxzRuUBwKHMggxPsHRQzaz8cy4fB
32
+ UWC8eX0y59rd/gA0WunPXgpuV24SHBtIqTLk76Z1Oz3P27Hwx2JPhURtzc3bNfSg
33
+ gvwYrdF1dTOwourN6uqQLksl7AjcCVUV+6hyoa5Fo9HcfURnlPdjVFax/KIQj3lA
34
+ X0bOYG6opdA3I0zyDHGx+mC9QuhM6oKYq3fu7i8RsVsihVImOovRYVagGbULBLDZ
35
+ yK32Ci6By/qMCdJdE8pLLZhHuZGIkoYJK7EN7OKPznwuXRCOq7jb44HAIDi4RZST
36
+ J+lqIOqNxqRJkYpuYSZr+tyd
37
37
  -----END CERTIFICATE-----
38
- date: 2019-09-18 00:00:00.000000000 Z
38
+ date: 2020-07-30 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: c32
@@ -63,40 +63,40 @@ dependencies:
63
63
  requirements:
64
64
  - - "~>"
65
65
  - !ruby/object:Gem::Version
66
- version: '0.8'
66
+ version: '0.9'
67
67
  - - ">="
68
68
  - !ruby/object:Gem::Version
69
- version: 0.8.1
69
+ version: 0.9.3
70
70
  type: :runtime
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
73
73
  requirements:
74
74
  - - "~>"
75
75
  - !ruby/object:Gem::Version
76
- version: '0.8'
76
+ version: '0.9'
77
77
  - - ">="
78
78
  - !ruby/object:Gem::Version
79
- version: 0.8.1
79
+ version: 0.9.3
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: rexle-builder
82
82
  requirement: !ruby/object:Gem::Requirement
83
83
  requirements:
84
- - - ">="
85
- - !ruby/object:Gem::Version
86
- version: 0.6.0
87
84
  - - "~>"
88
85
  - !ruby/object:Gem::Version
89
- version: '0.6'
86
+ version: '1.0'
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: 1.0.2
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: 0.6.0
97
94
  - - "~>"
98
95
  - !ruby/object:Gem::Version
99
- version: '0.6'
96
+ version: '1.0'
97
+ - - ">="
98
+ - !ruby/object:Gem::Version
99
+ version: 1.0.2
100
100
  - !ruby/object:Gem::Dependency
101
101
  name: rexle-css
102
102
  requirement: !ruby/object:Gem::Requirement
metadata.gz.sig CHANGED
@@ -1 +1 @@
1
- o{t{�2Svܾ�qSo�48�z�IJQJYMO$��ᯔ�D[F>�N�p��X�PC9��V�� (���r+���������ʎGV���C�Ͻ9 _�3�N��Z� �ǥ,1����6r�zWcX+�it�U`���ւ�Dh��;��ҹ�QE� ��
1
+ ڿ�:r-v*���2��A|���0���������