class Lita::Handlers::JenkinsClient::BuildParam
Attributes
choices[R]
default[R]
description[R]
name[R]
type[R]
value[R]
Public Class Methods
new(type: , name: , description: , default: '', choices: [])
click to toggle source
# 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
print_supported_types()
click to toggle source
# 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_types()
click to toggle source
# File lib/lita/handlers/jenkins_client/build_param.rb, line 4 def self.supported_types ['boolean', 'string', 'choice'].freeze end
Public Instance Methods
to_h()
click to toggle source
# File lib/lita/handlers/jenkins_client/build_param.rb, line 56 def to_h {@name => @value} end
value=(v)
click to toggle source
# File lib/lita/handlers/jenkins_client/build_param.rb, line 25 def value=(v) if v.nil? @value = nil end unless v.is_a? (String) return end case @type when 'string' @value = v when 'boolean' if v == 'true' @value = true elsif v == 'false' @value = false else raise ArgumentError, "#{@name} should be true or false" end when 'choice' if @choices.include? (v) @value = v else raise ArgumentError, "#{@name} should be one of #{@choices.inspect}" end else raise ArgumentError, self.class.print_supported_types end end
Private Instance Methods
wrong_type?()
click to toggle source
# File lib/lita/handlers/jenkins_client/build_param.rb, line 61 def wrong_type? not self.class.supported_types.include? @type end