method
    
    build_extensions
 
  
      v2_2_9 - 
      Show latest stable
 - 
    0 notes - 
    Class: Specification
    
  
  
- 1_8_6_287
- 1_8_7_72
- 1_8_7_330
- 1_9_1_378
- 1_9_2_180
- 1_9_3_125
- 1_9_3_392
- 2_1_10 (0)
- 2_2_9 (0)
- 2_4_6 (0)
- 2_5_5 (0)
- 2_6_3 (0)
- What's this?
Related methods
- Class methods (48)
- 
   add_spec add_spec
- 
   add_specs add_specs
- 
   all all
- 
   _all _all
- 
   all= all=
- 
   all_names all_names
- 
   array_attributes array_attributes
- 
   attribute_names attribute_names
- 
   _clear_load_cache _clear_load_cache
- 
   default_stubs default_stubs (>= v2_4_6) (>= v2_4_6)
- 
   dirs dirs
- 
   dirs= dirs=
- 
   each each
- 
   each_gemspec each_gemspec
- 
   each_spec each_spec
- 
   each_stub each_stub
- 
   find_active_stub_by_path  		
    
    
    (>= v2_4_6) find_active_stub_by_path  		
    
    
    (>= v2_4_6)
- 
   find_all_by_full_name  		
    
    
    (>= v2_5_5) find_all_by_full_name  		
    
    
    (>= v2_5_5)
- 
   find_all_by_name find_all_by_name
- 
   find_by_name find_by_name
- 
   find_by_path find_by_path
- 
   find_inactive_by_path find_inactive_by_path
- 
   find_in_unresolved find_in_unresolved
- 
   find_in_unresolved_tree find_in_unresolved_tree
- 
   from_yaml from_yaml
- 
   gemspec_stubs_in gemspec_stubs_in (>= v2_4_6) (>= v2_4_6)
- 
   installed_stubs installed_stubs (>= v2_4_6) (>= v2_4_6)
- 
   _latest_specs  		
    
    
    (>= v2_4_6) _latest_specs  		
    
    
    (>= v2_4_6)
- 
   latest_specs latest_specs
- 
   load load
- 
   _load _load
- 
   load_defaults load_defaults
- 
   map_stubs map_stubs (>= v2_4_6) (>= v2_4_6)
- 
   new new
- 
   non_nil_attributes non_nil_attributes
- 
   normalize_yaml_input normalize_yaml_input
- 
   outdated outdated
- 
   outdated_and_latest_version outdated_and_latest_version
- 
   remove_spec remove_spec
- 
   required_attribute? required_attribute?
- 
   required_attributes required_attributes
- 
   reset reset
- 
   _resort! _resort!
- 
   sort_by! sort_by! (>= v2_4_6) (>= v2_4_6)
- 
   stubs stubs
- 
   stubs_for  		
    
    
    (>= v2_4_6) stubs_for  		
    
    
    (>= v2_4_6)
- 
   uniq_by uniq_by (>= v2_4_6) (>= v2_4_6)
- 
   unresolved_deps unresolved_deps
- Instance methods (150)
- 
   <=> <=>
- 
   == ==
- 
   abbreviate  		
    
    
    (>= v2_4_6) abbreviate  		
    
    
    (>= v2_4_6)
- 
   activate activate
- 
   activate_dependencies activate_dependencies
- 
   add_bindir add_bindir
- 
   add_dependency add_dependency
- 
   add_dependency_with_type add_dependency_with_type  
- 
   add_development_dependency add_development_dependency
- 
   add_runtime_dependency add_runtime_dependency
- 
   add_self_to_load_path add_self_to_load_path
- 
   author author
- 
   author= author=
- 
   authors authors
- 
   authors= authors=
- 
   base_dir  		
    
    
    (>= v1_9_3_125) base_dir  		
    
    
    (>= v1_9_3_125)
- 
   bin_dir bin_dir
- 
   bin_file bin_file
- 
   build_args build_args
- 
   build_extensions build_extensions
- 
   build_info_dir build_info_dir
- 
   build_info_file build_info_file
- 
   bundled_gem_in_old_ruby? bundled_gem_in_old_ruby?
- 
   cache_dir cache_dir
- 
   cache_file cache_file
- 
   cache_gem  		
    
    
    (<= v1_9_3_392) cache_gem  		
    
    
    (<= v1_9_3_392)
- 
   check_version_conflict check_version_conflict  
- 
   conficts_when_loaded_with?  		
    
    
    (>= v2_4_6) conficts_when_loaded_with?  		
    
    
    (>= v2_4_6)
- 
   conflicts conflicts
- 
   contains_requirable_file?  		
    
    
    (<= v1_9_3_392) contains_requirable_file?  		
    
    
    (<= v1_9_3_392)
- 
   date date
- 
   date= date=
- 
   default_executable default_executable
- 
   default_value default_value
- 
   dependencies dependencies
- 
   dependencies_to_gemfile dependencies_to_gemfile (>= v2_6_3) (>= v2_6_3)
- 
   dependent_gems dependent_gems
- 
   dependent_specs dependent_specs
- 
   description= description=
- 
   development_dependencies development_dependencies
- 
   doc_dir doc_dir
- 
   _dump _dump
- 
   encode_with encode_with
- 
   eql? eql?
- 
   executable executable
- 
   executable= executable=
- 
   executables executables
- 
   executables= executables=
- 
   extension_dir  		
    
    
    (>= v2_6_3) extension_dir  		
    
    
    (>= v2_6_3)
- 
   extensions extensions
- 
   extensions= extensions=
- 
   extra_rdoc_files extra_rdoc_files
- 
   extra_rdoc_files= extra_rdoc_files=
- 
   file_name file_name
- 
   files files
- 
   files= files=
- 
   find_all_satisfiers find_all_satisfiers  
- 
   find_full_gem_path find_full_gem_path  
- 
   for_cache for_cache
- 
   full_gem_path  		
    
    
    (>= v1_9_3_125) full_gem_path  		
    
    
    (>= v1_9_3_125)
- 
   full_name full_name
- 
   gem_build_complete_path gem_build_complete_path
- 
   gem_dir gem_dir
- 
   gems_dir  		
    
    
    (>= v1_9_3_125) gems_dir  		
    
    
    (>= v1_9_3_125)
- 
   git_version  		
    
    
    (>= v2_6_3) git_version  		
    
    
    (>= v2_6_3)
- 
   groups  		
    
    
    (>= v2_6_3) groups  		
    
    
    (>= v2_6_3)
- 
   has_conflicts?  		
    
    
    (>= v2_4_6) has_conflicts?  		
    
    
    (>= v2_4_6)
- 
   hash hash
- 
   has_rdoc has_rdoc
- 
   has_rdoc= has_rdoc=
- 
   has_rdoc? has_rdoc?
- 
   has_unit_tests? has_unit_tests?
- 
   initialize_copy initialize_copy
- 
   init_with init_with
- 
   inspect inspect
- 
   installation_path  		
    
    
    (<= v1_9_3_392) installation_path  		
    
    
    (<= v1_9_3_392)
- 
   installed_by_version installed_by_version
- 
   installed_by_version= installed_by_version=
- 
   internal_init  		
    
    
    (>= v2_4_6) internal_init  		
    
    
    (>= v2_4_6)
- 
   invalidate_memoized_attributes invalidate_memoized_attributes  
- 
   keep_only_files_and_directo...  		
    
    
    (>= v2_6_3) keep_only_files_and_directo...  		
    
    
    (>= v2_6_3)
- 
   lib_dirs_glob lib_dirs_glob
- 
   lib_files lib_files
- 
   license license
- 
   license= license=
- 
   licenses licenses
- 
   licenses= licenses=
- 
   loaded_from  		
    
    
    (>= v2_6_3) loaded_from  		
    
    
    (>= v2_6_3)
- 
   loaded_from= loaded_from=
- 
   load_paths  		
    
    
    (>= v2_6_3) load_paths  		
    
    
    (>= v2_6_3)
- 
   mark_version mark_version
- 
   matches_for_glob matches_for_glob
- 
   method_missing method_missing
- 
   missing_extensions? missing_extensions?
- 
   name_tuple name_tuple
- 
   nondevelopment_dependencies  		
    
    
    (>= v2_6_3) nondevelopment_dependencies  		
    
    
    (>= v2_6_3)
- 
   normalize normalize
- 
   original_name original_name
- 
   original_platform original_platform
- 
   platform platform
- 
   platform= platform=
- 
   pretty_print pretty_print
- 
   raise_if_conflicts raise_if_conflicts
- 
   raw_require_paths  		
    
    
    (>= v2_4_6) raw_require_paths  		
    
    
    (>= v2_4_6)
- 
   rdoc_options rdoc_options
- 
   rdoc_options= rdoc_options=
- 
   required_rubygems_version= required_rubygems_version=
- 
   required_ruby_version= required_ruby_version=
- 
   requirements requirements
- 
   requirements= requirements=
- 
   require_path require_path
- 
   require_path= require_path=
- 
   require_paths= require_paths=
- 
   reset_nil_attributes_to_def... reset_nil_attributes_to_def...
- 
   respond_to_missing? respond_to_missing?
- 
   rg_loaded_from  		
    
    
    (>= v2_6_3) rg_loaded_from  		
    
    
    (>= v2_6_3)
- 
   ri_dir ri_dir
- 
   ruby_code ruby_code  
- 
   runtime_dependencies runtime_dependencies
- 
   same_attributes? same_attributes?  
- 
   sanitize  		
    
    
    (>= v2_4_6) sanitize  		
    
    
    (>= v2_4_6)
- 
   sanitize_string  		
    
    
    (>= v2_4_6) sanitize_string  		
    
    
    (>= v2_4_6)
- 
   satisfies_requirement? satisfies_requirement?
- 
   sort_obj sort_obj
- 
   source source
- 
   spec_dir spec_dir
- 
   spec_file spec_file
- 
   spec_name spec_name
- 
   stubbed? stubbed?
- 
   summary= summary=
- 
   test_file test_file
- 
   test_file= test_file=
- 
   test_files test_files
- 
   test_files= test_files=
- 
   test_suite_file  		
    
    
    (<= v1_9_3_392) test_suite_file  		
    
    
    (<= v1_9_3_392)
- 
   test_suite_file=  		
    
    
    (<= v1_9_3_392) test_suite_file=  		
    
    
    (<= v1_9_3_392)
- 
   to_gemfile  		
    
    
    (>= v2_6_3) to_gemfile  		
    
    
    (>= v2_6_3)
- 
   to_ruby to_ruby
- 
   to_ruby_for_cache to_ruby_for_cache
- 
   to_s to_s
- 
   to_spec to_spec
- 
   to_yaml to_yaml
- 
   traverse traverse
- 
   validate validate
- 
   validate_dependencies validate_dependencies
- 
   validate_metadata  		
    
    
    (>= v2_5_5) validate_metadata  		
    
    
    (>= v2_5_5)
- 
   validate_permissions validate_permissions
- 
   version= version=
- 
   warning warning
- 
   yaml_initialize yaml_initialize
     = private
 = private
     = protected
 = protected
  
build_extensions()
  public
  Builds extensions for this platform if the gem has extensions listed and the gem.build_complete file is missing.
    Show source    
    
      
  
# File lib/rubygems/specification.rb, line 1436 def build_extensions # :nodoc: return if default_gem? return if extensions.empty? return if installed_by_version < Gem::Version.new('2.2.0.preview.2') return if File.exist? gem_build_complete_path return if !File.writable?(base_dir) return if !File.exist?(File.join(base_dir, 'extensions')) begin # We need to require things in $LOAD_PATH without looking for the # extension we are about to build. unresolved_deps = Gem::Specification.unresolved_deps.dup Gem::Specification.unresolved_deps.clear require 'rubygems/config_file' require 'rubygems/ext' require 'rubygems/user_interaction' ui = Gem::SilentUI.new Gem::DefaultUserInteraction.use_ui ui do builder = Gem::Ext::Builder.new self builder.build_extensions end ensure ui.close if ui Gem::Specification.unresolved_deps.replace unresolved_deps end end

 RSpec
RSpec Ruby on Rails
Ruby on Rails Ruby
Ruby