Class: Athenian::ReleaseMatchStrategy

Inherits:
Object
  • Object
show all
Defined in:
lib/athenian/models/release_match_strategy.rb

Constant Summary collapse

BRANCH =
'branch'.freeze
EVENT =
'event'.freeze
TAG =
'tag'.freeze
TAG_OR_BRANCH =
'tag_or_branch'.freeze

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.all_varsObject



20
21
22
# File 'lib/athenian/models/release_match_strategy.rb', line 20

def self.all_vars
  @all_vars ||= [BRANCH, EVENT, TAG, TAG_OR_BRANCH].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



27
28
29
# File 'lib/athenian/models/release_match_strategy.rb', line 27

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



34
35
36
37
# File 'lib/athenian/models/release_match_strategy.rb', line 34

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