pipe_fitter 0.1.6 → 0.1.7

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.
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