Class: Bundler::ParallelInstaller::SpecInstallation

Inherits:
Object
  • Object
show all
Defined in:
lib/bundler/installer/parallel_installer.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(spec) ⇒ SpecInstallation

Returns a new instance of SpecInstallation.



10
11
12
13
14
15
16
17
# File 'lib/bundler/installer/parallel_installer.rb', line 10

def initialize(spec)
  @spec = spec
  @name = spec.name
  @full_name = spec.full_name
  @state = :none
  @post_install_message = ""
  @error = nil
end

Instance Attribute Details

#errorObject

Returns the value of attribute error.



9
10
11
# File 'lib/bundler/installer/parallel_installer.rb', line 9

def error
  @error
end

#full_nameObject

Returns the value of attribute full_name.



9
10
11
# File 'lib/bundler/installer/parallel_installer.rb', line 9

def full_name
  @full_name
end

#nameObject

Returns the value of attribute name.



9
10
11
# File 'lib/bundler/installer/parallel_installer.rb', line 9

def name
  @name
end

#post_install_messageObject

Returns the value of attribute post_install_message.



9
10
11
# File 'lib/bundler/installer/parallel_installer.rb', line 9

def post_install_message
  @post_install_message
end

#specObject

Returns the value of attribute spec.



9
10
11
# File 'lib/bundler/installer/parallel_installer.rb', line 9

def spec
  @spec
end

#stateObject

Returns the value of attribute state.



9
10
11
# File 'lib/bundler/installer/parallel_installer.rb', line 9

def state
  @state
end

Instance Method Details

#all_dependenciesObject

Represents all dependencies



61
62
63
# File 'lib/bundler/installer/parallel_installer.rb', line 61

def all_dependencies
  @spec.dependencies
end

#dependenciesObject

Represents only the non-development dependencies, the ones that are itself and are in the total list.



52
53
54
# File 'lib/bundler/installer/parallel_installer.rb', line 52

def dependencies
  @dependencies ||= all_dependencies.reject {|dep| ignorable_dependency? dep }
end

#dependencies_installed?(all_specs) ⇒ Boolean

Checks installed dependencies against spec’s dependencies to make sure needed dependencies have been installed.

Returns:

  • (Boolean)


45
46
47
48
# File 'lib/bundler/installer/parallel_installer.rb', line 45

def dependencies_installed?(all_specs)
  installed_specs = all_specs.select(&:installed?).map(&:name)
  dependencies.all? {|d| installed_specs.include? d.name }
end

#enqueued?Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/bundler/installer/parallel_installer.rb', line 23

def enqueued?
  state == :enqueued
end

#failed?Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/bundler/installer/parallel_installer.rb', line 27

def failed?
  state == :failed
end

#has_post_install_message?Boolean

Returns:

  • (Boolean)


35
36
37
# File 'lib/bundler/installer/parallel_installer.rb', line 35

def has_post_install_message?
  !post_install_message.empty?
end

#ignorable_dependency?(dep) ⇒ Boolean

Returns:

  • (Boolean)


39
40
41
# File 'lib/bundler/installer/parallel_installer.rb', line 39

def ignorable_dependency?(dep)
  dep.type == :development || dep.name == @name
end

#installed?Boolean

Returns:

  • (Boolean)


19
20
21
# File 'lib/bundler/installer/parallel_installer.rb', line 19

def installed?
  state == :installed
end

#missing_lockfile_dependencies(all_spec_names) ⇒ Object



56
57
58
# File 'lib/bundler/installer/parallel_installer.rb', line 56

def missing_lockfile_dependencies(all_spec_names)
  dependencies.reject {|dep| all_spec_names.include? dep.name }
end

#ready_to_enqueue?Boolean

Returns:

  • (Boolean)


31
32
33
# File 'lib/bundler/installer/parallel_installer.rb', line 31

def ready_to_enqueue?
  state == :none
end

#to_sObject



65
66
67
# File 'lib/bundler/installer/parallel_installer.rb', line 65

def to_s
  "#<#{self.class} #{full_name} (#{state})>"
end