Sha256: 0759a5f5f85930e12f78439dc95f0e14fe27c330421be356b2b7c7494d7efcc2

Contents?: true

Size: 1.19 KB

Versions: 2

Compression:

Stored size: 1.19 KB

Contents

module Cjoiner
  module Engines
    # eliminates js debug statements
    class UndebugJS < Cjoiner::Engines::Engine
      def initialize(opts)
        @keywords = []
        set_keywords!
        @engine = replace(opts[:content], opts[:prefix])
      end

      def add_keyword(keyword)
        @keywords << keyword
      end

      def set_keywords!
        add_keyword 'assert'
        add_keyword 'clear'
        add_keyword 'count'
        add_keyword 'debug'
        add_keyword 'dir'
        add_keyword 'dirxml'
        add_keyword 'error'
        add_keyword 'group'
        add_keyword 'groupCollapsed'
        add_keyword 'groupEnd'
        add_keyword 'info'
        add_keyword 'log'
        add_keyword 'profile'
        add_keyword 'profileEnd'
        add_keyword 'time'
        add_keyword 'timeEnd'
        add_keyword 'timeStamp'
        add_keyword 'trace'
        add_keyword 'warn'
        add_keyword 'debugger'
        add_keyword 'ungroup'
      end

      protected
        def replace(str, prefix)
          output = str
          @keywords.each do|keyword|
            output.gsub!(/^(\s*)?#{prefix}\.#{keyword}\(.*\);?\n?/, '')
          end
          output
        end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
cjoiner-1.6.1 lib/cjoiner/engines/undebugjs.rb
cjoiner-1.6.0 lib/cjoiner/engines/undebugjs.rb