Class: XpRubyClient::Requester

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

Instance Method Summary collapse

Constructor Details

#initialize(conn) ⇒ Requester



6
7
8
9
10
11
12
13
14
15
# File 'lib/xp_ruby_client/requester.rb', line 6

def initialize(conn)
  @sess = Patron::Session.new do |patron|
    patron.timeout = 30
    patron.base_url = conn.base_url
    patron.headers = {"User-Agent" => "XpRubyClient",
                      "Content-Type" => "application/json"}
  end
  # @sess.enable_debug "/tmp/patron.debug"
  build_payload(conn.to_h)
end

Instance Method Details

#build_payload(segments: {}, assigned: []) ⇒ Object



17
18
19
20
# File 'lib/xp_ruby_client/requester.rb', line 17

def build_payload(segments: {}, assigned: [], **)
  # TODO: log not used arguemnts
  @payload = JSON.dump({segments: segments, assigned: assigned})
end

#retrieve(req_payload = nil) ⇒ Object



22
23
24
25
26
# File 'lib/xp_ruby_client/requester.rb', line 22

def retrieve(req_payload = nil)
  build_payload(req_payload) if req_payload
  resp = @sess.post("/experiments", @payload)
  parse_body(resp)
end