Sha256: ab399d771233f85d8a5c224cdc56bb2d6ba2e20402d33ad638872b89f6923a10

Contents?: true

Size: 1.32 KB

Versions: 17

Compression:

Stored size: 1.32 KB

Contents

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

require File.expand_path(File.join(File.dirname(__FILE__), 'base'))
require 'fileutils'

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_yaml]
    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

17 entries across 17 versions & 2 rubygems

Version Path
sproutit-sproutcore-1.0.20090721145285 lib/sproutcore/builders/strings.rb
sproutcore-1.0.1046 lib/sproutcore/builders/strings.rb
sproutcore-1.0.1043 lib/sproutcore/builders/strings.rb
sproutcore-1.0.1042 lib/sproutcore/builders/strings.rb
sproutcore-1.0.1037 lib/sproutcore/builders/strings.rb
sproutcore-1.0.1035 lib/sproutcore/builders/strings.rb
sproutcore-1.0.1031 lib/sproutcore/builders/strings.rb
sproutcore-1.0.1030 lib/sproutcore/builders/strings.rb
sproutcore-1.0.1029 lib/sproutcore/builders/strings.rb
sproutcore-1.0.1027 lib/sproutcore/builders/strings.rb
sproutcore-1.0.1028 lib/sproutcore/builders/strings.rb
sproutcore-1.0.1026 lib/sproutcore/builders/strings.rb
sproutcore-1.0.1025 lib/sproutcore/builders/strings.rb
sproutcore-1.0.1024 lib/sproutcore/builders/strings.rb
sproutcore-1.0.1009 lib/sproutcore/builders/strings.rb
sproutcore-1.0.1008 lib/sproutcore/builders/strings.rb
sproutcore-1.0.1003 lib/sproutcore/builders/strings.rb