class LaunchDarklyApi::FlagGlobalAttributesRep

Attributes

_maintainer[RW]
_version[RW]

Version of the feature flag

archived[RW]

Boolean indicating if the feature flag is archived

archived_date[RW]
client_side_availability[RW]
creation_date[RW]
custom_properties[RW]
defaults[RW]
description[RW]

Description of the feature flag

experiments[RW]
goal_ids[RW]
include_in_snippet[RW]

Deprecated, use clientSideAvailability. Whether or not this flag should be made available to the client-side JavaScript SDK

key[RW]

A unique key used to reference the flag in your code

kind[RW]

Kind of feature flag

maintainer_id[RW]

Associated maintainerId for the feature flag

name[RW]

A human-friendly name for the feature flag

tags[RW]

Tags for the feature flag

temporary[RW]

Whether or not the flag is a temporary flag

variation_json_schema[RW]
variations[RW]

An array of possible variations for the flag

Public Class Methods

acceptable_attributes() click to toggle source

Returns all the JSON keys this model knows about

# File lib/launchdarkly_api/models/flag_global_attributes_rep.rb, line 121
def self.acceptable_attributes
  attribute_map.values
end
attribute_map() click to toggle source

Attribute mapping from ruby-style variable name to JSON key.

# File lib/launchdarkly_api/models/flag_global_attributes_rep.rb, line 94
def self.attribute_map
  {
    :'name' => :'name',
    :'kind' => :'kind',
    :'description' => :'description',
    :'key' => :'key',
    :'_version' => :'_version',
    :'creation_date' => :'creationDate',
    :'include_in_snippet' => :'includeInSnippet',
    :'client_side_availability' => :'clientSideAvailability',
    :'variations' => :'variations',
    :'variation_json_schema' => :'variationJsonSchema',
    :'temporary' => :'temporary',
    :'tags' => :'tags',
    :'_links' => :'_links',
    :'maintainer_id' => :'maintainerId',
    :'_maintainer' => :'_maintainer',
    :'goal_ids' => :'goalIds',
    :'experiments' => :'experiments',
    :'custom_properties' => :'customProperties',
    :'archived' => :'archived',
    :'archived_date' => :'archivedDate',
    :'defaults' => :'defaults'
  }
end
build_from_hash(attributes) click to toggle source

Builds the object from hash @param [Hash] attributes Model attributes in the form of hash @return [Object] Returns the model itself

# File lib/launchdarkly_api/models/flag_global_attributes_rep.rb, line 397
def self.build_from_hash(attributes)
  new.build_from_hash(attributes)
end
new(attributes = {}) click to toggle source

Initializes the object @param [Hash] attributes Model attributes in the form of hash

# File lib/launchdarkly_api/models/flag_global_attributes_rep.rb, line 161
def initialize(attributes = {})
  if (!attributes.is_a?(Hash))
    fail ArgumentError, "The input argument (attributes) must be a hash in `LaunchDarklyApi::FlagGlobalAttributesRep` initialize method"
  end

  # check to see if the attribute exists and convert string to symbol for hash key
  attributes = attributes.each_with_object({}) { |(k, v), h|
    if (!self.class.attribute_map.key?(k.to_sym))
      fail ArgumentError, "`#{k}` is not a valid attribute in `LaunchDarklyApi::FlagGlobalAttributesRep`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
    end
    h[k.to_sym] = v
  }

  if attributes.key?(:'name')
    self.name = attributes[:'name']
  end

  if attributes.key?(:'kind')
    self.kind = attributes[:'kind']
  end

  if attributes.key?(:'description')
    self.description = attributes[:'description']
  end

  if attributes.key?(:'key')
    self.key = attributes[:'key']
  end

  if attributes.key?(:'_version')
    self._version = attributes[:'_version']
  end

  if attributes.key?(:'creation_date')
    self.creation_date = attributes[:'creation_date']
  end

  if attributes.key?(:'include_in_snippet')
    self.include_in_snippet = attributes[:'include_in_snippet']
  end

  if attributes.key?(:'client_side_availability')
    self.client_side_availability = attributes[:'client_side_availability']
  end

  if attributes.key?(:'variations')
    if (value = attributes[:'variations']).is_a?(Array)
      self.variations = value
    end
  end

  if attributes.key?(:'variation_json_schema')
    self.variation_json_schema = attributes[:'variation_json_schema']
  end

  if attributes.key?(:'temporary')
    self.temporary = attributes[:'temporary']
  end

  if attributes.key?(:'tags')
    if (value = attributes[:'tags']).is_a?(Array)
      self.tags = value
    end
  end

  if attributes.key?(:'_links')
    if (value = attributes[:'_links']).is_a?(Hash)
      self._links = value
    end
  end

  if attributes.key?(:'maintainer_id')
    self.maintainer_id = attributes[:'maintainer_id']
  end

  if attributes.key?(:'_maintainer')
    self._maintainer = attributes[:'_maintainer']
  end

  if attributes.key?(:'goal_ids')
    if (value = attributes[:'goal_ids']).is_a?(Array)
      self.goal_ids = value
    end
  end

  if attributes.key?(:'experiments')
    self.experiments = attributes[:'experiments']
  end

  if attributes.key?(:'custom_properties')
    if (value = attributes[:'custom_properties']).is_a?(Hash)
      self.custom_properties = value
    end
  end

  if attributes.key?(:'archived')
    self.archived = attributes[:'archived']
  end

  if attributes.key?(:'archived_date')
    self.archived_date = attributes[:'archived_date']
  end

  if attributes.key?(:'defaults')
    self.defaults = attributes[:'defaults']
  end
end
openapi_nullable() click to toggle source

List of attributes with nullable: true

# File lib/launchdarkly_api/models/flag_global_attributes_rep.rb, line 153
def self.openapi_nullable
  Set.new([
    :'variation_json_schema',
  ])
end
openapi_types() click to toggle source

Attribute type mapping.

# File lib/launchdarkly_api/models/flag_global_attributes_rep.rb, line 126
def self.openapi_types
  {
    :'name' => :'String',
    :'kind' => :'String',
    :'description' => :'String',
    :'key' => :'String',
    :'_version' => :'Integer',
    :'creation_date' => :'Integer',
    :'include_in_snippet' => :'Boolean',
    :'client_side_availability' => :'ClientSideAvailability',
    :'variations' => :'Array<Variation>',
    :'variation_json_schema' => :'Object',
    :'temporary' => :'Boolean',
    :'tags' => :'Array<String>',
    :'_links' => :'Hash<String, Link>',
    :'maintainer_id' => :'String',
    :'_maintainer' => :'MemberSummaryRep',
    :'goal_ids' => :'Array<String>',
    :'experiments' => :'ExperimentInfoRep',
    :'custom_properties' => :'Hash<String, CustomProperty>',
    :'archived' => :'Boolean',
    :'archived_date' => :'Integer',
    :'defaults' => :'Defaults'
  }
end

Public Instance Methods

==(o) click to toggle source

Checks equality by comparing each attribute. @param [Object] Object to be compared

# File lib/launchdarkly_api/models/flag_global_attributes_rep.rb, line 356
def ==(o)
  return true if self.equal?(o)
  self.class == o.class &&
      name == o.name &&
      kind == o.kind &&
      description == o.description &&
      key == o.key &&
      _version == o._version &&
      creation_date == o.creation_date &&
      include_in_snippet == o.include_in_snippet &&
      client_side_availability == o.client_side_availability &&
      variations == o.variations &&
      variation_json_schema == o.variation_json_schema &&
      temporary == o.temporary &&
      tags == o.tags &&
      _links == o._links &&
      maintainer_id == o.maintainer_id &&
      _maintainer == o._maintainer &&
      goal_ids == o.goal_ids &&
      experiments == o.experiments &&
      custom_properties == o.custom_properties &&
      archived == o.archived &&
      archived_date == o.archived_date &&
      defaults == o.defaults
end
_deserialize(type, value) click to toggle source

Deserializes the data based on type @param string type Data type @param string value Value to be deserialized @return [Object] Deserialized data

# File lib/launchdarkly_api/models/flag_global_attributes_rep.rb, line 427
def _deserialize(type, value)
  case type.to_sym
  when :Time
    Time.parse(value)
  when :Date
    Date.parse(value)
  when :String
    value.to_s
  when :Integer
    value.to_i
  when :Float
    value.to_f
  when :Boolean
    if value.to_s =~ /\A(true|t|yes|y|1)\z/i
      true
    else
      false
    end
  when :Object
    # generic object (usually a Hash), return directly
    value
  when /\AArray<(?<inner_type>.+)>\z/
    inner_type = Regexp.last_match[:inner_type]
    value.map { |v| _deserialize(inner_type, v) }
  when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
    k_type = Regexp.last_match[:k_type]
    v_type = Regexp.last_match[:v_type]
    {}.tap do |hash|
      value.each do |k, v|
        hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
      end
    end
  else # model
    # models (e.g. Pet) or oneOf
    klass = LaunchDarklyApi.const_get(type)
    klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
  end
end
_to_hash(value) click to toggle source

Outputs non-array value in the form of hash For object, use to_hash. Otherwise, just return the value @param [Object] value Any valid value @return [Hash] Returns the value in the form of hash

# File lib/launchdarkly_api/models/flag_global_attributes_rep.rb, line 498
def _to_hash(value)
  if value.is_a?(Array)
    value.compact.map { |v| _to_hash(v) }
  elsif value.is_a?(Hash)
    {}.tap do |hash|
      value.each { |k, v| hash[k] = _to_hash(v) }
    end
  elsif value.respond_to? :to_hash
    value.to_hash
  else
    value
  end
end
build_from_hash(attributes) click to toggle source

Builds the object from hash @param [Hash] attributes Model attributes in the form of hash @return [Object] Returns the model itself

# File lib/launchdarkly_api/models/flag_global_attributes_rep.rb, line 404
def build_from_hash(attributes)
  return nil unless attributes.is_a?(Hash)
  self.class.openapi_types.each_pair do |key, type|
    if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
      self.send("#{key}=", nil)
    elsif type =~ /\AArray<(.*)>/i
      # check to ensure the input is an array given that the attribute
      # is documented as an array but the input is not
      if attributes[self.class.attribute_map[key]].is_a?(Array)
        self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
      end
    elsif !attributes[self.class.attribute_map[key]].nil?
      self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
    end
  end

  self
end
eql?(o) click to toggle source

@see the `==` method @param [Object] Object to be compared

# File lib/launchdarkly_api/models/flag_global_attributes_rep.rb, line 384
def eql?(o)
  self == o
end
hash() click to toggle source

Calculates hash code according to all attributes. @return [Integer] Hash code

# File lib/launchdarkly_api/models/flag_global_attributes_rep.rb, line 390
def hash
  [name, kind, description, key, _version, creation_date, include_in_snippet, client_side_availability, variations, variation_json_schema, temporary, tags, _links, maintainer_id, _maintainer, goal_ids, experiments, custom_properties, archived, archived_date, defaults].hash
end
kind=(kind) click to toggle source

Custom attribute writer method checking allowed values (enum). @param [Object] kind Object to be assigned

# File lib/launchdarkly_api/models/flag_global_attributes_rep.rb, line 346
def kind=(kind)
  validator = EnumAttributeValidator.new('String', ["boolean", "multivariate"])
  unless validator.valid?(kind)
    fail ArgumentError, "invalid value for \"kind\", must be one of #{validator.allowable_values}."
  end
  @kind = kind
end
list_invalid_properties() click to toggle source

Show invalid properties with the reasons. Usually used together with valid? @return Array for valid properties with the reasons

# File lib/launchdarkly_api/models/flag_global_attributes_rep.rb, line 271
def list_invalid_properties
  invalid_properties = Array.new
  if @name.nil?
    invalid_properties.push('invalid value for "name", name cannot be nil.')
  end

  if @kind.nil?
    invalid_properties.push('invalid value for "kind", kind cannot be nil.')
  end

  if @key.nil?
    invalid_properties.push('invalid value for "key", key cannot be nil.')
  end

  if @_version.nil?
    invalid_properties.push('invalid value for "_version", _version cannot be nil.')
  end

  if @creation_date.nil?
    invalid_properties.push('invalid value for "creation_date", creation_date cannot be nil.')
  end

  if @variations.nil?
    invalid_properties.push('invalid value for "variations", variations cannot be nil.')
  end

  if @temporary.nil?
    invalid_properties.push('invalid value for "temporary", temporary cannot be nil.')
  end

  if @tags.nil?
    invalid_properties.push('invalid value for "tags", tags cannot be nil.')
  end

  if @_links.nil?
    invalid_properties.push('invalid value for "_links", _links cannot be nil.')
  end

  if @experiments.nil?
    invalid_properties.push('invalid value for "experiments", experiments cannot be nil.')
  end

  if @custom_properties.nil?
    invalid_properties.push('invalid value for "custom_properties", custom_properties cannot be nil.')
  end

  if @archived.nil?
    invalid_properties.push('invalid value for "archived", archived cannot be nil.')
  end

  invalid_properties
end
to_body() click to toggle source

to_body is an alias to to_hash (backward compatibility) @return [Hash] Returns the object in the form of hash

# File lib/launchdarkly_api/models/flag_global_attributes_rep.rb, line 474
def to_body
  to_hash
end
to_hash() click to toggle source

Returns the object in the form of hash @return [Hash] Returns the object in the form of hash

# File lib/launchdarkly_api/models/flag_global_attributes_rep.rb, line 480
def to_hash
  hash = {}
  self.class.attribute_map.each_pair do |attr, param|
    value = self.send(attr)
    if value.nil?
      is_nullable = self.class.openapi_nullable.include?(attr)
      next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
    end

    hash[param] = _to_hash(value)
  end
  hash
end
to_s() click to toggle source

Returns the string representation of the object @return [String] String presentation of the object

# File lib/launchdarkly_api/models/flag_global_attributes_rep.rb, line 468
def to_s
  to_hash.to_s
end
valid?() click to toggle source

Check to see if the all the properties in the model are valid @return true if the model is valid

# File lib/launchdarkly_api/models/flag_global_attributes_rep.rb, line 326
def valid?
  return false if @name.nil?
  return false if @kind.nil?
  kind_validator = EnumAttributeValidator.new('String', ["boolean", "multivariate"])
  return false unless kind_validator.valid?(@kind)
  return false if @key.nil?
  return false if @_version.nil?
  return false if @creation_date.nil?
  return false if @variations.nil?
  return false if @temporary.nil?
  return false if @tags.nil?
  return false if @_links.nil?
  return false if @experiments.nil?
  return false if @custom_properties.nil?
  return false if @archived.nil?
  true
end