Sha256: 8f2b47740fed4e97d842dbaaeebd5a9f7a73b77c5940dd34a4d85fcf0e1cb96f

Contents?: true

Size: 908 Bytes

Versions: 20

Compression:

Stored size: 908 Bytes

Contents

# Root module
module RbSys
  # Helper class for creating Rust Makefiles
  module Mkmf
    # Config that delegates to CargoBuilder if needded
    class Config
      attr_accessor :force_install_rust_toolchain, :clean_after_install

      def initialize(builder)
        @builder = builder
        @force_install_rust_toolchain = false
        @clean_after_install = rubygems_invoked?
      end

      def method_missing(name, *args, &blk)
        @builder.send(name, *args, &blk)
      end

      def respond_to_missing?(name, include_private = false)
        @builder.respond_to?(name) || super
      end

      private

      # Seems to be the only way to reliably know if we were invoked by Rubygems.
      # We want to know this so we can cleanup the target directory after an
      # install, to remove bloat.
      def rubygems_invoked?
        ENV.key?("SOURCE_DATE_EPOCH")
      end
    end
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
rb_sys-0.9.41 lib/rb_sys/mkmf/config.rb
rb_sys-0.9.40 lib/rb_sys/mkmf/config.rb
rb_sys-0.9.39 lib/rb_sys/mkmf/config.rb
rb_sys-0.9.38 lib/rb_sys/mkmf/config.rb
rb_sys-0.9.37 lib/rb_sys/mkmf/config.rb
rb_sys-0.9.36 lib/rb_sys/mkmf/config.rb
rb_sys-0.9.35 lib/rb_sys/mkmf/config.rb
rb_sys-0.9.34 lib/rb_sys/mkmf/config.rb
rb_sys-0.9.33 lib/rb_sys/mkmf/config.rb
rb_sys-0.9.32 lib/rb_sys/mkmf/config.rb
rb_sys-0.9.31 lib/rb_sys/mkmf/config.rb
rb_sys-0.9.30 lib/rb_sys/mkmf/config.rb
rb_sys-0.9.29 lib/rb_sys/mkmf/config.rb
rb_sys-0.9.28 lib/rb_sys/mkmf/config.rb
rb_sys-0.9.27 lib/rb_sys/mkmf/config.rb
rb_sys-0.9.26 lib/rb_sys/mkmf/config.rb
rb_sys-0.9.25 lib/rb_sys/mkmf/config.rb
rb_sys-0.9.24 lib/rb_sys/mkmf/config.rb
rb_sys-0.9.23 lib/rb_sys/mkmf/config.rb
rb_sys-0.9.22 lib/rb_sys/mkmf/config.rb