Sha256: a1b1d0f19a73577da20ddb3e73007f6c99d4b78e90d2a04e514f6fbe08116658

Contents?: true

Size: 464 Bytes

Versions: 4

Compression:

Stored size: 464 Bytes

Contents

class Tokens
  def self.define_token(name)
    class_eval("@@#{name} = Tokens.new :#{name};def Tokens.#{name};@@#{name};end")
  end

  def to_s
    @type.to_s
  end

  private
  def initialize(type)
    @type = type
    self.freeze
  end

  define_token :terminal
  define_token :role
  define_token :rolemethod_call
  define_token :other
  define_token :call
  define_token :indexer
  define_token :block
  define_token :block_with_bind
end

Version data entries

4 entries across 2 versions & 1 rubygems

Version Path
maroon-0.7.1 generated/Tokens.rb
maroon-0.7.1 lib/Tokens.rb
maroon-0.7.0 generated/Tokens.rb
maroon-0.7.0 lib/Tokens.rb