pipe_fitter 0.1.6 → 0.1.7

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: 075d1725f51b70e4036459d29a4b8b79a4ab8e4c
4
- data.tar.gz: 508c41608ec7ecad91bd6a6b5c81406410d71148
3
+ metadata.gz: 69ad8e802eb67ae7a2f6e7bf0b7db4143ea681ee
4
+ data.tar.gz: 25cfcd60d89d01c51c0b474beea8902360cf93c4
5
5
  SHA512:
6
- metadata.gz: ec5e28cf5c5f6be03ba5981eeacc7bb5f5eb55f004ce8917e8174ca22e1c589ec5c8adc268bf1be4a079642040c61f55d4789349c9bebdb888869056279b1be5
7
- data.tar.gz: db05be7c15b9696556ec940755272ce43e70bbbab5f5365164c95c1692ac312fef5f53d6d554d0ae70d4a3d5df54af84c0954d4a88b3223895e8a27db8360808
6
+ metadata.gz: a5121edf6101aeceba5b7eb46dacbb65a59da7f57a22e44a827e8f38f5469ec63c34e83b73e8afbe56d1ac585fb992447327f514333cc35c97d0d1d2e7b0c2d4
7
+ data.tar.gz: ef18e2ee2d4973327c239c73b23d2241a99851954000ccd465ccf323f443df732d85e6ebc30789ff89334c560d327f717b6dc5d05c333805ff015e46b83623d4
data/.gitignore CHANGED
File without changes
@@ -16,7 +16,7 @@ module PipeFitter
16
16
 
17
17
  def self.load_yaml(filename)
18
18
  filepath = Pathname.new(filename)
19
- yml = YamlLoader.load(filepath)
19
+ yml = YamlLoader.new.load(filepath)
20
20
  new(PipelineObjects.new(yml["pipeline_objects"]),
21
21
  ParameterObjects.new(yml["parameter_objects"]),
22
22
  ParameterValues.new(yml["parameter_values"]),
@@ -233,7 +233,7 @@ module PipeFitter
233
233
  end
234
234
 
235
235
  def tag_keys
236
- @objs[:tags].map(&keys).flatten
236
+ @objs[:tags].map(&:keys).flatten
237
237
  end
238
238
  end
239
239
  end
@@ -1,3 +1,3 @@
1
1
  module PipeFitter
2
- VERSION = "0.1.6"
2
+ VERSION = "0.1.7"
3
3
  end
@@ -1,24 +1,35 @@
1
1
  require "yaml"
2
2
  require "erb"
3
+ require "pathname"
3
4
 
4
5
  module PipeFitter
5
6
  class YamlLoader
6
- class << self
7
- def load(filename, context_filename = nil)
8
- context = context_filename.nil? ? nil : YAML.load_file(context_filename)
9
- YAML.load(eval_erb(filename, context)) || {}
10
- end
7
+ def initialize
8
+ @search_path = [Pathname.new(".")]
9
+ end
11
10
 
12
- def include_template(filename, context = {})
13
- eval_erb(filename, context)
11
+ def load(filename)
12
+ @search_path.unshift(Pathname.new(filename).dirname)
13
+ text = eval_erb(filename)
14
+ YAML.load(text) || {}
15
+ rescue Psych::SyntaxError => e
16
+ text.split("\n").each_with_index do |l, i|
17
+ mark = (e.line == i + 1) ? "*" : " "
18
+ $stderr.puts format("%s%4d| %s", mark, i + 1, l)
14
19
  end
20
+ raise e
21
+ end
15
22
 
16
- private
23
+ def include_template(filename, context = {})
24
+ dir = @search_path.find { |p| p.join(filename).exist? }
25
+ path = dir.nil? ? filename : dir.join(filename)
26
+ eval_erb(path, context).gsub("\n", "\n" + " " * (context[:indent] || 0))
27
+ end
17
28
 
18
- def eval_erb(filename, context = nil)
19
- context ||= {}
20
- ERB.new(File.read(filename), nil, "-").result(binding).strip
21
- end
29
+ private
30
+
31
+ def eval_erb(filename, context = {})
32
+ ERB.new(File.read(filename), nil, "-").result(binding).strip
22
33
  end
23
34
  end
24
35
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pipe_fitter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - masa21kik
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-06-15 00:00:00.000000000 Z
11
+ date: 2016-06-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk