Class: CredentialsManager::AppfileConfig
- Inherits:
-
Object
- Object
- CredentialsManager::AppfileConfig
- Defined in:
- lib/credentials_manager/appfile_config.rb
Overview
Access the content of the app file (e.g. app identifier and Apple ID)
Class Method Summary collapse
Instance Method Summary collapse
-
#app_identifier(*args, &block) ⇒ Object
Setters.
- #apple_id(*args, &block) ⇒ Object
- #data ⇒ Object
- #fallback_to_default_values ⇒ Object
-
#for_lane(lane_name, &block) ⇒ Object
Override Appfile configuration for a specific lane.
-
#for_platform(platform_name, &block) ⇒ Object
Override Appfile configuration for a specific platform.
-
#initialize(path = nil) ⇒ AppfileConfig
constructor
A new instance of AppfileConfig.
- #team_id(*args, &block) ⇒ Object
- #team_name(*args, &block) ⇒ Object
Constructor Details
#initialize(path = nil) ⇒ AppfileConfig
Returns a new instance of AppfileConfig.
24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/credentials_manager/appfile_config.rb', line 24 def initialize(path = nil) path ||= self.class.default_path raise "Could not find Appfile at path '#{path}'".red unless File.exist?(path) full_path = File.(path) Dir.chdir(File.('..', path)) do # rubocop:disable Lint/Eval eval(File.read(full_path)) # rubocop:enable Lint/Eval end fallback_to_default_values end |
Class Method Details
.default_path ⇒ Object
17 18 19 20 21 22 |
# File 'lib/credentials_manager/appfile_config.rb', line 17 def self.default_path ["./fastlane/Appfile", "./Appfile"].each do |current| return current if File.exist? current end nil end |
.try_fetch_value(key) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 |
# File 'lib/credentials_manager/appfile_config.rb', line 5 def self.try_fetch_value(key) if self.default_path begin return self.new.data[key] rescue => ex puts ex.to_s return nil end end nil end |
Instance Method Details
#app_identifier(*args, &block) ⇒ Object
Setters
49 50 51 |
# File 'lib/credentials_manager/appfile_config.rb', line 49 def app_identifier(*args, &block) setter(:app_identifier, *args, &block) end |
#apple_id(*args, &block) ⇒ Object
53 54 55 |
# File 'lib/credentials_manager/appfile_config.rb', line 53 def apple_id(*args, &block) setter(:apple_id, *args, &block) end |
#data ⇒ Object
43 44 45 |
# File 'lib/credentials_manager/appfile_config.rb', line 43 def data @data ||= {} end |
#fallback_to_default_values ⇒ Object
39 40 41 |
# File 'lib/credentials_manager/appfile_config.rb', line 39 def fallback_to_default_values data[:apple_id] ||= ENV["FASTLANE_USER"] || ENV["DELIVER_USER"] end |
#for_lane(lane_name, &block) ⇒ Object
Override Appfile configuration for a specific lane.
lane_name - Symbol representing a lane name. (Can be either :name, ‘name’ or ‘platform name’) block - Block to execute to override configuration values.
Discussion If received lane name does not match the lane name available as environment variable, no changes will
be applied.
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
# File 'lib/credentials_manager/appfile_config.rb', line 72 def for_lane(lane_name, &block) if lane_name.to_s.split(" ").count > 1 # That's the legacy syntax 'platform name' puts "You use deprecated syntax '#{lane_name}' in your Appfile.".yellow puts "Please follow the Appfile guide: https://github.com/KrauseFx/fastlane/blob/master/docs/Appfile.md".yellow platform, lane_name = lane_name.split(" ") return unless platform == ENV["FASTLANE_PLATFORM_NAME"] # the lane name will be verified below end if ENV["FASTLANE_LANE_NAME"] == lane_name.to_s block.call end end |
#for_platform(platform_name, &block) ⇒ Object
Override Appfile configuration for a specific platform.
platform_name - Symbol representing a platform name. block - Block to execute to override configuration values.
Discussion If received paltform name does not match the platform name available as environment variable, no changes will
be applied.
95 96 97 98 99 |
# File 'lib/credentials_manager/appfile_config.rb', line 95 def for_platform(platform_name, &block) if ENV["FASTLANE_PLATFORM_NAME"] == platform_name.to_s block.call end end |
#team_id(*args, &block) ⇒ Object
57 58 59 |
# File 'lib/credentials_manager/appfile_config.rb', line 57 def team_id(*args, &block) setter(:team_id, *args, &block) end |
#team_name(*args, &block) ⇒ Object
61 62 63 |
# File 'lib/credentials_manager/appfile_config.rb', line 61 def team_name(*args, &block) setter(:team_name, *args, &block) end |