specs.rb
614 Bytes
module MetadataPlugin::Specs
module ClassMethods
def self.extended base
base.class_attribute :metadata_specs
base.metadata_specs ||= {}
end
def metadata_spec spec = {}
namespace = spec[:namespace]
# setters are used to avoid propagation to super classes, see http://apidock.com/rails/Class/class_attribute
if _spec = self.metadata_specs[namespace]
self.metadata_specs = self.metadata_specs.deep_merge(namespace => _spec.deep_merge(spec))
else
self.metadata_specs = self.metadata_specs.deep_merge(namespace => spec)
end
end
end
end