Class: Datapi::Client::StoreData

Inherits:
Object
  • Object
show all
Defined in:
lib/datapi/client.rb

Instance Method Summary collapse

Constructor Details

#initialize(datapi_root_url, datapi_read_write_api_token) ⇒ StoreData

Returns a new instance of StoreData.



9
10
11
12
# File 'lib/datapi/client.rb', line 9

def initialize(datapi_root_url, datapi_read_write_api_token)
  @datapi_root_url = datapi_root_url
  @datapi_read_write_api_token = datapi_read_write_api_token
end

Instance Method Details

#send(data, typeid, generated_at = nil) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/datapi/client.rb', line 14

def send(data, typeid, generated_at = nil)
  generated_at = DateTime.now if generated_at.nil?

  uri = URI.join(@datapi_root_url, '/data/', typeid)
  req = Net::HTTP::Post.new(
    uri.path,
    { 'Content-Type' => 'application/json',
      'Authorization' => "Token token=#{@datapi_read_write_api_token}"
    })
  req.body = { data: data, generated_at: generated_at }.to_json

  res = Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme.eql?('https')) do |http|
    http.request(req)
  end

  resp_data = JSON.parse(res.body)
  return resp_data
end