Class: Featureflip::Http::Client

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

Instance Method Summary collapse

Constructor Details

#initialize(sdk_key, config) ⇒ Client

Returns a new instance of Client.



8
9
10
11
12
# File 'lib/featureflip/http/client.rb', line 8

def initialize(sdk_key, config)
  @sdk_key = sdk_key
  @config = config
  @base_url = config.base_url
end

Instance Method Details

#closeObject



31
32
33
# File 'lib/featureflip/http/client.rb', line 31

def close
  # No persistent connection to close with net/http
end

#get_flag(key) ⇒ Object



22
23
24
25
# File 'lib/featureflip/http/client.rb', line 22

def get_flag(key)
  response = request(:get, "/v1/sdk/flags/#{key}")
  parse_flag(JSON.parse(response.body))
end

#get_flagsObject



14
15
16
17
18
19
20
# File 'lib/featureflip/http/client.rb', line 14

def get_flags
  response = request(:get, "/v1/sdk/flags")
  data = JSON.parse(response.body)
  flags = (data["flags"] || []).map { |f| parse_flag(f) }
  segments = (data["segments"] || []).map { |s| parse_segment(s) }
  [flags, segments]
end

#post_events(events) ⇒ Object



27
28
29
# File 'lib/featureflip/http/client.rb', line 27

def post_events(events)
  request(:post, "/v1/sdk/events", { events: events })
end