class POEditor::Configuration

Attributes

api_key[RW]

@return [String] POEditor API key @see poeditor.com/account/api POEditor API Access

filters[RW]

@return [Array<String>] Filters by 'translated', 'untranslated', 'fuzzy', 'not_fuzzy', 'automatic', 'not_automatic', 'proofread', 'not_proofread' (optional)

language_alias[RW]

@return [Hash{Sting => String}] The languages aliases

languages[RW]

@return [Array<String>] The languages codes

path[RW]

@return [String] The path template

path_replace[RW]

@return [Hash{Sting => String}] The path replacements

project_id[RW]

@return [String] POEditor project ID

tags[RW]

@return [Array<String>] Tag filters (optional)

type[RW]

@return [String] Export file type (po, apple_strings, android_strings)

Public Class Methods

new(api_key:, project_id:, type:, tags:nil, filters:nil, languages:, language_alias:nil, path:, path_replace:nil) click to toggle source
# File lib/poeditor/configuration.rb, line 31
def initialize(api_key:, project_id:, type:, tags:nil,
               filters:nil, languages:, language_alias:nil,
               path:, path_replace:nil)
  @api_key = from_env(api_key)
  @project_id = from_env(project_id.to_s)
  @type = type
  @tags = tags || []
  @filters = filters || []

  @languages = languages
  @language_alias = language_alias || {}

  @path = path
  @path_replace = path_replace || {}
end

Public Instance Methods

from_env(value) click to toggle source
# File lib/poeditor/configuration.rb, line 47
def from_env(value)
  if value.start_with?("$")
    key = value[1..-1]
    ENV[key]
  else
    value
  end
end
to_s() click to toggle source
# File lib/poeditor/configuration.rb, line 56
def to_s
  values = {
    "type" => self.type,
    "tags" => self.tags,
    "filters" => self.filters,
    "languages" => self.languages,
    "language_alias" => self.language_alias,
    "path" => self.path,
    "path_replace" => self.path_replace,
  }
  YAML.dump(values)[4..-2]
    .each_line
    .map { |line|
      if line.start_with?("-") or line.start_with?(" ")
        "    #{line}"
      else
        "  - #{line}"
      end
    }
    .join("")
end