Module: Development::Gem::GemInterface

Included in:
Development::Gem
Defined in:
lib/development/gem/gem_interface.rb

Overview

Interface for gem implementation. Implementation provided separately for ease of overloading.

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#Directory.::Development::Gem (readonly)

Directory.

Returns:



100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
# File 'lib/development/gem/gem_interface.rb', line 100

def set_directory( directory_or_path )

  if directory_or_path
    
    case directory_or_path
      when ::Development::Directory
        @directory = directory_or_path
      else
        unless @directory = ::Development.get_directory( directory_or_path )
          if @directory
            @directory.set_path( directory_or_path )
          else
            @directory = ::Development::Directory.new( @name, directory_or_path )
          end
        end
    end
    
  else
    
    @directory = nil
    
  end

  return self

end

#nameObject (readonly)

Name.



49
50
51
# File 'lib/development/gem/gem_interface.rb', line 49

def name
  @name
end

#Name.Object (readonly)

Name.



49
# File 'lib/development/gem/gem_interface.rb', line 49

attr_reader :name

Instance Method Details

#directory::Development::Directory #directory(directory_name) ⇒ ::Development::Directory #directory(directory_path_part, ...) ⇒ ::Development::Directory

Directory.

Overloads:

  • #directory(directory_name) ⇒ ::Development::Directory

    Parameters:

    • directory_name

      Name of directory.

  • #directory(directory_path_part, ...) ⇒ ::Development::Directory

    Parameters:

    • directory_path_part

      The first part can be a symbol naming a directory; all parts can be String path parts.

Returns:



74
75
76
77
78
79
80
81
82
83
84
85
86
87
# File 'lib/development/gem/gem_interface.rb', line 74

def directory( *args )
  
  return_value = nil
  
  if args.empty?
    return_value = @directory
  else
    @directory = ::Development.directory( *args )
    return_value = @directory
  end
  
  return return_value
  
end

#disable!::Development::Gem

Disble all gems and general load path searching.

Returns:



183
184
185
186
187
188
189
# File 'lib/development/gem/gem_interface.rb', line 183

def disable!

  @enabled = false
  
  return self
  
end

#disabled?true, false

Query whether Gem is disabled.

Returns:

  • (true, false)

    Whether Gem is disabled.



151
152
153
154
155
# File 'lib/development/gem/gem_interface.rb', line 151

def disabled?

  return ! @enabled
  
end

#enable!::Development::Gem

Enable all gems and general load path searching.

Returns:



166
167
168
169
170
171
172
# File 'lib/development/gem/gem_interface.rb', line 166

def enable!
  
  @enabled = true
  
  return self
  
end

#enabled?true, false

Query whether Gem is enabled.

Returns:

  • (true, false)

    Whether Gem is enabled.



136
137
138
139
140
# File 'lib/development/gem/gem_interface.rb', line 136

def enabled?
  
  return @enabled
  
end

#initialize(name, path_part, ...) ⇒ Object

Parameters:

  • name

    Reference name for directory.

  • directory_or_path

    Development::Directory instance or String describing path.



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/development/gem/gem_interface.rb', line 23

def initialize( name, directory_or_path = nil )

  gem_reference_name = name.to_s.gsub( '/', '-' )
  
  @name = gem_reference_name.to_sym

  self.set_directory( directory_or_path )
  
  @enabled = false
  
  # if there's a directory by gem name, use it
  if directory = ::Development.get_directory( name )
    @directory = directory
  end
  
end

#set_directory(directory_or_path) ⇒ ::Development::Gem

Directory.

Returns:



100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
# File 'lib/development/gem/gem_interface.rb', line 100

def set_directory( directory_or_path )

  if directory_or_path
    
    case directory_or_path
      when ::Development::Directory
        @directory = directory_or_path
      else
        unless @directory = ::Development.get_directory( directory_or_path )
          if @directory
            @directory.set_path( directory_or_path )
          else
            @directory = ::Development::Directory.new( @name, directory_or_path )
          end
        end
    end
    
  else
    
    @directory = nil
    
  end

  return self

end