Sha256: 55c67d761d6a673ffe69e3123d32fb24d481742f1b97d192f313b65fc8693d85

Contents?: true

Size: 1.28 KB

Versions: 18

Compression:

Stored size: 1.28 KB

Contents

# ===========================================================================
# Project:   Abbot - SproutCore Build Tools
# Copyright: ©2009 Apple Inc.
#            portions copyright @2006-2009 Sprout Systems, Inc.
#            and contributors
# ===========================================================================

require "sproutcore/builders/base"
require 'fileutils'
require 'json'

module SC

  # This builder is used to generate a file containing all of the loc strings
  # for a particular manifest.  The strings file is used when generating
  # HTML try to map localized strings
  class Builder::Strings < Builder::Base

    def build(dst_path)
      data = parse_strings_js(entry[:source_path])
      writelines dst_path, [data.to_json]
    end

    def parse_strings_js(source_path)
      return {} if !File.exists?(source_path)

      # read the file in and strip out comments...
      str = File.read(source_path)
      str = str.gsub(/\/\/.*$/,'').gsub(/\/\*.*\*\//m,'')

      # Now build the hash
      ret = {}
      str.scan(/['"](.+)['"]\s*:\s*['"](.+)['"],?\s*$/) do |x,y|
        # x & y are JS strings that must be evaled as such..
        #x = eval(%("#{x}"))
        y = eval(%[<<__EOF__\n#{y}\n__EOF__]).chop
        ret[x] = y
      end
      return ret
    end


  end

end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
sproutcore-1.4.4-java lib/sproutcore/builders/strings.rb
sproutcore-1.4.4 lib/sproutcore/builders/strings.rb
sproutcore-1.4.3.1 lib/sproutcore/builders/strings.rb
sproutcore-1.4.3-java lib/sproutcore/builders/strings.rb
sproutcore-1.4.3 lib/sproutcore/builders/strings.rb
sproutcore-1.4.2-java lib/sproutcore/builders/strings.rb
sproutcore-1.4.2 lib/sproutcore/builders/strings.rb
sproutcore-1.4.1-java lib/sproutcore/builders/strings.rb
sproutcore-1.4.1 lib/sproutcore/builders/strings.rb
sproutcore-1.4.0-java lib/sproutcore/builders/strings.rb
sproutcore-1.4.0 lib/sproutcore/builders/strings.rb
sproutcore-1.4.0.rc.5 lib/sproutcore/builders/strings.rb
sproutcore-1.4.0.rc.4 lib/sproutcore/builders/strings.rb
sproutcore-1.4.0.rc.3 lib/sproutcore/builders/strings.rb
sproutcore-1.4.0.rc.2 lib/sproutcore/builders/strings.rb
sproutcore-1.4.0.rc lib/sproutcore/builders/strings.rb
sproutcore-1.0.1049.pre.2 lib/sproutcore/builders/strings.rb
sproutcore-1.0.1049.pre.1 lib/sproutcore/builders/strings.rb