class Icapps::Translations::Configuration

Attributes

default_language[R]
filename[R]
project_key[R]
url[R]

Public Class Methods

android_initial_content() click to toggle source
# File lib/icapps/translations/configuration.rb, line 43
def android_initial_content
  common_initial_content.merge!(filename: 'strings.xml',
                                default_language: 'en')
end
common_initial_content() click to toggle source
# File lib/icapps/translations/configuration.rb, line 48
def common_initial_content
  {
    url:         'http://your_url.com',
    filename:    'Localizable.strings',
    project_key: 'YourProjectKey'
  }
end
create() click to toggle source
# File lib/icapps/translations/configuration.rb, line 13
def create
  if exists?
    puts "[WARNING] Configuration already exists at '#{path}'.".colorize(:yellow)
    return
  end

  File.open(path, 'w') { |f| f.write(initial_content.to_yaml) }
  puts "[MESSAGE] Configuration created at '#{path}'.".colorize(:green)
end
exists?() click to toggle source
# File lib/icapps/translations/configuration.rb, line 23
def exists?
  File.exist?(path)
end
filename() click to toggle source
# File lib/icapps/translations/configuration.rb, line 31
def filename
  '.translations'
end
initial_content() click to toggle source
# File lib/icapps/translations/configuration.rb, line 39
def initial_content
  ::Icapps::Translations.android? ? android_initial_content : common_initial_content
end
new() click to toggle source
# File lib/icapps/translations/configuration.rb, line 57
def initialize
  read_config if Configuration.exists?
end
options() click to toggle source
# File lib/icapps/translations/configuration.rb, line 35
def options
  ::Icapps::Translations.options
end
path() click to toggle source
# File lib/icapps/translations/configuration.rb, line 27
def path
  File.join(Dir.pwd, filename)
end

Public Instance Methods

validate() click to toggle source
# File lib/icapps/translations/configuration.rb, line 61
def validate
  abort '[ERROR] You need to provide a project key in the .translations configuration file.'.colorize(:red) unless @project_key
  abort '[ERROR] You need to provide an url in the .translations configuration file.'.colorize(:red) unless @url
  abort '[ERROR] You need to provide a default filename in the .translations configuration file.'.colorize(:red) unless @filename
end

Private Instance Methods

read_config() click to toggle source
# File lib/icapps/translations/configuration.rb, line 69
def read_config
  puts "[VERBOSE] Reading the config file at '#{Configuration.path}'.".colorize(:white) if Configuration.options[:verbose]

  params = YAML.load File.open(Configuration.path)
  if params
    @filename         = params[:filename]
    @url              = params[:url]
    @project_key      = params[:project_key]
    @default_language = params[:default_language]
  end
end