class Anamo::Api

Public Class Methods

new() click to toggle source
# File lib/anamo/api.rb, line 8
def initialize
  @api_base_url = 'https://app.anamo.io/api'
  @config = YAML.load_file "#{Dir.home}/anamo.conf.yml"
  @client_key = File.exists?("#{Dir.home}/anamo.client.key") ? File.open("#{Dir.home}/anamo.client.key", 'rb') { |f| f.read } : nil
end

Public Instance Methods

do_multipart_post(path, files) click to toggle source
# File lib/anamo/api.rb, line 32
def do_multipart_post path, files
  uri = make_uri path
  request = Net::HTTP::Post::Multipart.new uri.path, files
  request['X-UPTB-Client-Key'] = @client_key if @client_key
  Net::HTTP.start(uri.host, uri.port, :use_ssl => true) do |http|
    http.request(request)
  end
end
do_post(path, &block) click to toggle source
# File lib/anamo/api.rb, line 22
def do_post path, &block
  uri = make_uri path
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true
  request = Net::HTTP::Post.new(uri.request_uri)
  request['X-UPTB-Client-Key'] = @client_key if @client_key
  instance_exec request, http, &block
  http.request(request)
end
make_uri(path) click to toggle source
# File lib/anamo/api.rb, line 18
def make_uri path
  URI.parse make_url path
end
make_url(path) click to toggle source
# File lib/anamo/api.rb, line 14
def make_url path
  "#{@api_base_url}/#{path}"
end
post_fstree(data_files) click to toggle source
# File lib/anamo/api.rb, line 41
def post_fstree data_files
  response = do_multipart_post 'fstree', data_files
  raise 'Send failure' if !response.is_a?(Net::HTTPOK)
  response
end
post_groups(data) click to toggle source
# File lib/anamo/api.rb, line 56
def post_groups data
  response = do_post 'groups' do |request|
    request.body = data
    request["Content-Type"] = "text/plain"
  end
  raise 'Send failure' if !response.is_a?(Net::HTTPOK)
  response
end
post_node(data) click to toggle source
# File lib/anamo/api.rb, line 83
def post_node data
  response = do_post 'node' do |request|
    request.body = data
    request["Content-Type"] = "application/json"
  end
  #raise 'Send failure' if !response.is_a?(Net::HTTPOK)
  response
end
post_pkgver(data) click to toggle source
# File lib/anamo/api.rb, line 74
def post_pkgver data
  response = do_post 'pkgver' do |request|
    request.body = data
    request["Content-Type"] = "application/json"
  end
  raise 'Send failure' if !response.is_a?(Net::HTTPOK)
  response
end
post_ports(data) click to toggle source
# File lib/anamo/api.rb, line 65
def post_ports data
  response = do_post 'ports' do |request|
    request.body = data
    request["Content-Type"] = "application/json"
  end
  raise 'Send failure' if !response.is_a?(Net::HTTPOK)
  response
end
post_users(data) click to toggle source
# File lib/anamo/api.rb, line 47
def post_users data
  response = do_post 'users' do |request|
    request.body = data
    request["Content-Type"] = "text/plain"
  end
  raise 'Send failure' if !response.is_a?(Net::HTTPOK)
  response
end