class EY::Serverside::DependencyManager::Composer
Public Instance Methods
check()
click to toggle source
# File lib/engineyard-serverside/dependency_manager/composer.rb, line 11 def check unless composer_available? raise EY::Serverside::RemoteFailure.new("composer.#{lock_or_json} detected but composer not available!") end if composer_json? && !composer_lock? shell.warning <<-WARN composer.json found but composer.lock missing! This may result in different versions of packages being installed than what you tested with. To fix this problem, commit your composer.lock to the repository and redeploy. WARN end end
composer_available?()
click to toggle source
# File lib/engineyard-serverside/dependency_manager/composer.rb, line 54 def composer_available? begin run "command -v composer > /dev/null" return true rescue EY::Serverside::RemoteFailure return false end end
composer_install()
click to toggle source
# File lib/engineyard-serverside/dependency_manager/composer.rb, line 46 def composer_install run %{export GIT_SSH="#{ENV['GIT_SSH']}" && composer install --no-interaction --no-dev --optimize-autoloader --working-dir #{paths.active_release}} end
composer_json?()
click to toggle source
# File lib/engineyard-serverside/dependency_manager/composer.rb, line 42 def composer_json? paths.composer_json.exist? end
composer_lock?()
click to toggle source
# File lib/engineyard-serverside/dependency_manager/composer.rb, line 38 def composer_lock? paths.composer_lock.exist? end
composer_selfupdate()
click to toggle source
# File lib/engineyard-serverside/dependency_manager/composer.rb, line 50 def composer_selfupdate run "command -v composer | xargs -I composer find composer -user #{config.user} -exec {} self-update \\;" end
detected?()
click to toggle source
# File lib/engineyard-serverside/dependency_manager/composer.rb, line 7 def detected? composer_lock? || composer_json? end
install()
click to toggle source
# File lib/engineyard-serverside/dependency_manager/composer.rb, line 27 def install shell.status "Checking for composer updates..." composer_selfupdate shell.status "Installing composer packages (composer.#{lock_or_json} detected)" composer_install end
lock_or_json()
click to toggle source
# File lib/engineyard-serverside/dependency_manager/composer.rb, line 34 def lock_or_json composer_lock? ? 'lock' : 'json' end