class SplitApi::Models::Identities

Public Class Methods

new(config) click to toggle source
# File lib/splitapi-rb/models/identities.rb, line 7
def initialize(config)
  @config = config
end

Public Instance Methods

delete(traffic_type_id, environment_id, key) click to toggle source

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

# File lib/splitapi-rb/models/identities.rb, line 82
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) click to toggle source

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

# File lib/splitapi-rb/models/identities.rb, line 12
def save(identity)
  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],
      'organizationId' => identity[:organization_id],
      'values' => identity[:values]
    }.to_json, auth_headers).body)

  DataObjects::Identity.new(
    key: identity['key'],
    traffic_type_id: identity['trafficTypeId'],
    environment_id: identity['environmentId'],
    organization_id: identity['organizationId'],
    values: identity['values']
  )
end
save_all(traffic_type_id, environment_id, identities) click to toggle source

POST /trafficTypes/{traffic_type_id}/environments/{environment_id}/identities

# File lib/splitapi-rb/models/identities.rb, line 34
def save_all(traffic_type_id, environment_id, identities)
  result = JSON.parse(RestClient.post(
    "#{@config.base_uri}/trafficTypes/#{traffic_type_id}" \
    "/environments/#{environment_id}" \
    "/identities",
    identities.to_json, auth_headers).body
  )

  objects = result['objects'].map do |identity|
    DataObjects::Identity.new(
      key: identity['key'],
      traffic_type_id: identity['trafficTypeId'],
      environment_id: identity['environmentId'],
      organization_id: identity['organizationId'],
      values: identity['values']
    )
  end

  {
    objects: objects,
    failed: result['failed'],
    metadata: result['metadata']
  }
end
update(identity) click to toggle source

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

# File lib/splitapi-rb/models/identities.rb, line 60
def update(identity)
  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],
      'organizationId' => identity[:organization_id],
      'values' => identity[:values]
    }.to_json, auth_headers).body)

  DataObjects::Identity.new(
    key: identity['key'],
    traffic_type_id: identity['trafficTypeId'],
    environment_id: identity['environmentId'],
    organization_id: identity['organizationId'],
    values: identity['values']
  )
end