23 lines
427 B
Ruby
23 lines
427 B
Ruby
module AVM
|
|
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
|
|
|