Class: Pinnacle::Internal::Types::Model::Field

Inherits:
Object
  • Object
show all
Defined in:
lib/pinnacle/internal/types/model/field.rb

Overview

Definition of a field on a model

Constant Summary collapse

SENSITIVE_FIELD_NAMES =
i[
  password secret token api_key apikey access_token refresh_token
  client_secret client_id credential bearer authorization
].freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:, type:, optional: false, nullable: false, api_name: nil, value: nil, default: nil) ⇒ Field

Returns a new instance of Field.



16
17
18
19
20
21
22
23
24
# File 'lib/pinnacle/internal/types/model/field.rb', line 16

def initialize(name:, type:, optional: false, nullable: false, api_name: nil, value: nil, default: nil)
  @name = name.to_sym
  @type = type
  @optional = optional
  @nullable = nullable
  @api_name = api_name || name.to_s
  @value = value
  @default = default
end

Instance Attribute Details

#api_nameObject (readonly)

Returns the value of attribute api_name.



14
15
16
# File 'lib/pinnacle/internal/types/model/field.rb', line 14

def api_name
  @api_name
end

#defaultObject (readonly)

Returns the value of attribute default.



14
15
16
# File 'lib/pinnacle/internal/types/model/field.rb', line 14

def default
  @default
end

#nameObject (readonly)

Returns the value of attribute name.



14
15
16
# File 'lib/pinnacle/internal/types/model/field.rb', line 14

def name
  @name
end

#nullableObject (readonly)

Returns the value of attribute nullable.



14
15
16
# File 'lib/pinnacle/internal/types/model/field.rb', line 14

def nullable
  @nullable
end

#optionalObject (readonly)

Returns the value of attribute optional.



14
15
16
# File 'lib/pinnacle/internal/types/model/field.rb', line 14

def optional
  @optional
end

#typeObject (readonly)

Returns the value of attribute type.



14
15
16
# File 'lib/pinnacle/internal/types/model/field.rb', line 14

def type
  @type
end

#valueObject (readonly)

Returns the value of attribute value.



14
15
16
# File 'lib/pinnacle/internal/types/model/field.rb', line 14

def value
  @value
end

Instance Method Details

#literal?Boolean

Returns:



26
27
28
# File 'lib/pinnacle/internal/types/model/field.rb', line 26

def literal?
  !value.nil?
end

#sensitive?Boolean

Returns:



30
31
32
33
# File 'lib/pinnacle/internal/types/model/field.rb', line 30

def sensitive?
  SENSITIVE_FIELD_NAMES.include?(@name) ||
    SENSITIVE_FIELD_NAMES.any? { |sensitive| @name.to_s.include?(sensitive.to_s) }
end