method
_load
v1_9_3_125 -
Show latest stable
- Class:
Gem::Specification
_load(str)public
Load custom marshal format, re-initializing defaults as needed
# File lib/rubygems/specification.rb, line 646
def self._load(str)
array = Marshal.load str
spec = Gem::Specification.new
spec.instance_variable_set :@specification_version, array[1]
current_version = CURRENT_SPECIFICATION_VERSION
field_count = if spec.specification_version > current_version then
spec.instance_variable_set :@specification_version,
current_version
MARSHAL_FIELDS[current_version]
else
MARSHAL_FIELDS[spec.specification_version]
end
if array.size < field_count then
raise TypeError, "invalid Gem::Specification format #{array.inspect}"
end
spec.instance_variable_set :@rubygems_version, array[0]
# spec version
spec.instance_variable_set :@name, array[2]
spec.instance_variable_set :@version, array[3]
spec.instance_variable_set :@date, array[4]
spec.instance_variable_set :@summary, array[5]
spec.instance_variable_set :@required_ruby_version, array[6]
spec.instance_variable_set :@required_rubygems_version, array[7]
spec.instance_variable_set :@original_platform, array[8]
spec.instance_variable_set :@dependencies, array[9]
spec.instance_variable_set :@rubyforge_project, array[10]
spec.instance_variable_set :@email, array[11]
spec.instance_variable_set :@authors, array[12]
spec.instance_variable_set :@description, array[13]
spec.instance_variable_set :@homepage, array[14]
spec.instance_variable_set :@has_rdoc, array[15]
spec.instance_variable_set :@new_platform, array[16]
spec.instance_variable_set :@platform, array[16].to_s
spec.instance_variable_set :@license, array[17]
spec.instance_variable_set :@loaded, false
spec.instance_variable_set :@activated, false
spec
end Related methods
- Instance methods
- <=>
- ==
- _dump
- activate
- activate_dependencies
- add_bindir
- add_dependency
- add_development_dependency
- add_runtime_dependency
- add_self_to_load_path
- author
- author=
- authors
- authors=
- base_dir
- bin_dir
- bin_file
- cache_dir
- cache_file
- cache_gem
- conflicts
- contains_requirable_file?
- date
- date=
- default_executable
- default_value
- dependencies
- dependent_gems
- dependent_specs
- description=
- development_dependencies
- doc_dir
- encode_with
- eql?
- executable
- executable=
- executables
- executables=
- extensions
- extensions=
- extra_rdoc_files
- extra_rdoc_files=
- file_name
- files
- files=
- for_cache
- full_gem_path
- full_name
- gem_dir
- gems_dir
- has_rdoc
- has_rdoc=
- has_rdoc?
- has_unit_tests?
- hash
- init_with
- initialize_copy
- installation_path
- lib_dirs_glob
- lib_files
- license
- license=
- licenses
- licenses=
- loaded_from=
- mark_version
- matches_for_glob
- method_missing
- normalize
- original_name
- original_platform
- platform
- platform=
- pretty_print
- raise_if_conflicts
- rdoc_options
- rdoc_options=
- require_path
- require_path=
- required_ruby_version=
- required_rubygems_version=
- requirements
- requirements=
- ri_dir
- runtime_dependencies
- satisfies_requirement?
- sort_obj
- spec_dir
- spec_file
- spec_name
- summary=
- test_file
- test_file=
- test_files
- test_files=
- test_suite_file
- test_suite_file=
- to_ruby
- to_ruby_for_cache
- to_s
- to_yaml
- traverse
- validate
- version=
- yaml_initialize
- Class methods
- _all
- _load
- _resort!
- add_spec
- add_specs
- all
- all=
- all_names
- array_attributes
- attribute_names
- dirs
- dirs=
- each
- find_all_by_name
- find_by_name
- find_by_path
- find_in_unresolved
- find_in_unresolved_tree
- from_yaml
- latest_specs
- load
- new
- non_nil_attributes
- normalize_yaml_input
- outdated
- remove_spec
- required_attribute?
- required_attributes
- reset
- Private methods
-
add_dependency_with_type -
find_all_satisfiers -
ruby_code -
same_attributes?