Sha256: ae0b2d6294699aa3ff3da5c17ed7205ae7f5282cdf9267c02371642269bd4cc5
Contents?: true
Size: 1022 Bytes
Versions: 1
Compression:
Stored size: 1022 Bytes
Contents
module Vienna class << self attr_accessor :adapter end # An adapter is responsible for fetching and saving records from # some endpoint. This base class acts as an interface which subclasses # should develop. Adapters can be set on a per-model basis, or as an # adapter for all models. Example adapter subclasses are RESTAdapter # and LocalAdapter. A fixtures adapter is also provided for testing # purposes. class Adapter def find(record, id, &block) implement "find" end def load(record, id, &block) implement "load" end def create_record(record) implement "create_record" end def update_record(record) implement "update_record" end def save_record(record) implement "save_record" end def delete_record(record) implement "delete_record" end def fetch implement "fetch" end def implement(method) raise NoMethodError, "Adapter subclass should implement `#{method}'" end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
opal-vienna-0.7.0 | opal/vienna/adapters/base.rb |