Skip to content

Commit

Permalink
Fix linter error: "Method has too many lines."
Browse files Browse the repository at this point in the history
  • Loading branch information
alexandre-pod committed Aug 23, 2023
1 parent f11fb73 commit b072fc7
Showing 1 changed file with 32 additions and 19 deletions.
51 changes: 32 additions & 19 deletions lib/ad_localize/option_handler.rb
Original file line number Diff line number Diff line change
Expand Up @@ -17,35 +17,19 @@ class OptionHandler

def self.parse!(options)
args = DEFAULT_OPTIONS
export_all_option = <<~DOC
Export all sheets from spreadsheet specified by --drive-key option.
\tBy default, generates one export directory per sheet (see -m|--merge-sheets option to merge them).
\tAn GCLOUD_CLIENT_SECRET environment variable containing the client_secret.json content is needed.
DOC
merge_policy_option = <<~DOC
Merge specified csv (or sheets from --export-all) instead of exporting each csv.
\treplace: if a key is already defined, replace its value.
\tkeep: if a key is already defined, keep the previous value.
DOC
platforms_option = <<~DOC
PLATFORMS is a comma separated list.
\tOnly generate localisation files for the specified platforms.
\tSupported platforms : #{Entities::Platform::SUPPORTED_PLATFORMS.to_sentence}
DOC

OptionParser.new do |parser|
parser.banner = 'Usage: exe/ad_localize [options] file(s)'
parser.on("-d", "--debug", TrueClass, 'Run in debug mode')
parser.on("-e", "--export-all-sheets", TrueClass, export_all_option)
export_all_option(parser)
parser.on("-h", "--help", 'Prints help') do
puts parser
exit
end
parser.on("-k", "--drive-key SPREADSHEET_ID", String, 'Use google drive spreadsheets')
parser.on("-l", "--locales LOCALES", Array,
'LOCALES is a comma separated list. Only generate localisation files for the specified locales')
parser.on("-m", "--merge-policy POLICY", Interactors::MergeWordings::MERGE_POLICIES, merge_policy_option)
parser.on("-o", "--only PLATFORMS", Array, platforms_option)
merge_policy_option(parser)
platforms_option(parser)
parser.on("-s", "--sheets SHEET_IDS", Array,
'SHEET_IDS is a comma separated list. Use a specific sheet id for Google Drive spreadsheets with several sheets')
parser.on("-t", "--target-dir PATH", String, 'Path to the target directory')
Expand All @@ -60,5 +44,34 @@ def self.parse!(options)
args[:csv_paths] = options
return args
end

private

def self.export_all_option(parser)
export_all_option = <<~DOC
Export all sheets from spreadsheet specified by --drive-key option.
\tBy default, generates one export directory per sheet (see -m|--merge-sheets option to merge them).
\tAn GCLOUD_CLIENT_SECRET environment variable containing the client_secret.json content is needed.
DOC
parser.on("-e", "--export-all-sheets", TrueClass, export_all_option)
end

def self.merge_policy_option(parser)
merge_policy_option = <<~DOC
Merge specified csv (or sheets from --export-all) instead of exporting each csv.
\treplace: if a key is already defined, replace its value.
\tkeep: if a key is already defined, keep the previous value.
DOC
parser.on("-m", "--merge-policy POLICY", Interactors::MergeWordings::MERGE_POLICIES, merge_policy_option)
end

def self.platforms_option(parser)
platforms_option = <<~DOC
PLATFORMS is a comma separated list.
\tOnly generate localisation files for the specified platforms.
\tSupported platforms : #{Entities::Platform::SUPPORTED_PLATFORMS.to_sentence}
DOC
parser.on("-o", "--only PLATFORMS", Array, platforms_option)
end
end
end

0 comments on commit b072fc7

Please sign in to comment.