Sha256: ca784f6421bf1fd437e51f3b7852e00daf259172cb237e9fa01efbd6faf29dea

Contents?: true

Size: 1.13 KB

Versions: 2

Compression:

Stored size: 1.13 KB

Contents

require 'json'
require 'httparty'
require 'rest-client'
require 'net/http/post/multipart'

module Kraken
  class API
    include HTTParty

    attr_accessor :api_key, :api_secret

    def initialize(api_key = '', api_secret = '')
      @api_key = api_key
      @api_secret = api_secret
    end

    def url(params = {})
      params.merge!({
        'auth' => {
          'api_key' => @api_key,
          'api_secret' => @api_secret
        }
      })

      self.class.post('https://api.hub/url', {:body => JSON.generate(params)})
    end

    def upload(params = {})
      params.merge!({
        'auth' => {
          'api_key' => @api_key,
          'api_secret' => @api_secret
        }
      })

      url = URI.parse("https://api.hub/upload")

      File.open(params['file']) do |file|
        params.delete('file')

        req = Net::HTTP::Post::Multipart.new url.path, "body" => JSON.generate(params), "file" => UploadIO.new(file, 'logotyp.png')

        https = Net::HTTP.new(url.host, url.port)
        https.use_ssl = true

        res = https.start() {|conn| conn.request(req)}
        response = JSON.parse(res.body)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
kraken-io-0.0.2 lib/kraken-io.rb
kraken-io-0.0.1 lib/kraken-io.rb