Sha256: deaa7d9733eb3c860eb53e744060580ddd27855eb1d239fff70a2f969c462d2a
Contents?: true
Size: 1.3 KB
Versions: 10
Compression:
Stored size: 1.3 KB
Contents
module Aigu class EmberImporter < Importer def process! puts "Generating JavaScript file in `#{@output_directory}` based on Accent-generated `#{@input_file}` file" puts '---' parse_json build_blob write_javascript_file puts '---' puts 'Done' end protected def parse_json json = File.read(@input_file) @object = JSON.parse(json).sort_with_keys end def write_javascript_file file_path = File.join(@output_directory, "#{@locale}/translations.js") puts "Generating #{file_path}" FileUtils.mkdir_p(File.dirname(file_path)) javascript_object = JSON.pretty_generate(@blob) content = "export default #{javascript_object};\n" File.open(file_path, 'w+') do |file| file << content end end def build_blob @blob = Hash.recursive @object.each_pair do |key, value| parts = key.split('.') if parts.length == 1 @blob[parts.first] = value else hash = @blob[parts.first] parts.each_with_index do |part, index| next if index.zero? if index + 1 < parts.length hash = hash[part] else hash[part] = value end end end end end end end
Version data entries
10 entries across 10 versions & 1 rubygems