Sha256: 3b4010d3f713509542a05ead6f5f903c97ded5e4e117097555c478763dc72bfb

Contents?: true

Size: 542 Bytes

Versions: 9

Compression:

Stored size: 542 Bytes

Contents

# frozen_string_literal: true

module Unparser
  module Writer
    class Send
      # Writer for unary sends
      class Unary < self
        MAP = {
          '-@': '-',
          '+@': '+'
        }.freeze

        private_constant(*constants(false))

        def dispatch
          name = selector

          write(MAP.fetch(name, name).to_s)

          if n_int?(receiver) && selector.equal?(:'+@')
            write('+')
          end

          visit(receiver)
        end
      end # Unary
    end # Send
  end # Writer
end # Unparser

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
unparser-0.6.0 lib/unparser/writer/send/unary.rb
unparser-0.5.7 lib/unparser/writer/send/unary.rb
unparser-0.5.6 lib/unparser/writer/send/unary.rb
unparser-0.5.5 lib/unparser/writer/send/unary.rb
unparser-0.5.4 lib/unparser/writer/send/unary.rb
unparser-0.5.3 lib/unparser/writer/send/unary.rb
unparser-0.5.2 lib/unparser/writer/send/unary.rb
unparser-0.5.1 lib/unparser/writer/send/unary.rb
unparser-0.5.0 lib/unparser/writer/send/unary.rb