Sha256: 14a7f1b9f6877eab348f55cfe4b69a21d136de6818b16649652ff94f860d07c0

Contents?: true

Size: 498 Bytes

Versions: 3

Compression:

Stored size: 498 Bytes

Contents

require 'minarai/action_builder'
require 'minarai/runner'

module Minarai
  class Recipe
    def initialize(loaded_data)
      @loaded_data = loaded_data
    end

    def actions
      @actions ||= @loaded_data.map do |d|
        Minarai::ActionBuilder.new(d).build
      end
    end

    def runner
      @runner ||= Minarai::Runner.new(actions)
    end

    def valid?
      errors.empty?
    end

    def errors
      @errors ||= actions.flat_map(&:error_messages).map(&:to_s)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
minarai-0.0.3 lib/minarai/recipe.rb
minarai-0.0.2 lib/minarai/recipe.rb
minarai-0.0.1 lib/minarai/recipe.rb