class Fastlane::Provider::MetadataChangesProvider
Constants
- OOB_URI
- SCOPE
Public Class Methods
fetchMetaDataChanges(params)
click to toggle source
# File lib/fastlane/plugin/deploy_file_provider/provider/metadata_changes_provider.rb, line 16 def self.fetchMetaDataChanges(params) UI.message("Attempting to fetch metadata changes.".yellow) countryMetaDataArray = getMetaDataArray(params) if countryMetaDataArray == nil || countryMetaDataArray.empty? UI.message("Error: Couldn't fetch metadata updates. Plugin won't run!".red) raise Exception, "Lane was stopped by script" else UI.message("Step: Fetch successfull!".blue) end return countryMetaDataArray end
Private Class Methods
getDescriptionsArray(params)
click to toggle source
# File lib/fastlane/plugin/deploy_file_provider/provider/metadata_changes_provider.rb, line 50 def self.getDescriptionsArray(params) spreadsheet_id = params[:spreadsheetId] service = self.authorizedService(params) range = 'Master!B1:K7' response = service.get_spreadsheet_values(spreadsheet_id, range) puts 'No data found.' if response.values.empty? return self.parseResponseJSON(response) end
getMetaDataArray(params)
click to toggle source
# File lib/fastlane/plugin/deploy_file_provider/provider/metadata_changes_provider.rb, line 32 def self.getMetaDataArray(params) changesArray = getDescriptionsArray(params) tempArray = [] changesArray.each do |row| tempMetaData = MetaData.new tempMetaData.language = row[0] tempMetaData.description_android = row[1] tempMetaData.description_ios = row[2] tempMetaData.releaseNotesiOS = row[3] tempMetaData.releaseNotesAndroid = row[4] tempArray << tempMetaData end return tempArray end
parseResponseJSON(response)
click to toggle source
# File lib/fastlane/plugin/deploy_file_provider/provider/metadata_changes_provider.rb, line 79 def self.parseResponseJSON(response) transposed = response.values.transpose size = transposed.size array = Array.new() transposed.each do |row| dictionary = {:language => row[0], :descriptionAndroid => row[1], :descriptioniOS => row[2], :releaseNotesiOS => row[3], :releaseNotesAndroid => row[4]} array << dictionary end end