module SiteHub::Collection::ClassMethods

Constants

UNIQUE_LABELS_MSG

Public Instance Methods

method_added(name) click to toggle source
# File lib/sitehub/collection.rb, line 13
def method_added(name)
  if name == :add && !overrides.include?(name)
    overrides << name
    alias_method :add_backup, :add

    send(:define_method, :add) do |id, value, *args|
      raise DuplicateVersionException, UNIQUE_LABELS_MSG if self[id]
      add_backup id, value, *args
    end
  end
end
overrides() click to toggle source
# File lib/sitehub/collection.rb, line 7
def overrides
  @overrides ||= []
end