Class: Zab::Client
- Inherits:
-
Object
- Object
- Zab::Client
- Defined in:
- lib/zab.rb
Instance Method Summary collapse
-
#initialize(url:, params:) ⇒ Client
constructor
A new instance of Client.
- #requestdata(token:, method:, params:) ⇒ Object
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 |