Class: Gem::Ext::RakeBuilder
| Relationships & Source Files | |
| Super Chains via Extension / Inclusion / Inheritance | |
| Class Chain: 
          self,
          Builder
         | |
| Instance Chain: | |
| Inherits: | Gem::Ext::Builder 
 | 
| Defined in: | lib/rubygems/ext/rake_builder.rb | 
Constant Summary
Builder - Inherited
Class Method Summary
Builder - Inherited
| .class_name, .make, | |
| .new | Creates a new extension builder for  | 
| .redirector, .run | |
Instance Attribute Summary
Builder - Inherited
::Gem::DefaultUserInteraction - Included
Instance Method Summary
Builder - Inherited
| #build_extensions | Builds extensions. | 
| #build_error | Logs the build  | 
| #build_extension, | |
| #builder_for | Chooses the extension builder class for  | 
| #write_gem_make_out | Writes  | 
::Gem::UserInteraction - Included
| #alert | Displays an alert  | 
| #alert_error | Displays an error  | 
| #alert_warning | Displays a warning  | 
| #ask | Asks a  | 
| #ask_for_password | Asks for a password with a  | 
| #ask_yes_no | Asks a yes or no  | 
| #choose_from_list | Asks the user to answer  | 
| #say | Displays the given  | 
| #terminate_interaction | Terminates the RubyGems process with the given  | 
| #verbose | Calls  | 
::Gem::DefaultUserInteraction - Included
::Gem::Text - Included
| #clean_text | Remove any non-printable characters and make the text suitable for printing. | 
| #format_text | Wraps  | 
| #levenshtein_distance | This code is based directly on the ::Gem::Text gem implementation Returns a value representing the “cost” of transforming str1 into str2. | 
| #truncate_text, #min3 | |
Constructor Details
This class inherits a constructor from Gem::Ext::Builder
Class Method Details
.build(extension, directory, dest_path, results, args = [], lib_dir = nil)
[ GitHub ]# File 'lib/rubygems/ext/rake_builder.rb', line 10
def self.build(extension, directory, dest_path, results, args=[], lib_dir=nil) if File.basename(extension) =~ /mkrf_conf/i then cmd = "#{Gem.ruby} #{File.basename extension}".dup cmd << " #{args.join " "}" unless args.empty? run cmd, results end # Deal with possible spaces in the path, e.g. C:/Program Files dest_path = '"' + dest_path.to_s + '"' if dest_path.to_s.include?(' ') rake = ENV['rake'] rake ||= begin "#{Gem.ruby} -rrubygems #{Gem.bin_path('rake', 'rake')}" rescue Gem::Exception end rake ||= Gem.default_exec_format % 'rake' cmd = "#{rake} RUBYARCHDIR=#{dest_path} RUBYLIBDIR=#{dest_path}" # ENV is frozen run cmd, results results end