module Mobility::Plugins::Backend::ClassMethods

Public Instance Methods

inherited(klass) click to toggle source
Calls superclass method
# File lib/mobility/plugins/backend.rb, line 144
def inherited(klass)
  parent_classes = mobility_backend_classes.freeze # ensure backend classes are not modified after being inherited
  klass.class_eval { @mobility_backend_classes = parent_classes.dup }
  super
end
mobility_backend_class(name) click to toggle source

Return backend class for a given attribute name. @param [Symbol,String] Name of attribute @return [Class] Backend class

# File lib/mobility/plugins/backend.rb, line 138
def mobility_backend_class(name)
  mobility_backend_classes.fetch(name.to_sym)
rescue KeyError
  raise KeyError, "No backend for: #{name}"
end

Protected Instance Methods

mobility_backend_classes() click to toggle source
# File lib/mobility/plugins/backend.rb, line 152
def mobility_backend_classes
  @mobility_backend_classes ||= {}
end