Class: Lita::Handlers::JenkinsClient::BuildParam

Inherits:
Object
  • Object
show all
Defined in:
lib/lita/handlers/jenkins_client/build_param.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(type:, name:, description:, default: '', choices: []) ⇒ BuildParam

Returns a new instance of BuildParam.



12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/lita/handlers/jenkins_client/build_param.rb', line 12

def initialize(type: , name: , description: , default: '', choices: [])
  @type, @name, @description, @default, @choices = type, name, description, default, choices
  if type == 'choice'
    @default = choices[0] 
  end

  if wrong_type? 
    raise ArgumentError, self.class.print_supported_types
  end

  self.value = @default 
end

Instance Attribute Details

#choicesObject (readonly)

Returns the value of attribute choices.



3
4
5
# File 'lib/lita/handlers/jenkins_client/build_param.rb', line 3

def choices
  @choices
end

#defaultObject (readonly)

Returns the value of attribute default.



3
4
5
# File 'lib/lita/handlers/jenkins_client/build_param.rb', line 3

def default
  @default
end

#descriptionObject (readonly)

Returns the value of attribute description.



3
4
5
# File 'lib/lita/handlers/jenkins_client/build_param.rb', line 3

def description
  @description
end

#nameObject (readonly)

Returns the value of attribute name.



3
4
5
# File 'lib/lita/handlers/jenkins_client/build_param.rb', line 3

def name
  @name
end

#typeObject (readonly)

Returns the value of attribute type.



3
4
5
# File 'lib/lita/handlers/jenkins_client/build_param.rb', line 3

def type
  @type
end

#valueObject

Returns the value of attribute value.



3
4
5
# File 'lib/lita/handlers/jenkins_client/build_param.rb', line 3

def value
  @value
end

Class Method Details



8
9
10
# File 'lib/lita/handlers/jenkins_client/build_param.rb', line 8

def self.print_supported_types
  "Currently available param types: #{self.supported_types.join(' ')}"
end

.supported_typesObject



4
5
6
# File 'lib/lita/handlers/jenkins_client/build_param.rb', line 4

def self.supported_types
  ['boolean', 'string', 'choice'].freeze
end

Instance Method Details

#to_hObject



56
57
58
# File 'lib/lita/handlers/jenkins_client/build_param.rb', line 56

def to_h
  {@name => @value}
end