filegen 0.3.0 → 0.3.1

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.
@@ -1,4 +1,9 @@
1
- 0.2.4: 2014-01-14
1
+ 0.3.1: 2014-01-14
2
+ * Add handling of erb syntax errors
3
+ * Improved documentation: gem badge
4
+ * Fix rubocop offence
5
+
6
+ 0.3.0: 2014-01-14
2
7
  * Activate erb trim mode (see http://ruby-doc.org/stdlib-2.0.0/libdoc/erb/rdoc/ERB.html : new)
3
8
 
4
9
  0.2.3: 2014-01-14
data/README.md CHANGED
@@ -3,6 +3,7 @@
3
3
  [![Build Status](https://travis-ci.org/dg-vrnetze/filegen.png?branch=master)](https://travis-ci.org/dg-vrnetze/filegen)
4
4
  [![Code Climate](https://codeclimate.com/github/dg-vrnetze/filegen.png)](https://codeclimate.com/github/dg-vrnetze/filegen)
5
5
  [![Coverage Status](https://coveralls.io/repos/dg-vrnetze/filegen/badge.png?branch=master)](https://coveralls.io/r/dg-vrnetze/filegen?branch=master)
6
+ [![Gem Version](https://badge.fury.io/rb/filegen.png)](http://badge.fury.io/rb/filegen)
6
7
 
7
8
  Have you ever felt the need to generate files based on environment variables or
8
9
  yaml files? If your answer is yes, then `filegen` can be quite helpful for
@@ -43,7 +43,8 @@ module Filegen
43
43
 
44
44
  def validate_data_sources
45
45
  invalid_data_sources = chosen_data_sources - allowed_data_sources
46
- fail Exceptions::DataSourcesAreInvalid, "Unknown data source#{invalid_data_sources.size > 1 ? 's' : ''} \"#{invalid_data_sources.join(', ')}\" found." unless invalid_data_sources.empty?
46
+ message = "Unknown data source#{invalid_data_sources.size > 1 ? 's' : ''} \"#{invalid_data_sources.join(', ')}\" found."
47
+ fail Exceptions::DataSourcesAreInvalid, message unless invalid_data_sources.empty?
47
48
  end
48
49
  end
49
50
  end
@@ -24,7 +24,11 @@ module Filegen
24
24
  # The output io handle
25
25
  def compile(source, destination)
26
26
  erb = ERB.new(source.read, nil, '-')
27
- destination.puts erb.result(data.instance_binding)
27
+ begin
28
+ destination.puts erb.result(data.instance_binding)
29
+ rescue SyntaxError => e
30
+ raise Exceptions::ErbTemplateHasSyntaxErrors, e.message
31
+ end
28
32
  end
29
33
  end
30
34
  end
@@ -13,5 +13,8 @@ module Filegen
13
13
 
14
14
  # raised if one uses an invalid template name (missing erb)
15
15
  class TemplateNameIsInvalid < RuntimeError; end
16
+
17
+ # raised if a given erb template has syntax errors in it
18
+ class ErbTemplateHasSyntaxErrors < Exception; end
16
19
  end
17
20
  end
@@ -35,9 +35,12 @@ module Filegen
35
35
  rescue RuntimeError => e
36
36
  Filegen::Ui.error e.message
37
37
  exitstatus = 1
38
- rescue Interrupt => e
38
+ rescue Interrupt
39
39
  Filegen::Ui.warning 'You told me to stop command execution.'
40
40
  exitstatus = 2
41
+ rescue Exceptions::ErbTemplateHasSyntaxErrors => e
42
+ Filegen::Ui.error "Syntax error in ERB-Template: \n" + e.message
43
+ exitstatus = 3
41
44
  end
42
45
 
43
46
  @kernel.exit(exitstatus)
@@ -1,4 +1,4 @@
1
1
  #main Filegen
2
2
  module Filegen
3
- VERSION = '0.3.0'
3
+ VERSION = '0.3.1'
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: filegen
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: