class Onceover::Class
Attributes
name[RW]
Public Class Methods
all()
click to toggle source
# File lib/onceover/class.rb, line 40 def self.all @@all end
find(class_name)
click to toggle source
This is what is executed to see if something exists as a class. The same thing is executed for groups etc. when building up test matricies.
# File lib/onceover/class.rb, line 24 def self.find(class_name) if Onceover::Class.name_is_regexp?(class_name) return @@all.select do |cls| cls.name =~ Onceover::Class.string_to_regexp(class_name) end else @@all.each do |cls| if cls.name == class_name return cls end end end logger.warn "Class #{class_name} not found" nil end
name_is_regexp?(name)
click to toggle source
# File lib/onceover/class.rb, line 52 def self.name_is_regexp?(name) name.start_with?('/') and name.end_with?('/') end
new(name)
click to toggle source
# File lib/onceover/class.rb, line 7 def initialize(name) # if the class we are trying to create is a regex, create class objects # for everything that matches. if Onceover::Class.name_is_regexp?(name) expression = Onceover::Class.string_to_regexp(name) matched_classes = Onceover::Controlrepo.classes.keep_if { |c| c =~ expression } matched_classes.each do |c| Onceover::Class.new(c) end else @name = name @@all << self end end
string_to_regexp(string)
click to toggle source
# File lib/onceover/class.rb, line 44 def self.string_to_regexp(string) if Onceover::Class.name_is_regexp?(string) Regexp.new(string[1..-2]) else raise "#{string} does not start and end with / and cannot be converted to regexp" end end