Class: PoolParty::Plugin::GemPackage

Inherits:
Plugin show all
Defined in:
lib/poolparty/plugins/gem_package.rb

Instance Attribute Summary

Attributes inherited from PoolParty::PoolPartyBaseClass

#init_opts, #ordered_resources

Instance Method Summary collapse

Methods inherited from Plugin

#after_create, #before_load, #bootstrap_commands, #bootstrap_gems, #calls, #cloud, #configure_commands, #enable, inherited, #initialize, #is_plugin?

Methods included from Callbacks

included

Methods included from DependencyResolverCloudExtensions

#to_properties_hash

Methods included from CloudResourcer

#dependency_resolver, #instances, #plugin_directory, #run_stored_block, #store_block, #stored_block, #using

Methods inherited from Service

add_has_and_does_not_have_methods_for, #cloud, #to_properties_hash

Methods inherited from PoolParty::PoolPartyBaseClass

add_has_and_does_not_have_methods_for, #add_resource, add_resource_lookup_method, #add_service, #add_to_parent_if_parent_exists_and_is_a_service, #get_local_resource, #get_name_from_options_and_extra_options, #get_resource, #handle_option_values, #in_local_resources?, #initialize, #inspect, #is_a_resource?, #is_plugin?, #plugin_store, #resource, #resources, #run_in_context, #run_with_callbacks, #search_in_known_locations, #store_in_local_resources, #to_hash, #to_json

Methods included from SearchablePaths

included

Constructor Details

This class inherits a constructor from PoolParty::Plugin::Plugin

Instance Method Details

#loaded(opts = {}, &block) ⇒ Object



38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'lib/poolparty/plugins/gem_package.rb', line 38

def loaded(opts={}, &block)
  bin opts[:bin] ? opts[:bin] : opts[:jruby] ? "jruby -S gem" : "gem"

  if download_url
    has_exec(
      :name => "download-#{name}", 
      :cwd => Default.remote_storage_path, 
      :command => "wget #{download_url} -O #{name}.gem", 
      :if_not => "test -f #{Default.remote_storage_path}/#{name}.gem"
    )
    has_exec(
      :name => "install-#{name}-gem",
      :command => "#{bin} install --no-ri --no-rdoc  #{Default.remote_storage_path}/#{name}.gem",
      :if_not => "#{bin} list --local #{name} | grep #{name} #{"| grep #{version}" if version}",
      :requires => "download-#{name}"
    )
  else
    has_exec(
      :name => "#{name}",
      :command  => "#{bin} install --no-ri --no-rdoc #{"--version #{version}" if version} #{"--source #{source}" if source} #{name}",
      :if_not => "#{bin} list --local #{name} | grep #{name} #{"| grep #{version}" if version}"
    )
  end
end