Sha256: a4f5e701d20e61d56153895e19564dc84d0b8d3f2b0677fb023a76a4dd51d55c

Contents?: true

Size: 701 Bytes

Versions: 3

Compression:

Stored size: 701 Bytes

Contents

module GirFFI
  module Builder
    module Type
      class Base
        include BuilderHelper

        def initialize info
          @info = info
          @namespace = @info.namespace
          @classname = @info.name.gsub(/^(.)/) { $1.upcase }
        end

        private

        def info
          @info
        end

        def namespace_module
          @namespace_module ||= Builder.build_module @namespace
        end

        def lib
          @lib ||= namespace_module.const_get :Lib
        end

        def get_or_define_class namespace, name, parent
          optionally_define_constant(namespace, name) {
            Class.new parent
          }
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
gir_ffi-0.0.10 lib/gir_ffi/builder/type/base.rb
gir_ffi-0.0.9 lib/gir_ffi/builder/type/base.rb
gir_ffi-0.0.8 lib/gir_ffi/builder/type/base.rb