class Fastly::Base

:nodoc: all
Base class for all Fastly objects

def self.delete_path(object)

def self.delete_path(object)
  put_path(object)
end

def self.get_path(id)

def self.get_path(id)
  "/#{path}/#{id}"
end

def self.list_path(opts = {})

def self.list_path(opts = {})
  post_path(opts)
end

def self.path

def self.path
  Util.class_to_path(self)
end

def self.post_path(_opts = {})

def self.post_path(_opts = {})
  "/#{path}"
end

def self.put_path(object)

def self.put_path(object)
  get_path(object.id)
end

def as_hash

:nodoc:
#
def as_hash
  ret = {}
  @keys.each do |key|
    ret[key] = send("#{key}") unless key =~ /^_/
  end
  ret
end

def delete!

Delete this object
def delete!
  fetcher.delete(self.class, self)
end

def initialize(opts, fetcher)

def initialize(opts, fetcher)
  @keys = []
  opts.each do |key, val|
    next unless self.respond_to? "#{key}="
    send("#{key}=", val)
    @keys.push(key)
  end
  self.fetcher = fetcher
end

def require_api_key!

def require_api_key!
  fetcher.client.require_key!
end

def save!

Save this object
def save!
  fetcher.update(self.class, self)
end