cvgen 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/cvgen/exec.rb +4 -0
  3. data/lib/cvgen.rb +25 -1
  4. metadata +3 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 18022dda5028a3a2ab5a1bf085040bc307ab6c26
4
- data.tar.gz: c98151f8b89d41abd3d001ea7a72c5d9eaa12c47
3
+ metadata.gz: 4a38419b62236f2f4723419381d8ad7e1f7dfda9
4
+ data.tar.gz: c6e640aa9ed47605215c069a8f7134ec40933727
5
5
  SHA512:
6
- metadata.gz: 7d764de95524cbac896e7853e9059b861290febb9b9b76d5afa341eb4095fb1e828374870d1d838298827f96d9f78205c1225c28ecdd661658ccd39390029d08
7
- data.tar.gz: cd2df1f140864eb9b867c2b806a21b839a5f7af8c6bc4126ff242606d93394ddcd12faa82429e8c1190d6ade3972264f6382b69a7c9aba5e2296eb898802f4bd
6
+ metadata.gz: 4f9d5f5a91aa35b871014d5a646ac6f34f4b5c8eaa714662b5779791d4e1d5f3c91b9e07fb46b1ab4ac31a72c7babddd8e80d0283d6070fa405ac56ec32b5d22
7
+ data.tar.gz: 77cbb9f8bd29ae4d499d92713a9b962c080d1e6191e81da734ba7b729782ac93238dede1379f65dd46edd3b9718bb228ccf4431991d1841f9606feccc72c93fb
data/lib/cvgen/exec.rb CHANGED
@@ -63,6 +63,10 @@ module CVGen
63
63
  opts.on("-w", "--watch", "Watch for changes and automatically regenerate pdf") do
64
64
  config['watch'] = true
65
65
  end
66
+
67
+ opts.on("-d", "--debug", "Print result of Erb preprocessing and exit") do
68
+ config['debug_erb'] = true
69
+ end
66
70
  end.parse!
67
71
 
68
72
  config
data/lib/cvgen.rb CHANGED
@@ -9,7 +9,12 @@ module CVGen
9
9
 
10
10
  def self.generate source, opts={}
11
11
 
12
- source = Erubis::Eruby.new(source).evaluate(ErbContext.new(opts.fetch(FEATURES_OPTION, [])))
12
+ source = Erubis::Eruby.new(source, :bufvar => '@output_buffer').evaluate(ErbContext.new(opts.fetch(FEATURES_OPTION, [])))
13
+
14
+ if opts['debug_erb']
15
+ puts source
16
+ exit
17
+ end
13
18
 
14
19
  root, warnings = Parser.parse(source, opts)
15
20
  $stderr.puts warnings if warnings
@@ -22,11 +27,30 @@ module CVGen
22
27
 
23
28
  def initialize(features)
24
29
  @features = features
30
+ @sections = {}
25
31
  end
26
32
 
27
33
  def method_missing(method, *args)
28
34
  @features.include?(method.to_s)
29
35
  end
30
36
 
37
+ def create_section(name)
38
+ $stderr.puts "Warning: Overwriting section \"#{name}\"" if @sections.has_key?(name)
39
+
40
+ buf = ''
41
+ @output_buffer, temp = buf, @output_buffer
42
+
43
+ yield
44
+
45
+ @sections[name] = buf
46
+ ensure
47
+ @output_buffer = temp
48
+ end
49
+
50
+ def section(name)
51
+ $stderr.puts "Warning: No section \"#{name}\"" unless @sections.has_key?(name)
52
+ @sections[name]
53
+ end
54
+
31
55
  end
32
56
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cvgen
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Wildig
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-05 00:00:00.000000000 Z
11
+ date: 2015-03-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: kramdown
@@ -116,3 +116,4 @@ signing_key:
116
116
  specification_version: 4
117
117
  summary: Generate CVs in PDF format from Markdown-like source
118
118
  test_files: []
119
+ has_rdoc: