Module: MistralClient::Mixins::Definable
- Included in:
- Environment, Execution, Workflow
- Defined in:
- lib/mistral_client/mixins/definable.rb
Instance Method Summary collapse
-
#parse_definition(definition) ⇒ Object
rubocop:disable Metrics/MethodLength.
Instance Method Details
#parse_definition(definition) ⇒ Object
rubocop:disable Metrics/MethodLength
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/mistral_client/mixins/definable.rb', line 5 def parse_definition(definition) return YAML.dump(definition) if definition.is_a?(Hash) || definition.is_a?(Array) definition = File.read(definition) if File.exist?(definition) # Called outside the if/else to validate the YAML. parsed = YAML.safe_load(definition, [], [], true) if defined? massage_definition massage_definition(parsed) else definition end rescue Psych::SyntaxError raise ConfigurationError, 'Only filenames or raw or parsed strings of YAML are supported.' end |