Method: Moneta::Defaults::ClassMethods#not_supports

Defined in:
lib/moneta/defaults.rb

#not_supports(*features) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Declares that this adapter does not support the given feature, and adds a stub method that raises a NotImplementedError. Useful when inheriting from another adapter.

Examples:

class MyAdapter < OtherAdapterWithCreate
  include Moneta::Defaults
  not_supports :create
end


39
40
41
42
43
44
45
46
47
# File 'lib/moneta/defaults.rb', line 39

def not_supports(*features)
  features.each do |feature|
    define_method(feature) do
      raise ::NotImplementedError, "#{feature} not supported"
    end
  end

  @features = (self.features - features).freeze
end