Class: Cloudbuildviz::Loader
- Inherits:
-
Object
- Object
- Cloudbuildviz::Loader
- Defined in:
- lib/cloudbuildviz/loader.rb
Constant Summary collapse
- ORIGIN_ID =
'-'.freeze
Instance Method Summary collapse
-
#initialize(filename = '') ⇒ Loader
constructor
A new instance of Loader.
- #parse_cloudbuild_steps ⇒ Object
Constructor Details
#initialize(filename = '') ⇒ Loader
Returns a new instance of Loader.
6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/cloudbuildviz/loader.rb', line 6 def initialize(filename = '') if filename.class != String raise Cloudbuildviz::LoaderInitError.new('invalid filename') end cloudbuild = YAML::load_file(filename) if !cloudbuild.key?('steps') or cloudbuild['steps'].size == 0 raise Cloudbuildviz::LoaderInitError.new('cloudbuild missing valid \'steps\' key at root') end @cloudbuild_steps = cloudbuild['steps'] end |
Instance Method Details
#parse_cloudbuild_steps ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/cloudbuildviz/loader.rb', line 20 def parse_cloudbuild_steps parsed_ids = [] @cloudbuild_steps.map do |s| result = if implicit_next_step?(s) Cloudbuildviz::Models::CloudbuildStep.new(id: s['id'], prev_ids: parsed_ids.dup) elsif origin_step?(s) Cloudbuildviz::Models::CloudbuildStep.new(id: s['id']) else Cloudbuildviz::Models::CloudbuildStep.new(id: s['id'], prev_ids: s['waitFor']) end parsed_ids << s['id'] result end end |