class FastlaneCore::Feature
Attributes
features[R]
description[R]
env_var[R]
Public Class Methods
enabled?(env_var)
click to toggle source
# File fastlane_core/lib/fastlane_core/feature/feature.rb, line 13 def enabled?(env_var) feature = @features[env_var] return false if feature.nil? return FastlaneCore::Env.truthy?(feature.env_var) end
new(env_var: nil, description: nil)
click to toggle source
# File fastlane_core/lib/fastlane_core/feature/feature.rb, line 45 def initialize(env_var: nil, description: nil) raise "Invalid Feature" if env_var.nil? || description.nil? @env_var = env_var @description = description end
register(env_var: nil, description: nil)
click to toggle source
# File fastlane_core/lib/fastlane_core/feature/feature.rb, line 8 def register(env_var: nil, description: nil) feature = self.new(description: description, env_var: env_var) @features[feature.env_var] = feature end
register_class_method(klass: nil, symbol: nil, disabled_symbol: nil, enabled_symbol: nil, env_var: nil)
click to toggle source
# File fastlane_core/lib/fastlane_core/feature/feature.rb, line 19 def register_class_method(klass: nil, symbol: nil, disabled_symbol: nil, enabled_symbol: nil, env_var: nil) return if klass.nil? || symbol.nil? || disabled_symbol.nil? || enabled_symbol.nil? || env_var.nil? klass.define_singleton_method(symbol) do |*args| if Feature.enabled?(env_var) klass.send(enabled_symbol, *args) else klass.send(disabled_symbol, *args) end end end
register_instance_method(klass: nil, symbol: nil, disabled_symbol: nil, enabled_symbol: nil, env_var: nil)
click to toggle source
# File fastlane_core/lib/fastlane_core/feature/feature.rb, line 30 def register_instance_method(klass: nil, symbol: nil, disabled_symbol: nil, enabled_symbol: nil, env_var: nil) return if klass.nil? || symbol.nil? || disabled_symbol.nil? || enabled_symbol.nil? || env_var.nil? klass.send(:define_method, symbol.to_s) do |*args| if Feature.enabled?(env_var) send(enabled_symbol, *args) else send(disabled_symbol, *args) end end end