Module: Development::Directory::DirectoryInterface
- Included in:
- Development::Directory
- Defined in:
- lib/development/directory/directory_interface.rb
Overview
Interface for directory implementation. Implementation provided separately for ease of overloading.
Instance Attribute Summary collapse
-
#name ⇒ Object
readonly
Name.
-
#Name. ⇒ Object
readonly
Path.
-
#path ⇒ Object
readonly
Path.
Instance Method Summary collapse
-
#add(gem_or_gemset, ...) ⇒ ::Development::Directory
Add gems or gemsets to directory.
-
#delete(gem_or_gemset, ...) ⇒ ::Development::Directory
(also: #remove)
Remove gems or gemsets from directory.
- #initialize(name, path_part, ...) ⇒ Object
-
#members ⇒ Array<::Development::Gem,::Development::Gemset>
Gems or Gemsets with self as their directory.
-
#set_path(*path_parts) ⇒ ::Development::Directory
Set Path.
Instance Attribute Details
#name ⇒ Object (readonly)
Name.
57 58 59 |
# File 'lib/development/directory/directory_interface.rb', line 57 def name @name end |
#Name. ⇒ Object (readonly)
Path.
57 |
# File 'lib/development/directory/directory_interface.rb', line 57 attr_reader :name |
#path ⇒ Object (readonly)
Path.
83 84 85 |
# File 'lib/development/directory/directory_interface.rb', line 83 def path @path end |
Instance Method Details
#add(gem_or_gemset, ...) ⇒ ::Development::Directory
Add gems or gemsets to directory.
133 134 135 136 137 138 139 |
# File 'lib/development/directory/directory_interface.rb', line 133 def add( *gems_or_gemsets ) @gemset.add( *gems_or_gemsets ) return self end |
#delete(gem_or_gemset, ...) ⇒ ::Development::Directory Also known as: remove
Remove gems or gemsets from directory.
157 158 159 160 161 |
# File 'lib/development/directory/directory_interface.rb', line 157 def delete( *gems_or_gemsets ) return @gemset.delete( *gems_or_gemsets ) end |
#initialize(name, path_part, ...) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/development/directory/directory_interface.rb', line 24 def initialize( name, *path_parts ) @name = name self.set_path( *path_parts ) # a directory is also a gemset @gemset = ::Development.gemset( name ) @gemset.set_directory( self ) # if there's a gem or gemset name by this directory name, # we use it unless gem or gemset already has a directory if name if gem_instance = ::Development.get_gem( name ) gem_instance.set_directory( self ) end if gemset_instance = ::Development.get_gemset( name ) gemset_instance.set_directory( self ) end end end |
#members ⇒ Array<::Development::Gem,::Development::Gemset>
Gems or Gemsets with self as their directory.
68 69 70 71 72 |
# File 'lib/development/directory/directory_interface.rb', line 68 def members return @gemset.members end |
#set_path(*path_parts) ⇒ ::Development::Directory
Set Path.
98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 |
# File 'lib/development/directory/directory_interface.rb', line 98 def set_path( *path_parts ) if path_parts[ 0 ].is_a?( ::Symbol ) base_directory_name = path_parts[ 0 ] base_directory = ::Development.get_directory( base_directory_name ) path_parts[ 0 ] = base_directory.path end path_parts.collect!( & :to_s ) if path_parts[ 0 ].nil? @path = nil else @path = ::File.( ::File.join( *path_parts ) ) end return self end |