Class: Metronome::Permission

Inherits:
Object
  • Object
show all
Defined in:
lib/metronome/models/permission.rb

Constant Summary collapse

API_KEY_WRITE =
"api-key-write".freeze
API_KEY_READ =
"api-key-read".freeze
POLICY_READ =
"policy-read".freeze
POLICY_WRITE =
"policy-write".freeze
ITEM_READ =
"item-read".freeze
TELEMETRY_WRITE =
"telemetry-write".freeze
EXPIRY_NOTICE_READ =
"expiry-notice-read".freeze

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.all_varsObject



26
27
28
# File 'lib/metronome/models/permission.rb', line 26

def self.all_vars
  @all_vars ||= [API_KEY_WRITE, API_KEY_READ, POLICY_READ, POLICY_WRITE, ITEM_READ, TELEMETRY_WRITE, EXPIRY_NOTICE_READ].freeze
end

.build_from_hash(value) ⇒ String

Builds the enum from string

Parameters:

  • The (String)

    enum value in the form of the string

Returns:

  • (String)

    The enum value



33
34
35
# File 'lib/metronome/models/permission.rb', line 33

def self.build_from_hash(value)
  new.build_from_hash(value)
end

Instance Method Details

#build_from_hash(value) ⇒ String

Builds the enum from string

Parameters:

  • The (String)

    enum value in the form of the string

Returns:

  • (String)

    The enum value



40
41
42
43
# File 'lib/metronome/models/permission.rb', line 40

def build_from_hash(value)
  return value if Permission.all_vars.include?(value)
  raise "Invalid ENUM value #{value} for class #Permission"
end