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 +4 -4
- data/.gitignore +0 -0
- data/lib/pipe_fitter/pipeline.rb +2 -2
- data/lib/pipe_fitter/version.rb +1 -1
- data/lib/pipe_fitter/yaml_loader.rb +23 -12
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 69ad8e802eb67ae7a2f6e7bf0b7db4143ea681ee
|
4
|
+
data.tar.gz: 25cfcd60d89d01c51c0b474beea8902360cf93c4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a5121edf6101aeceba5b7eb46dacbb65a59da7f57a22e44a827e8f38f5469ec63c34e83b73e8afbe56d1ac585fb992447327f514333cc35c97d0d1d2e7b0c2d4
|
7
|
+
data.tar.gz: ef18e2ee2d4973327c239c73b23d2241a99851954000ccd465ccf323f443df732d85e6ebc30789ff89334c560d327f717b6dc5d05c333805ff015e46b83623d4
|
data/.gitignore
CHANGED
File without changes
|
data/lib/pipe_fitter/pipeline.rb
CHANGED
@@ -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(
|
236
|
+
@objs[:tags].map(&:keys).flatten
|
237
237
|
end
|
238
238
|
end
|
239
239
|
end
|
data/lib/pipe_fitter/version.rb
CHANGED
@@ -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
|
-
|
7
|
-
|
8
|
-
|
9
|
-
YAML.load(eval_erb(filename, context)) || {}
|
10
|
-
end
|
7
|
+
def initialize
|
8
|
+
@search_path = [Pathname.new(".")]
|
9
|
+
end
|
11
10
|
|
12
|
-
|
13
|
-
|
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
|
-
|
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
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
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.
|
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-
|
11
|
+
date: 2016-06-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk
|