Sha256: 542da318d6b6a3150f8a39f9412a54ea3f88a03378ab952e0c83acd162c7f5bc

Contents?: true

Size: 569 Bytes

Versions: 27

Compression:

Stored size: 569 Bytes

Contents

# frozen_string_literal: true
require 'mustermann/ast/translator'

module Mustermann
  module AST
    # Scans an AST for param converters.
    # @!visibility private
    # @see Mustermann::AST::Pattern#to_templates
    class ParamScanner < Translator
      # @!visibility private
      def self.scan_params(ast)
        new.translate(ast)
      end

      translate(:node)    { t(payload) }
      translate(Array)    { map { |e| t(e) }.inject(:merge) }
      translate(Object)   { {} }
      translate(:capture) { convert ? { name => convert } : {} }
    end
  end
end

Version data entries

27 entries across 24 versions & 5 rubygems

Version Path
mustermann-3.0.3 lib/mustermann/ast/param_scanner.rb
mustermann-3.0.2 lib/mustermann/ast/param_scanner.rb
mustermann-3.0.1 lib/mustermann/ast/param_scanner.rb
rubypitaya-3.12.5 ./lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/mustermann-3.0.0/lib/mustermann/ast/param_scanner.rb
rubypitaya-3.12.4 ./lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/mustermann-3.0.0/lib/mustermann/ast/param_scanner.rb
rubypitaya-3.12.3 ./lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/mustermann-3.0.0/lib/mustermann/ast/param_scanner.rb
rubypitaya-3.12.2 ./lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/mustermann-3.0.0/lib/mustermann/ast/param_scanner.rb
mustermann-3.0.0 lib/mustermann/ast/param_scanner.rb
mustermann-2.0.2 lib/mustermann/ast/param_scanner.rb
mustermann-2.0.1 lib/mustermann/ast/param_scanner.rb
mustermann-2.0.0 lib/mustermann/ast/param_scanner.rb
mustermann-1.1.2 lib/mustermann/ast/param_scanner.rb
devcycle-ruby-server-sdk-1.1.0 examples/sinatra/vendor/bundle/ruby/3.0.0/gems/mustermann-1.1.1/lib/mustermann/ast/param_scanner.rb
devcycle-ruby-server-sdk-1.1.0 examples/sinatra/vendor/bundle/ruby/3.1.0/gems/mustermann-1.1.1/lib/mustermann/ast/param_scanner.rb
devcycle-ruby-server-sdk-1.1.0 examples/sinatra/vendor/bundle/ruby/2.6.0/gems/mustermann-1.1.1/lib/mustermann/ast/param_scanner.rb
grape-extra_validators-2.0.0 vendor/bundle/ruby/2.6.0/gems/mustermann-1.0.3/lib/mustermann/ast/param_scanner.rb
grape-extra_validators-2.0.0 vendor/bundle/ruby/2.6.0/gems/mustermann-1.1.1/lib/mustermann/ast/param_scanner.rb
grape-extra_validators-1.0.0 vendor/bundle/ruby/2.4.0/gems/mustermann-1.0.3/lib/mustermann/ast/param_scanner.rb
mustermann-1.1.1 lib/mustermann/ast/param_scanner.rb
mustermann-1.1.0 lib/mustermann/ast/param_scanner.rb