Class: EY::Serverside::DependencyManager::Composer
- Inherits:
-
Base
- Object
- Base
- EY::Serverside::DependencyManager::Composer
show all
- Defined in:
- lib/engineyard-serverside/dependency_manager/composer.rb
Instance Attribute Summary
Attributes inherited from Base
#config, #runner, #servers, #shell
Instance Method Summary
collapse
Methods inherited from Base
#bundler_config, #check, #check_ey_config, #check_node_npm, #check_ruby_bundler, #clean_bundle_on_system_version_change, detect, #gemfile?, #initialize, #lockfile, #rails_version, #uses_sqlite3?, #write_system_version
Instance Method Details
#composer_available? ⇒ Boolean
40
41
42
43
44
45
46
47
|
# File 'lib/engineyard-serverside/dependency_manager/composer.rb', line 40
def composer_available?
begin
run "command -v composer > /dev/null"
return true
rescue EY::Serverside::RemoteFailure
return false
end
end
|
#composer_install ⇒ Object
32
33
34
|
# File 'lib/engineyard-serverside/dependency_manager/composer.rb', line 32
def composer_install
run "composer install --no-interaction --working-dir #{paths.active_release}"
end
|
#composer_json? ⇒ Boolean
28
29
30
|
# File 'lib/engineyard-serverside/dependency_manager/composer.rb', line 28
def composer_json?
paths.composer_json.exist?
end
|
#composer_lock? ⇒ Boolean
24
25
26
|
# File 'lib/engineyard-serverside/dependency_manager/composer.rb', line 24
def composer_lock?
paths.composer_lock.exist?
end
|
#composer_selfupdate ⇒ Object
36
37
38
|
# File 'lib/engineyard-serverside/dependency_manager/composer.rb', line 36
def composer_selfupdate
run "composer self-update"
end
|
#detected? ⇒ Boolean
5
6
7
|
# File 'lib/engineyard-serverside/dependency_manager/composer.rb', line 5
def detected?
composer_lock? || composer_json?
end
|
9
10
11
12
13
14
15
16
17
18
|
# File 'lib/engineyard-serverside/dependency_manager/composer.rb', line 9
def install
if composer_available?
shell.status "Checking for composer updates..."
composer_selfupdate
shell.status "Installing composer packages (composer.#{lock_or_json} detected)"
composer_install
else
shell.warning "composer.#{lock_or_json} detected but composer not available."
end
end
|
#lock_or_json ⇒ Object
20
21
22
|
# File 'lib/engineyard-serverside/dependency_manager/composer.rb', line 20
def lock_or_json
composer_lock? ? 'lock' : 'json'
end
|