Sha256: 66f9aca4db636cf2266b2763edaa9b85cea7c3c08d0221ba30516776bdff3e3c
Contents?: true
Size: 1.28 KB
Versions: 1
Compression:
Stored size: 1.28 KB
Contents
require 'singleton' module AktionTest class SpecHelper include Singleton attr_reader :modules, :options, :scope class << self def load(*names, &block) options = names.extract_options! if names.any? load_constants(names) unless options.nil? || options.empty? names.each do |name| instance.options.merge! name => options end end instance.modules.each do |mod| include mod end end self.instance_eval(&block) if block_given? end def within(scope, &block) instance.scope << scope.to_s yield instance.scope.pop end private def load_constants(modules) modules.each do |mod| module_name = "#{instance.scope.join('::')}::#{mod}" begin module_const = module_name.constantize instance.modules << module_const rescue NameError puts "Unknown module #{mod}." end end end end def initialize reset end def reset @modules = [] @options = {} @scope = %w(AktionTest Module) end def loaded?(name) eval "defined? AktionTest::Module::#{name}" end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
aktion_test-0.2.1 | lib/aktion_test/spec_helper.rb |