Class: SplitApi::Models::Identities

Inherits:
BaseModel
  • Object
show all
Defined in:
lib/splitapi-rb/models/identities.rb

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ Identities

Returns a new instance of Identities.



7
8
9
# File 'lib/splitapi-rb/models/identities.rb', line 7

def initialize(config)
  @config = config
end

Instance Method Details

#delete(traffic_type_id, environment_id, key) ⇒ Object

DELETE /trafficTypes/traffic_type_id/environments/environment_id/identities/key



50
51
52
53
54
55
# File 'lib/splitapi-rb/models/identities.rb', line 50

def delete(traffic_type_id, environment_id, key)
  RestClient.delete(
    "#{@config.base_uri}/trafficTypes/#{traffic_type_id}/environments/" \
    "#{environment_id}/identities/#{key}",
    auth_headers) == 'true'
end

#save(identity) ⇒ Object

PUT /trafficTypes/traffic_type_id/environments/environment_id/identities/key



12
13
14
15
16
17
18
19
20
21
22
# File 'lib/splitapi-rb/models/identities.rb', line 12

def save(identity)
  JSON.parse(RestClient.put(
    "#{@config.base_uri}/trafficTypes/#{identity[:traffic_type_id]}" \
    "/environments/#{identity[:environment_id]}/identities/#{identity[:key]}",
    {
      'key' => identity[:key],
      'trafficTypeId' => identity[:traffic_type_id],
      'environmentId' => identity[:environment_id],
      'values' => identity[:values]
    }.to_json, auth_headers).body).map { |k, v| [to_underscore(k), v] }.to_h
end

#save_all(traffic_type_id, environment_id, identities) ⇒ Object

POST /trafficTypes/traffic_type_id/environments/environment_id/identities



25
26
27
28
29
30
31
32
33
34
# File 'lib/splitapi-rb/models/identities.rb', line 25

def save_all(traffic_type_id, environment_id, identities)
  JSON.parse(RestClient.post(
    "#{@config.base_uri}/trafficTypes/#{traffic_type_id}" \
    "/environments/#{environment_id}" \
    "/identities",
    identities.to_json, auth_headers).body
  )['objects'].map do |identity|
    identity.map { |k, v| [to_underscore(k), v] }.to_h
  end
end

#update(identity) ⇒ Object

PATCH /trafficTypes/traffic_type_id/environments/environment_id/identities/key



37
38
39
40
41
42
43
44
45
46
47
# File 'lib/splitapi-rb/models/identities.rb', line 37

def update(identity)
  JSON.parse(RestClient.patch(
    "#{@config.base_uri}/trafficTypes/#{identity[:traffic_type_id]}" \
    "/environments/#{identity[:environment_id]}/identities/#{identity[:key]}",
    {
      'key' => identity[:key],
      'trafficTypeId' => identity[:traffic_type_id],
      'environmentId' => identity[:environment_id],
      'values' => identity[:values]
    }.to_json, auth_headers).body).map { |k, v| [to_underscore(k), v] }.to_h
end