Class: Bundler::StubSpecification
- Inherits:
-
RemoteSpecification
- Object
- RemoteSpecification
- Bundler::StubSpecification
- Defined in:
- lib/bundler/stub_specification.rb
Constant Summary
Constants included from GemHelpers
GemHelpers::GENERICS, GemHelpers::GENERIC_CACHE
Instance Attribute Summary collapse
-
#ignored ⇒ Object
Returns the value of attribute ignored.
-
#stub ⇒ Object
Returns the value of attribute stub.
Attributes inherited from RemoteSpecification
#dependencies, #name, #platform, #remote, #source, #version
Class Method Summary collapse
Instance Method Summary collapse
- #activated ⇒ Object
- #activated=(activated) ⇒ Object
- #default_gem ⇒ Object
- #full_gem_path ⇒ Object
- #full_require_paths ⇒ Object
-
#load_paths ⇒ Object
This is what we do in bundler/rubygems_ext full_require_paths is always implemented in >= 2.2.0.
- #loaded_from ⇒ Object
- #matches_for_glob(glob) ⇒ Object
-
#missing_extensions? ⇒ Boolean
This is defined directly to avoid having to load every installed spec.
- #raw_require_paths ⇒ Object
- #source=(source) ⇒ Object
- #to_yaml ⇒ Object
Methods inherited from RemoteSpecification
#<=>, #__swap__, #fetch_platform, #full_name, #git_version, #initialize, #respond_to?, #sort_obj, #to_s
Methods included from MatchPlatform
#match_platform, platforms_match?
Methods included from GemHelpers
generic, generic_local_platform, platform_specificity_match, select_best_platform_match
Constructor Details
This class inherits a constructor from Bundler::RemoteSpecification
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Bundler::RemoteSpecification
Instance Attribute Details
#ignored ⇒ Object
Returns the value of attribute ignored.
14 15 16 |
# File 'lib/bundler/stub_specification.rb', line 14 def ignored @ignored end |
#stub ⇒ Object
Returns the value of attribute stub.
14 15 16 |
# File 'lib/bundler/stub_specification.rb', line 14 def stub @stub end |
Class Method Details
.from_stub(stub) ⇒ Object
7 8 9 10 11 12 |
# File 'lib/bundler/stub_specification.rb', line 7 def self.from_stub(stub) return stub if stub.is_a?(Bundler::StubSpecification) spec = new(stub.name, stub.version, stub.platform, nil) spec.stub = stub spec end |
Instance Method Details
#activated ⇒ Object
42 43 44 |
# File 'lib/bundler/stub_specification.rb', line 42 def activated stub.activated end |
#activated=(activated) ⇒ Object
46 47 48 |
# File 'lib/bundler/stub_specification.rb', line 46 def activated=(activated) stub.instance_variable_set(:@activated, activated) end |
#default_gem ⇒ Object
50 51 52 |
# File 'lib/bundler/stub_specification.rb', line 50 def default_gem stub.default_gem end |
#full_gem_path ⇒ Object
54 55 56 57 58 |
# File 'lib/bundler/stub_specification.rb', line 54 def full_gem_path # deleted gems can have their stubs return nil, so in that case grab the # expired path from the full spec stub.full_gem_path || method_missing(:full_gem_path) end |
#full_require_paths ⇒ Object
61 62 63 |
# File 'lib/bundler/stub_specification.rb', line 61 def full_require_paths stub.full_require_paths end |
#load_paths ⇒ Object
This is what we do in bundler/rubygems_ext full_require_paths is always implemented in >= 2.2.0
67 68 69 |
# File 'lib/bundler/stub_specification.rb', line 67 def load_paths full_require_paths end |
#loaded_from ⇒ Object
72 73 74 |
# File 'lib/bundler/stub_specification.rb', line 72 def loaded_from stub.loaded_from end |
#matches_for_glob(glob) ⇒ Object
77 78 79 |
# File 'lib/bundler/stub_specification.rb', line 77 def matches_for_glob(glob) stub.matches_for_glob(glob) end |
#missing_extensions? ⇒ Boolean
This is defined directly to avoid having to load every installed spec
37 38 39 |
# File 'lib/bundler/stub_specification.rb', line 37 def missing_extensions? stub.missing_extensions? end |
#raw_require_paths ⇒ Object
82 83 84 |
# File 'lib/bundler/stub_specification.rb', line 82 def raw_require_paths stub.raw_require_paths end |
#source=(source) ⇒ Object
19 20 21 22 23 24 25 26 |
# File 'lib/bundler/stub_specification.rb', line 19 def source=(source) super # Stub has no concept of source, which means that extension_dir may be wrong # This is the case for git-based gems. So, instead manually assign the extension dir return unless source.respond_to?(:extension_dir_name) path = File.join(stub.extensions_dir, source.extension_dir_name) stub.extension_dir = File.(path) end |
#to_yaml ⇒ Object
29 30 31 |
# File 'lib/bundler/stub_specification.rb', line 29 def to_yaml _remote_specification.to_yaml end |