class Lokale::Config

Attributes

actions[RW]
base_lang[R]
macros[R]
main_lang[R]
project_name[RW]
project_path[RW]

Public Class Methods

get() click to toggle source
# File lib/lokale/config.rb, line 74
def self.get
  init if @config.nil?
  @config
end
init() click to toggle source
# File lib/lokale/config.rb, line 26
def self.init 
  return unless @config.nil?

  actions = []

  OptionParser.new do |opts|
    opts.banner = "Usage: lokale [-bsh]"

    opts.on("-b", "--copy-base", "Copies 'en' localization files to 'Base'") do |n|
      actions << Action.copy_base
    end

    opts.on("-s", "--summary", "Prints project summary") do |n|
      actions << Action.summary
    end

    opts.on("-a", "--append", "Appends new strings to english localization file") do |n|
      actions << Action.append
    end

    opts.on("-e", "--export", "Creates xliff files with missing localization") do |n|
      actions << Action.export
    end

    opts.on("-i", "--import", "Looks for xliffs in project dir and imports whatever possible") do |n|
      actions << Action.import
    end

    opts.on("-f", "--create-config-file", "Create default `.lokale` config file") do |n|
      actions << Action.create_config
    end

    opts.on("-p", "--add-to-project", "Creates project strings file") do |n|
      actions << Action.add_to_proj
    end

    opts.on("-h", "--help", "Prints this help") do
      puts opts
      exit
    end
  end.parse!

  actions << Action.summary if actions.empty? 

  @config = Config.new
  @config.actions = actions
end

Public Instance Methods

create_default_file() click to toggle source
# File lib/lokale/lokalefile.rb, line 50
def create_default_file
  if File.file? lokalefile_path 
    puts "Config file `#{lokalefile_path.blue}` already exists."
  else
    File.write(lokalefile_path, DEFAULT_LOKALEFILE)
    puts "Created config file at `#{lokalefile_path.blue}`"
  end
  
end
fill_defaults() click to toggle source
# File lib/lokale/lokalefile.rb, line 75
def fill_defaults
  default = Config.new
  default.read_default_config

  @macros ||= default.macros
  @main_lang ||= default.main_lang
  @base_lang ||= default.base_lang
end
lokalefile_path() click to toggle source
# File lib/lokale/lokalefile.rb, line 60
def lokalefile_path
  File.join(@project_path, ".lokale") 
end
read_config_from_file(file_path) click to toggle source
# File lib/lokale/lokalefile.rb, line 43
def read_config_from_file(file_path)
  content = File.read(file_path)
  reset_config
  instance_eval(content)
  fill_defaults
end
read_default_config() click to toggle source
# File lib/lokale/lokalefile.rb, line 38
def read_default_config
  reset_config
  instance_eval(DEFAULT_LOKALEFILE)
end
read_lokalefile() click to toggle source
# File lib/lokale/lokalefile.rb, line 30
def read_lokalefile
  if File.file? lokalefile_path 
    read_config_from_file(lokalefile_path)
  else
    read_default_config
  end
end
reset_config() click to toggle source
# File lib/lokale/lokalefile.rb, line 69
def reset_config 
  @macros = nil
  @main_lang = nil
  @base_lang = nil  
end

Private Instance Methods

add_macro(name) { |macro| ... } click to toggle source
# File lib/lokale/lokalefile.rb, line 86
def add_macro(name)
  macro = Lokale::Macro.new(name)
  yield macro
  @macros ||= []
  @macros << macro
end
base_language(l) click to toggle source
# File lib/lokale/lokalefile.rb, line 97
def base_language(l)
  @base_lang = l
end
main_language(l) click to toggle source
# File lib/lokale/lokalefile.rb, line 93
def main_language(l)
  @main_lang = l
end