class Staticd::API

Constants

PUBLIC_URI
VERSION

Public Class Methods

new(params={}) click to toggle source
Calls superclass method
# File lib/staticd/api.rb, line 38
def initialize(params={})
  @config = params

  raise "Missing :domain parameter" unless @config[:domain]
  raise "Missing :port parameter" unless @config[:port]

  super
end

Private Instance Methods

current_domain() click to toggle source
# File lib/staticd/api.rb, line 347
def current_domain
  @current_domain ||= current_site.domain_names.get(params[:domain_name])
  unless @current_domain
    raise APIError, "This domain name (#{params[:domain_name]}) is not " +
          "attached to the #{current_site} site"
  end
  @current_domain
end
current_site() click to toggle source
# File lib/staticd/api.rb, line 340
def current_site
  unless (@current_site ||= Site.get(params[:site_name]))
    raise APIError, "This site (#{params[:site_name]}) does not exist"
  end
  @current_site
end
load_file_attachment(field) click to toggle source
# File lib/staticd/api.rb, line 333
def load_file_attachment(field)
  unless params.has_key?(field.to_s) && params[field].has_key?(:tempfile)
    raise APIError, "No valid #{field} file submitted"
  end
  params[field][:tempfile].path
end
load_json_body() click to toggle source
# File lib/staticd/api.rb, line 326
def load_json_body
  if request.content_type == "application/json"
    request.body.rewind
    @json = JSONRequest.parse(request.body.read)
  end
end
ping?(domain, port=80) click to toggle source
# File lib/staticd/api.rb, line 318
def ping?(domain, port=80)
  open("http://#{domain}:#{port}/api/#{VERSION}/ping", read_timeout: 1) do |response|
    response.read == @config[:domain]
  end
rescue
  false
end