class Origen::Tests::Test
Attributes
conditions[RW]
description[RW]
id[RW]
owner[RW]
platforms[RW]
Public Class Methods
new(id, options = {}, &block)
click to toggle source
# File lib/origen/tests/test.rb, line 9 def initialize(id, options = {}, &block) @id = id @description = '' @conditions, @platforms = [], [] @id = @id.symbolize unless @id.is_a? Symbol options.each { |k, v| instance_variable_set("@#{k}", v) } (block.arity < 1 ? (instance_eval(&block)) : block.call(self)) if block_given? fail unless attrs_ok? end
Public Instance Methods
method_missing(m, *args, &block)
click to toggle source
# File lib/origen/tests/test.rb, line 23 def method_missing(m, *args, &block) ivar = "@#{m.to_s.gsub('=', '')}" ivar_sym = ":#{ivar}" if m.to_s =~ /=$/ define_singleton_method(m) do |val| instance_variable_set(ivar, val) end elsif instance_variables.include? ivar_sym instance_variable_get(ivar) else define_singleton_method(m) do instance_variable_get(ivar) end end send(m, *args, &block) end
name()
click to toggle source
# File lib/origen/tests/test.rb, line 19 def name @id end
Private Instance Methods
attrs_ok?()
click to toggle source
# File lib/origen/tests/test.rb, line 42 def attrs_ok? return_value = true [:conditions, :platforms].each do |attr| unless instance_variable_get("@#{attr}").is_a? Array Origen.log.error("Test attribute '#{attr}' should be an Array!") return_value = false end end unless @description.is_a? String Origen.log.error("Test attribute 'description' must be a String!") return_value = false end return_value end