myoutline 0.1.1 → 0.1.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: 8258400ef4430aa04a5ec1fca4cc3580f4fba368
4
- data.tar.gz: cd2343be059248a0295224b94e401c6135b7899b
3
+ metadata.gz: bba6a21b45a42f6e257c31fef82d4ab2a20803fb
4
+ data.tar.gz: 2d7add1ea6c98c095fcd353ed45dabdcfddcdbe9
5
5
  SHA512:
6
- metadata.gz: 46f86265c6d89cd9c40a6ab6018c65fea6955f74d67ae3541b8d394e7d7c01d9f1876e16f2d9d37260915544df392100e9373ac8dc4608e446eecf2817850766
7
- data.tar.gz: bc7c29638ef35efbaab31724ab2ad1560c6900235930561a3f3cbb4c5ef613bdfae4a913ce8eff36789eafe122b491780a619380d86c6d102fd584c2ec535f43
6
+ metadata.gz: 5d09c61a8fa9570988404c147695a6949fb0d5364d33d3773bf0714a87cf5a1330293061e1c8bd79074a8d793262e52a91e2b26ea810013b59bc0890aba5a187
7
+ data.tar.gz: 3a3284c309886933e13b64dffa28c3c823fdc3c27b0debd08b35e203e447bb927b24112def5c3a60b6a2c5b7ddce605098d6015902d255d71ea7dcf7838c3b52
checksums.yaml.gz.sig CHANGED
Binary file
data/lib/myoutline.rb CHANGED
@@ -7,14 +7,21 @@ require 'pxindex'
7
7
 
8
8
  class MyOutline
9
9
 
10
- def initialize(raw_s, debug: false, allsorted: true)
10
+ def initialize(source, debug: false, allsorted: true, autoupdate: true)
11
+
12
+ @debug, @source = debug, source
11
13
 
14
+ raw_s, _ = RXFHelper.read(source)
15
+
12
16
  # find the entries which aren't on the main index
13
17
  s = raw_s.sub(/<[^>]+>\n/,'')
14
18
  doc = LineTree.new(s, debug: true).to_doc(encapsulate: true)
15
19
  a = doc.root.xpath('entry/text()')
20
+ puts 'doc: ' + doc.xml if debug
16
21
  a2 = doc.root.xpath('entry//entry/text()')
22
+ puts 'a2: ' + a2.inspect if debug
17
23
  a3 = a2 - a
24
+ puts 'a3:' + a3.inspect if debug
18
25
 
19
26
  # add the new entries to the main index
20
27
  s << a3.join("\n")
@@ -25,16 +32,38 @@ class MyOutline
25
32
 
26
33
  @pxi = PxIndex.new(s, debug: debug, indexsorted: true,
27
34
  allsorted: allsorted)
28
- @px = @pxi.to_px
35
+ save() if autoupdate and self.to_s != raw_s
29
36
 
30
37
  end
31
38
 
32
- def save(filename=myoutline.txt)
33
- File.write filename, @pxi.to_s
39
+ def save(filename=nil)
40
+
41
+ if filename.nil? then
42
+ filename = RXFHelper.writeable?(@source) ? @source : 'myoutline.txt'
43
+ end
44
+
45
+ RXFHelper.write filename, self.to_s
46
+
47
+ end
48
+
49
+ def to_s(declaration: true)
50
+
51
+ if declaration == true then
52
+ @pxi.to_s.sub(/(?<=^\<\?)([^\?]+)/,'myoutline')
53
+ else
54
+ @pxi.to_s.lines[1..-1].join.lstrip
55
+ end
56
+
34
57
  end
35
58
 
36
- def to_s()
37
- @pxi.to_s
59
+ def to_tree
60
+
61
+ a = @pxi.to_s.lines
62
+ a.shift # remove the ph declaration
63
+ a.reject! {|x| x =~ /^(?:#[^\n]+|\n+)$/}
64
+
65
+ a.join
66
+
38
67
  end
39
68
 
40
69
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: myoutline
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -30,7 +30,7 @@ cert_chain:
30
30
  DFhc5TDtqEkJYiaiznQFl34HUKeCAdeAHkmD8jP3fUC8O7zcLXq69EAXGMXw4efB
31
31
  3Co=
32
32
  -----END CERTIFICATE-----
33
- date: 2018-03-16 00:00:00.000000000 Z
33
+ date: 2018-03-18 00:00:00.000000000 Z
34
34
  dependencies:
35
35
  - !ruby/object:Gem::Dependency
36
36
  name: pxindex
@@ -41,7 +41,7 @@ dependencies:
41
41
  version: '0.1'
42
42
  - - ">="
43
43
  - !ruby/object:Gem::Version
44
- version: 0.1.4
44
+ version: 0.1.6
45
45
  type: :runtime
46
46
  prerelease: false
47
47
  version_requirements: !ruby/object:Gem::Requirement
@@ -51,7 +51,7 @@ dependencies:
51
51
  version: '0.1'
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: 0.1.4
54
+ version: 0.1.6
55
55
  description:
56
56
  email: james@jamesrobertson.eu
57
57
  executables: []
metadata.gz.sig CHANGED
Binary file