Class: FastlaneCore::ConfigItem
- Inherits:
-
Object
- Object
- FastlaneCore::ConfigItem
- Defined in:
- lib/fastlane_core/configuration/config_item.rb
Instance Attribute Summary collapse
-
#default_value ⇒ Object
Returns the value of attribute default_value.
-
#description ⇒ Object
Returns the value of attribute description.
-
#env_name ⇒ Object
Returns the value of attribute env_name.
-
#is_string ⇒ Object
Returns the value of attribute is_string.
-
#key ⇒ Object
Returns the value of attribute key.
-
#optional ⇒ Object
Returns the value of attribute optional.
-
#short_option ⇒ Object
Returns the value of attribute short_option.
-
#verify_block ⇒ Object
Returns the value of attribute verify_block.
Instance Method Summary collapse
-
#initialize(key: nil, env_name: nil, description: nil, short_option: nil, default_value: nil, verify_block: nil, is_string: true, optional: false) ⇒ ConfigItem
constructor
Creates a new option.
-
#is_valid?(value) ⇒ Boolean
Make sure, the value is valid (based on the verify block) Returns false if that’s not the case.
- #to_s ⇒ Object
-
#verify!(value) ⇒ Object
This will raise an exception if the value is not valid.
Constructor Details
#initialize(key: nil, env_name: nil, description: nil, short_option: nil, default_value: nil, verify_block: nil, is_string: true, optional: false) ⇒ ConfigItem
Creates a new option
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/fastlane_core/configuration/config_item.rb', line 16 def initialize(key: nil, env_name: nil, description: nil, short_option: nil, default_value: nil, verify_block: nil, is_string: true, optional: false) raise "key must be a symbol" unless key.kind_of?Symbol raise "env_name must be a String" unless env_name.kind_of?String if short_option raise "short_option must be a String of length 1" unless (short_option.kind_of?String and short_option.gsub('-', '').length == 1) end if description raise "Do not let descriptions end with a '.', since it's used for user inputs as well".red if (description[-1] == '.') end @key = key @env_name = env_name @description = description @short_option = short_option @default_value = default_value @verify_block = verify_block @is_string = is_string @optional = optional end |
Instance Attribute Details
#default_value ⇒ Object
Returns the value of attribute default_value.
3 4 5 |
# File 'lib/fastlane_core/configuration/config_item.rb', line 3 def default_value @default_value end |
#description ⇒ Object
Returns the value of attribute description.
3 4 5 |
# File 'lib/fastlane_core/configuration/config_item.rb', line 3 def description @description end |
#env_name ⇒ Object
Returns the value of attribute env_name.
3 4 5 |
# File 'lib/fastlane_core/configuration/config_item.rb', line 3 def env_name @env_name end |
#is_string ⇒ Object
Returns the value of attribute is_string.
3 4 5 |
# File 'lib/fastlane_core/configuration/config_item.rb', line 3 def is_string @is_string end |
#key ⇒ Object
Returns the value of attribute key.
3 4 5 |
# File 'lib/fastlane_core/configuration/config_item.rb', line 3 def key @key end |
#optional ⇒ Object
Returns the value of attribute optional.
3 4 5 |
# File 'lib/fastlane_core/configuration/config_item.rb', line 3 def optional @optional end |
#short_option ⇒ Object
Returns the value of attribute short_option.
3 4 5 |
# File 'lib/fastlane_core/configuration/config_item.rb', line 3 def short_option @short_option end |
#verify_block ⇒ Object
Returns the value of attribute verify_block.
3 4 5 |
# File 'lib/fastlane_core/configuration/config_item.rb', line 3 def verify_block @verify_block end |
Instance Method Details
#is_valid?(value) ⇒ Boolean
Make sure, the value is valid (based on the verify block) Returns false if that’s not the case
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/fastlane_core/configuration/config_item.rb', line 45 def is_valid?(value) # we also allow nil values, which do not have to be verified. if value if @is_string raise "Please pass a path as String".red unless value.kind_of?String end if @verify_block begin @verify_block.call(value) rescue Exception => ex Helper.log.fatal "Error setting value '#{value}' for option '#{@key}'".red raise ex end end end true end |
#to_s ⇒ Object
65 66 67 |
# File 'lib/fastlane_core/configuration/config_item.rb', line 65 def to_s [@key, @description].join(": ") end |
#verify!(value) ⇒ Object
This will raise an exception if the value is not valid
38 39 40 41 |
# File 'lib/fastlane_core/configuration/config_item.rb', line 38 def verify!(value) raise "Invalid value '#{value}' for option '#{self}'".red unless is_valid?value true end |