ruby-avm-library/lib/avm/controlled_vocabulary.rb

24 lines
498 B
Ruby

module AVM
# Build a ControlledVocabulary set of classes for use with CV fields
module ControlledVocabulary
class << self
def included(klass)
klass::TERMS.each do |type|
new_klass = Class.new do
def to_s
self.class.to_s.split('::').last
end
def ==(other)
self.to_s == other.to_s
end
end
klass.const_set(type.to_sym, new_klass)
end
end
end
end
end