Table of Contents - Modulation
Pages
-
CHANGELOG
- 1.1 2021-08-18
- 1.0.1 2021-04-21
- ## 1.0 2019-10-18
- 0.34 2019-10-14
- 0.33 2019-10-02
- 0.32 2019-09-03
- 0.31 2019-08-28
- 0.30 2019-08-24
- 0.29 2019-08-23
- 0.28 2019-08-23
- 0.27 2019-08-21
- 0.26 2019-08-20
- 0.25 2019-06-07
- 0.24 2019-05-22
- 0.23 2019-05-17
- 0.22 2019-05-15
- 0.21 2019-02-19
- 0.20 2019-01-16
- 0.19 2019-01-05
- 0.18 2018-12-30
- 0.17 2018-11-22
- 0.16 2018-09-24
- 0.15 2018-09-09
- 0.14 2018-09-09
- 0.13 2018-09-06
- 0.12 2018-08-20
- 0.11 2018-08-20
- 0.10 2018-08-19
- 0.9.1 2018-08-15
- 0.9 2018-08-13
- 0.8 2018-08-05
- 0.7 2018-07-29
- 0.6 2018-07-23
- 0.5.1 2018-07-20
- 0.5 2018-07-19
- 0.4 2018-07-19
- 0.3.3 2018-07-09
-
README
- Modulation - Explicit Dependency Management for Ruby
- Features
- Rationale
- Installing Modulation
- Organizing your code with Modulation
- Basic Usage
- Exporting declarations
- Importing declarations
- A word about paths
- Advanced Usage
- Using tags to designate common subdirectories
- Importing all source files in a directory
- Importing methods into classes and objects
- Default exports
- Circular dependencies
- Accessing a module's root namespace from nested modules within itself
- Accessing the global namespace
- Programmatic module creation
- Unit testing modules
- Mocking modules
- Lazy Loading
- Reloading modules
- Retaining state between reloads
- Dependency introspection
- Running Modulation-based applications
- Packing applications with Modulation
- Writing gems using Modulation
- Importing gems using Modulation
- Writing modules that patch external classes or modules
- Coding style recommendations
- API Reference
- Kernel
Kernel#auto_import_map(path, options = {})
Kernel#import(path)
Kernel#import_all(path)
Kernel#import_map(path, options = {})
- Module
Module#__module_info
Module#__reload!
Module#alias_method_once(new_name, old_name)
Module#auto_import(sym, path)
Module#export(*symbols)
Module#export_default(value)
Module#export_from_receiver(receiver)
Module#extend_from(path)
Module#include_from(path, *symbols)
Module::MODULE
- Modulation
Modulation.full_backtrace!
Modulation.reload
- Why you should not use Modulation
Classes and Modules
- Builder
- Builder
- CLI
- Kernel
- Modulation
- Modulation::ExportDefault
- Modulation::ExportFromReceiver
- Modulation::Exports
- Modulation::ModuleMixin
- Modulation::Paths
- Module
- Object
Methods
- ::absolute_dir_path — Modulation::Paths
- ::absolute_path — Modulation::Paths
- ::add_module_constants — Builder
- ::add_module_constants — Builder
- ::add_module_methods — Builder
- ::add_module_methods — Builder
- ::add_tags — Modulation
- ::add_tags — Modulation::Paths
- ::auto_import_map — Modulation
- ::check_path — Modulation::Paths
- ::cleanup_module — Builder
- ::cleanup_module — Builder
- ::copy_constants — Modulation::ExportFromReceiver
- ::create — Modulation
- ::create — Builder
- ::create — Builder
- ::create_forwarding_methods — Modulation::ExportFromReceiver
- ::create_module_from_file — Modulation
- ::define_auto_import_const_missing_method — Builder
- ::define_auto_import_const_missing_method — Builder
- ::define_const_inspect_methods — Modulation::Exports
- ::expand_tag — Modulation::Paths
- ::export — Modulation::Exports
- ::export_directive — Modulation::Exports
- ::export_from_receiver — Modulation::Exports
- ::export_hash — Modulation::Exports
- ::export_hash_entry — Modulation::Exports
- ::expose_exported_constants — Modulation::Exports
- ::filter_exported_symbols — Builder
- ::filter_exported_symbols — Builder
- ::finalize_module_exports — Builder
- ::finalize_module_exports — Builder
- ::find_auto_import_module — Modulation
- ::find_gem_based_path — Modulation::Paths
- ::from_const — Modulation::ExportFromReceiver
- ::full_backtrace! — Modulation
- ::gem_uses_modulation? — Modulation::Paths
- ::generate_exported_hash_entry — Modulation::Exports
- ::get_module_constant — Modulation::ExportDefault
- ::get_module_method — Modulation::ExportDefault
- ::import — Modulation
- ::import_all — Modulation
- ::import_map — Modulation
- ::load_module_code — Builder
- ::load_module_code — Builder
- ::lookup_gem_path — Modulation::Paths
- ::make — Builder
- ::make — Builder
- ::mock — Modulation
- ::modules_path — Modulation::Paths
- ::new — CLI
- ::orig_make — Builder
- ::orig_make — Builder
- ::perform_exports — Modulation::Exports
- ::privatize_non_exported_methods — Modulation::Exports
- ::process — Modulation::Paths
- ::process_module_constants — Modulation::Exports
- ::raise_error — Modulation
- ::raise_exported_symbol_not_found_error — Modulation::Exports
- ::receiver_methods — Modulation::ExportFromReceiver
- ::reload — Modulation
- ::reload_module_code — Builder
- ::reload_module_code — Builder
- ::reset! — Modulation
- ::set_exported_symbols — Modulation::Exports
- ::set_module_default_value — Modulation::ExportDefault
- ::set_reload_info — Modulation::ExportDefault
- ::tags — Modulation::Paths
- ::track_module_dependencies — Builder
- ::track_module_dependencies — Builder
- ::transform_export_default_value — Modulation::ExportDefault
- ::validate_exported_symbol — Modulation::Exports
- ::validate_exported_symbols — Modulation::Exports
- #__add_dependency — Modulation::ModuleMixin
- #__add_dependent_module — Modulation::ModuleMixin
- #__before_reload — Modulation::ModuleMixin
- #__dependencies — Modulation::ModuleMixin
- #__dependent_modules — Modulation::ModuleMixin
- #__export_directives — Modulation::ModuleMixin
- #__exported_symbols — Modulation::ModuleMixin
- #__expose! — Modulation::ModuleMixin
- #__reload! — Modulation::ModuleMixin
- #__reset_dependencies — Modulation::ModuleMixin
- #__traverse_dependencies — Modulation::ModuleMixin
- #add_packed_file — Object
- #alias_method_once — Module
- #auto_import — Module
- #auto_import_map — Kernel
- #bootstrap_template — Object
- #cleanup_backtrace — CLI
- #collect_dependencies — Object
- #collect_deps — CLI
- #deps — CLI
- #export — Kernel
- #export — Modulation::ModuleMixin
- #export_default — Kernel
- #export_default — Modulation::ModuleMixin
- #export_from_receiver — Modulation::ModuleMixin
- #extend_from — Module
- #filename_and_method_from_arg — CLI
- #find — Object
- #from_block — Object
- #from_hash — Object
- #from_string — Object
- #generate_bootstrap — Object
- #generate_packed_data — Object
- #import — Kernel
- #import_all — Kernel
- #import_map — Kernel
- #include_from — Module
- #inspect — Modulation::ModuleMixin
- #pack — Object
- #pack — CLI
- #pack_files — Object
- #patch_builder — Object
- #process — CLI
- #process_hash_entry — Object
- #read_dictionary — Object
- #read_file — Object
- #run — Object
- #run — CLI
- #run_file — CLI
- #setup — Object
- #setup_auto_import_registry — Module
- #transform_module_info — Object
- #version — CLI