Class: Zab::Client

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

Instance Method Summary collapse

Constructor Details

#initialize(url:, params:) ⇒ Client

Returns a new instance of Client.



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/zab.rb', line 8

def initialize(url:,params:)

  methods = %w(host.get item.get history.get)

  methods.each do |method_name|
    self.class.send(:define_method,method_name.gsub(".","_")) do |params|
      @req.body = requestdata(token:@token,method:method_name,params:params)
      JSON.parse(@http.request(@req).body)["result"]
    end
  end

  uri       = URI.parse(url)
  @http     = Net::HTTP.new(uri.host, uri.port)
  @req      = Net::HTTP::Post.new(uri.request_uri,initheader = {'Content-Type'=>'application/json'})
  @req.body = requestdata(token:nil,method:"user.authenticate",params:params)
  res       = @http.request(@req)
  @token    = JSON.parse(res.body)["result"]

end

Instance Method Details

#requestdata(token:, method:, params:) ⇒ Object



28
29
30
31
32
33
34
35
36
# File 'lib/zab.rb', line 28

def requestdata(token:,method:,params:)
  {
    auth:"#{token}",
    id:1,
    jsonrpc:"2.0",
    method:"#{method}",
    params:params
  }.to_json
end