class Deliver::Loader::LanguageFolder
A class that represents language folder under screenshots or metadata folder
Attributes
language[R]
@return [String] A normalized language name that corresponds to the directory's name
path[R]
Public Class Methods
allowed_directory_names_with_case()
click to toggle source
# File deliver/lib/deliver/loader.rb, line 38 def self.allowed_directory_names_with_case available_languages + SPECIAL_DIR_NAMES end
available_languages()
click to toggle source
# File deliver/lib/deliver/loader.rb, line 32 def self.available_languages # 2020-08-24 - Available locales are not available as an endpoint in App Store Connect # Update with Spaceship::Tunes.client.available_languages.sort (as long as endpoint is avilable) Deliver::Languages::ALL_LANGUAGES end
new(path, nested: false)
click to toggle source
@param path [String] A directory path otherwise this initializer fails @param nested [Boolan] Whether given path is nested of another special directory.
This affects `expandable?` to return `false` when this set to `true`.
# File deliver/lib/deliver/loader.rb, line 45 def initialize(path, nested: false) raise(ArgumentError, "Given path must be a directory path - #{path}") unless File.directory?(path) @path = path @language = self.class.available_languages.find { |lang| basename.casecmp?(lang) } @nested = nested end
Public Instance Methods
basename()
click to toggle source
# File deliver/lib/deliver/loader.rb, line 76 def basename File.basename(@path) end
expandable?()
click to toggle source
# File deliver/lib/deliver/loader.rb, line 60 def expandable? !nested? && EXPANDABLE_DIR_NAMES.any? { |name| name.casecmp?(basename) } end
file_paths(extensions = '{png,jpg,jpeg}')
click to toggle source
# File deliver/lib/deliver/loader.rb, line 68 def file_paths(extensions = '{png,jpg,jpeg}') Dir.glob(File.join(path, "*.#{extensions}"), File::FNM_CASEFOLD).sort end
framed_file_paths(extensions = '{png,jpg,jpeg}')
click to toggle source
# File deliver/lib/deliver/loader.rb, line 72 def framed_file_paths(extensions = '{png,jpg,jpeg}') Dir.glob(File.join(path, "*_framed.#{extensions}"), File::FNM_CASEFOLD).sort end
nested?()
click to toggle source
# File deliver/lib/deliver/loader.rb, line 52 def nested? @nested end
skip?()
click to toggle source
# File deliver/lib/deliver/loader.rb, line 64 def skip? EXCEPTION_DIRECTORIES.map(&:downcase).include?(basename.downcase) end
valid?()
click to toggle source
# File deliver/lib/deliver/loader.rb, line 56 def valid? self.class.allowed_directory_names_with_case.any? { |name| name.casecmp?(basename) } end