Sha256: 1bccbab1fbb6c91864553a317b7cdba701b4b9b53c413dd8eefe84f1e0443c5f

Contents?: true

Size: 699 Bytes

Versions: 1

Compression:

Stored size: 699 Bytes

Contents

require 'i18n/tasks/scanners/temple_scanner'

module I18n::Tasks::Scanners
  # Scan slim templates.
  # Work-in-progress.
  class SlimTempleScanner < TempleScanner

    def initialize(**args)
      super(gem_name: 'slim', suggested_gem_version: '~> 3.0', class_name: 'Slim::Parser',
            requires: %w(slim/parser slim/filter slim/embedded), **args)
    end

    protected

    def scan_file(path)
      parser     = parser_class.new(file: path)
      contents   = read_file(path)
      temple_ast = parser.call(contents)
      # todo: the bare parser is not enough, figure out the modules to use to get to the [:code, ...] IR.
      $stderr.puts temple_ast.inspect
      []
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
i18n-tasks-0.9.0.rc2 lib/i18n/tasks/scanners/slim_temple_scanner.rb