Sha256: 17c8ed0604131c7065add5ed1397aff8c5a98b64fbc5f643714332c4ca74b22b

Contents?: true

Size: 819 Bytes

Versions: 12

Compression:

Stored size: 819 Bytes

Contents

require "goon_model_gen"

require "goon_model_gen/golang/predeclared_type"
require "goon_model_gen/golang/package"

module GoonModelGen
  module Golang
    class Builtin < PredeclaredType
      TYPE_NAMES =
        %w[bool byte complex128 complex64
           error float32 float64 int int16 int32 int64 int8
           rune string uint uint16 uint32 uint64 uint8 uintptr
           interface] # interface is not a type but is added to ease to treat any type

      class << self
        def package
          @package ||= Package.new(nil).tap do |pkg|
            instances.each do |i|
              i.package = pkg
              pkg.types.push(i)
            end
          end
        end

        def instances
          @instances ||= TYPE_NAMES.map{|name| self.new(name) }
        end
      end

    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
goon_model_gen-0.4.3 lib/goon_model_gen/golang/builtin.rb
goon_model_gen-0.4.2 lib/goon_model_gen/golang/builtin.rb
goon_model_gen-0.4.1 lib/goon_model_gen/golang/builtin.rb
goon_model_gen-0.4.0 lib/goon_model_gen/golang/builtin.rb
goon_model_gen-0.3.1 lib/goon_model_gen/golang/builtin.rb
goon_model_gen-0.3.0 lib/goon_model_gen/golang/builtin.rb
goon_model_gen-0.2.5 lib/goon_model_gen/golang/builtin.rb
goon_model_gen-0.2.4 lib/goon_model_gen/golang/builtin.rb
goon_model_gen-0.2.3 lib/goon_model_gen/golang/builtin.rb
goon_model_gen-0.2.2 lib/goon_model_gen/golang/builtin.rb
goon_model_gen-0.2.1 lib/goon_model_gen/golang/builtin.rb
goon_model_gen-0.2.0 lib/goon_model_gen/golang/builtin.rb