class Mailroute::Admin

Public Class Methods

collection_path(prefix_options = {}, query_options = nil) click to toggle source
# File lib/mailroute/models/admin.rb, line 5
def self.collection_path(prefix_options = {}, query_options = nil)
  scope = prefix_options.delete(:scope) || (query_options && query_options.delete(:scope))
  raise 'Scope is missing' unless scope
  check_prefix_options(prefix_options)
  prefix_options, query_options = split_options(prefix_options) if query_options.nil?
  "#{prefix(prefix_options)}admins/#{scope[:name]}/#{scope[:id]}/#{query_string(query_options)}"
end
element_path(id, prefix_options = {}, query_options = nil) click to toggle source
# File lib/mailroute/models/admin.rb, line 13
def self.element_path(id, prefix_options = {}, query_options = nil)
  scope = prefix_options.delete(:scope) || (query_options && query_options.delete(:scope))
  raise 'Scope is missing' unless scope
  check_prefix_options(prefix_options)
  prefix_options, query_options = split_options(prefix_options) if query_options.nil?
  "#{prefix(prefix_options)}admins/#{scope[:name]}/#{scope[:id]}/admin/#{URI.parser.escape id.to_s}/#{query_string(query_options)}"
end
get(id, scope) click to toggle source
# File lib/mailroute/models/admin.rb, line 56
def self.get(id, scope)
  find(id, :params => { :scope => { :name => scope.keys.first, :id => scope.values.first } })
end

Public Instance Methods

customer() click to toggle source
# File lib/mailroute/models/admin.rb, line 35
def customer
  if resource_uri =~ /admins\/customer\/(\d+)\/admin/
    @customer ||= Mailroute::Customer.get($1.to_i)
  else
    nil
  end
end
element_path() click to toggle source
Calls superclass method
# File lib/mailroute/models/admin.rb, line 21
def element_path
  super(scope)
end
regenerate_api_key() click to toggle source
# File lib/mailroute/models/admin.rb, line 25
def regenerate_api_key
  response = connection.post(element_path + 'regenerate_api_key/', nil, self.class.headers)
  self.class.format.decode(response.body)['api_key']
end
reload() click to toggle source
Calls superclass method
# File lib/mailroute/models/admin.rb, line 51
def reload
  @customer = @reseller = nil
  super
end
reseller() click to toggle source
# File lib/mailroute/models/admin.rb, line 43
def reseller
  if resource_uri =~ /admins\/reseller\/(\d+)\/admin/
    @reseller ||= Mailroute::Reseller.get($1.to_i)
  else
    nil
  end
end
scope() click to toggle source
# File lib/mailroute/models/admin.rb, line 30
def scope
  raise 'invalid state' unless resource_uri =~ /admins\/([^\/]+)\/(\d+)\/admin/
  { :scope => { :id => $2.to_i, :name => $1 } }
end