Sha256: d0e295702a6f96f4d681d8e353a4f4e74e86012c62c3b4d43b0fef2432905b53

Contents?: true

Size: 880 Bytes

Versions: 1

Compression:

Stored size: 880 Bytes

Contents

require 'yaml'
require 'diy'

class MinilabContext #:nodoc:
  def build
    minilab_context = self.class.get_context
    minilab_context.build_everything
    minilab_context
  end

  def self.clear
    @@context = nil
  end

  def self.inject(options)
    object, instance = get_parameters(options)

    get_context[object] = instance
  end
  
  private
  def self.get_parameters(options)
    raise "parameters hash was nil" if options.nil?
    object = options[:object]
    instance = options[:instance]
    raise "missing parameter :object" if object.nil?
    raise "missing parameter :instance" if instance.nil?
    [object, instance]
  end

  def self.get_context
    @@context ||= DIY::Context.new(YAML.load(object_definition))
    @@context
  end

  def self.object_definition
    File.read(APP_ROOT + "/config/objects.yml")
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
minilab-1.0.0-mswin32 lib/minilab_context.rb