Sha256: c1ce68c98c0673d662770022835ade74aa2a6de5e308eafc684056437b12a5ec
Contents?: true
Size: 1.64 KB
Versions: 4
Compression:
Stored size: 1.64 KB
Contents
#!/usr/bin/env ruby require 'rubygems' require 'fileutils' require 'term/ansicolor' require 'tmpdir' require 'yaml' require 'ya2yaml' $KCODE = 'UTF8' include Term::ANSIColor require 'rabelyoda/options' require 'rabelyoda/hash' # Main block def main $config = RabelYoda::Options.parse load_ymls populate_locales save_ymls success "All done!" end # Aux methods def exe(cmd) ; putcmd cmd ; system cmd ; end def putcmd(cmd) ; print magenta, "CMD: #{cmd}", reset, "\n" ; end def status(msg) ; print blue, "--- #{msg} ---", reset, "\n" ; end def success(msg) ; print green, bold, 'SUCCESS: ', msg, reset, "\n" ; end def error(msg) ; print red, bold, 'ERROR: ', msg, reset, "\n" ; exit 1 ; end # Globbers def all_ymls Dir.glob(File.join('config', 'locales', '*.yml')) end def locale_for_yml_filename(yml_filename) yml_filename.scan(/([^\/\.]+)\.yml/)[0].to_s end # Workers def load_ymls $locales = {} all_ymls.each do |yml_filename| locale_name = locale_for_yml_filename(yml_filename) $locales[locale_name] = YAML::load_file(yml_filename)[locale_name] end end def populate_locales $locales.keys.each do |locale_name| next if locale_name == 'en' $locales[locale_name] = $locales['en'].locale_diff($locales[locale_name]) end end def save_ymls FileUtils.mkdir_p File.join('config', 'locales.out'), :verbose => true $locales.keys.each do |locale_name| yml_filename = File.join('config', 'locales.out', "#{locale_name}.yml") File.open(yml_filename, "w") do |file| result = {} result[locale_name] = $locales[locale_name] file.puts(result.ya2yaml) end status yml_filename end end main exit 0
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
rabelyoda-1.1.3 | bin/rabelyoda |
rabelyoda-1.1.2 | bin/rabelyoda |
rabelyoda-1.1.1 | bin/rabelyoda |
rabelyoda-1.1.0 | bin/rabelyoda |