Sha256: df589f94a313023f7b736013d70d038256ea5475959a311c42233917f162c7b9

Contents?: true

Size: 623 Bytes

Versions: 8

Compression:

Stored size: 623 Bytes

Contents

require 'bundler'
require 'whimsy/asf/config'

#
# modify bundler to be aware of whimsy library overrides
#
module Bundler
  class Dsl
    bundler_gem = instance_method(:gem)
    libs = ASF::Config.get(:lib)

    define_method :gem do |name, *args|
      pname = name.gsub('-', '/')

      path = nil
      libs.each do |lib|
         if File.exist?("#{lib}/#{pname}")
           path = lib
         end
      end

      if path
        args.push({}) unless args.last.is_a?(Hash)
        args.last[:path] = File.dirname(path)
      end

      bundler_gem.bind(self).(name, *args)
    end
  end
end

require 'bundler/setup'

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
whimsy-asf-0.0.77 lib/whimsy/asf/bundler.rb
whimsy-asf-0.0.76 lib/whimsy/asf/bundler.rb
whimsy-asf-0.0.75 lib/whimsy/asf/bundler.rb
whimsy-asf-0.0.74 lib/whimsy/asf/bundler.rb
whimsy-asf-0.0.73 lib/whimsy/asf/bundler.rb
whimsy-asf-0.0.72 lib/whimsy/asf/bundler.rb
whimsy-asf-0.0.71 lib/whimsy/asf/bundler.rb
whimsy-asf-0.0.70 lib/whimsy/asf/bundler.rb