Class: Cartage::Bundler

Inherits:
Plugin
  • Object
show all
Defined in:
lib/cartage/plugins/bundler.rb

Overview

Cartage::Bundler is a :vendor_dependencies plug-in for Cartage.

It supports the following configuration options in plugins.bundler:

disabled

Whether Cartage::Bundler is disnabled. In addition to explicitly disabling Cartage::Bundler, it will disable itself if the Gemfile does not exist.

gemfile

Provides an alternate name and/or path to the Bundler gemfile. The gemfile option specifies a path relative to the package work path, ending in the name of the gemfile.

gemfile: jruby.gemfile
gemfile: jruby/Gemfile
jobs

Provides the number of parallel execution streams.

jobs: 2
jobs: 8
without_groups

An array of the gem groups that should be excluded from installation. If not provided, excludes the development and test groups. Provide an empty array to include all groups. A specified array for without_groups replaces the default array, so the default groups must be provided in addition to the new groups when using this configuration option.

without_groups: [] # All groups will be installed.
# All groups except development, test, and assets.
without_groups:
  - development
  - test
  - assets
extra_without_groups

An array of additional gem groups that should be excluded from installation. This adds to the default list of without_groups (groups development and test).

# All groups except development, test, and assets.
extra_without_groups:
  - assets

Constant Summary collapse

VERSION =

:nodoc:

'1.0'

Instance Method Summary collapse

Instance Method Details

#disabled?Boolean

Cartage::Bundler is only enabled if the Gemfile exists.

Returns:

  • (Boolean)


56
57
58
# File 'lib/cartage/plugins/bundler.rb', line 56

def disabled?
  super || !gemfile.exist?
end

#pathObject

:vendor_dependencies#path returns the location or locations where Bundler vendors its dependencies. This release of Cartage::Bundler only supports the default location (vendor/bundle).



70
71
72
# File 'lib/cartage/plugins/bundler.rb', line 70

def path
  'vendor/bundle'
end

#vendor_dependenciesObject

:vendor_dependencies#vendor_dependencies performs the steps required to vendor the dependencies introduced by Bundler.



62
63
64
65
# File 'lib/cartage/plugins/bundler.rb', line 62

def vendor_dependencies
  fetch_bundler
  bundle_install
end