lib/picky/loader.rb in picky-1.4.1 vs lib/picky/loader.rb in picky-1.4.2
- old
+ new
@@ -26,10 +26,13 @@
require File.join(File.dirname(__FILE__), filename)
end
def self.load_relative filename_without_rb
load File.join(File.dirname(__FILE__), "#{filename_without_rb}.rb")
end
+ def self.load_internals filename_without_rb
+ load File.join(File.dirname(__FILE__), "internals/#{filename_without_rb}.rb")
+ end
def self.load_user filename
load File.join(PICKY_ROOT, "#{filename}.rb")
end
def self.load_user_lib filename
@@ -72,170 +75,209 @@
#
Application.finalize_apps
# TODO Rewrite
#
- Query::Qualifiers.instance.prepare
+ Internals::Query::Qualifiers.instance.prepare
exclaim "Application #{Application.apps.map(&:name).join(', ')} loaded."
end
- # Loads the framework.
+ # Loads the internal parts of the framework.
+ # (Not for the user)
#
- def self.load_framework
+ def self.load_framework_internals
# Load compiled C code.
#
- require_relative 'ext/maybe_compile'
+ load_internals 'ext/maybe_compile'
# Load extensions.
#
- load_relative 'extensions/object'
- load_relative 'extensions/array'
- load_relative 'extensions/symbol'
- load_relative 'extensions/module'
- load_relative 'extensions/hash'
+ load_internals 'extensions/object'
+ load_internals 'extensions/array'
+ load_internals 'extensions/symbol'
+ load_internals 'extensions/module'
+ load_internals 'extensions/hash'
- # Load harakiri.
- #
- load_relative 'rack/harakiri'
-
# Requiring Helpers
#
- load_relative 'helpers/measuring'
+ load_internals 'helpers/measuring'
- # Character Substituters
- #
- load_relative 'character_substituters/west_european'
-
# Calculations.
#
- load_relative 'calculations/location'
+ load_internals 'calculations/location'
- # Signal handling
- #
- load_relative 'signals'
-
- # Various.
- #
- load_relative 'loggers/search'
-
# Index generation strategies.
#
- load_relative 'indexers/no_source_specified_error'
- load_relative 'indexers/serial'
- #
- # load_relative 'indexers/solr'
+ load_internals 'indexers/no_source_specified_error'
+ load_internals 'indexers/serial'
- # Cacher.
+ # Generators.
#
- load_relative 'cacher/strategy'
+ load_internals 'generators/strategy'
# Partial index generation strategies.
#
- load_relative 'cacher/partial/strategy'
- load_relative 'cacher/partial/none'
- load_relative 'cacher/partial/substring'
- load_relative 'cacher/partial/default'
+ load_internals 'generators/partial/strategy'
+ load_internals 'generators/partial/none'
+ load_internals 'generators/partial/substring'
+ load_internals 'generators/partial/default'
# Weight index generation strategies.
#
- load_relative 'cacher/weights/strategy'
- load_relative 'cacher/weights/logarithmic'
- load_relative 'cacher/weights/default'
+ load_internals 'generators/weights/strategy'
+ load_internals 'generators/weights/logarithmic'
+ load_internals 'generators/weights/default'
# Similarity index generation strategies.
#
- load_relative 'cacher/similarity/strategy'
- load_relative 'cacher/similarity/none'
- load_relative 'cacher/similarity/double_levenshtone'
- load_relative 'cacher/similarity/default'
+ load_internals 'generators/similarity/strategy'
+ load_internals 'generators/similarity/none'
+ load_internals 'generators/similarity/double_levenshtone'
+ load_internals 'generators/similarity/default'
- # Convenience accessors for generators.
- #
- load_relative 'cacher/convenience'
-
# Index generators.
#
- load_relative 'cacher/generator'
- load_relative 'cacher/partial_generator'
- load_relative 'cacher/weights_generator'
- load_relative 'cacher/similarity_generator'
+ load_internals 'generators/base'
+ load_internals 'generators/partial_generator'
+ load_internals 'generators/weights_generator'
+ load_internals 'generators/similarity_generator'
- # Index file handling.
+ # Index store handling.
#
- load_relative 'index/file/basic'
- load_relative 'index/file/text'
- load_relative 'index/file/marshal'
- load_relative 'index/file/json'
- load_relative 'index/files'
+ load_internals 'index/backend'
- # Indexing and Indexed things.
- #
- load_relative 'index/bundle'
+ load_internals 'index/redis'
+ load_internals 'index/redis/basic'
+ load_internals 'index/redis/list_hash'
+ load_internals 'index/redis/string_hash'
- load_relative 'indexing/bundle'
- load_relative 'indexing/category'
- load_relative 'indexing/categories'
- load_relative 'indexing/index'
- load_relative 'indexing/indexes'
+ load_internals 'index/file/basic'
+ load_internals 'index/file/text'
+ load_internals 'index/file/marshal'
+ load_internals 'index/file/json'
- load_relative 'indexed/bundle'
- load_relative 'indexed/category'
- load_relative 'indexed/categories'
- load_relative 'indexed/index'
- load_relative 'indexed/indexes'
+ load_internals 'index/files'
- load_relative 'indexes_api'
- load_relative 'alias_instances'
- load_relative 'index_api'
+ # Indexing and Indexed things.
+ #
+ load_internals 'indexing/bundle/super_base' # TODO Remove.
+ load_internals 'indexing/bundle/base'
+ load_internals 'indexing/bundle/memory'
+ load_internals 'indexing/bundle/redis'
+ load_internals 'indexing/category'
+ load_internals 'indexing/categories'
+ load_internals 'indexing/index'
- load_relative 'indexed/wrappers/exact_first'
+ load_internals 'indexed/bundle/base'
+ load_internals 'indexed/bundle/memory'
+ load_internals 'indexed/bundle/redis'
+ load_internals 'indexed/category'
+ load_internals 'indexed/categories'
+ load_internals 'indexed/index'
+
+ # TODO Ok here?
+ #
+ load_internals 'indexed/wrappers/exact_first'
# Bundle Wrapper
#
- load_relative 'indexed/wrappers/bundle/wrapper'
- load_relative 'indexed/wrappers/bundle/calculation'
- load_relative 'indexed/wrappers/bundle/location'
+ load_internals 'indexed/wrappers/bundle/wrapper'
+ load_internals 'indexed/wrappers/bundle/calculation'
+ load_internals 'indexed/wrappers/bundle/location'
# Tokens.
#
- load_relative 'query/token'
- load_relative 'query/tokens'
+ load_internals 'query/token'
+ load_internals 'query/tokens'
# Tokenizers types.
#
- load_relative 'tokenizers/base'
- load_relative 'tokenizers/index'
- load_relative 'tokenizers/query'
+ load_internals 'tokenizers/base'
+ load_internals 'tokenizers/index'
+ load_internals 'tokenizers/query'
# Query combinations, qualifiers, weigher.
#
- load_relative 'query/combination'
- load_relative 'query/combinations'
+ load_internals 'query/combination'
+ load_internals 'query/combinations/base'
+ load_internals 'query/combinations/memory'
+ load_internals 'query/combinations/redis'
- load_relative 'query/allocation'
- load_relative 'query/allocations'
+ load_internals 'query/allocation'
+ load_internals 'query/allocations'
- load_relative 'query/qualifiers'
- load_relative 'query/weigher'
+ load_internals 'query/qualifiers'
- load_relative 'query/weights'
+ load_internals 'query/weights'
+ load_internals 'query/indexes'
+
+ # Results.
+ #
+ load_internals 'results/base'
+ load_internals 'results/full'
+ load_internals 'results/live'
+
+ # Configuration.
+ #
+ load_internals 'configuration/index'
+
+ # Adapters.
+ #
+ load_internals 'adapters/rack/base'
+ load_internals 'adapters/rack/query'
+ load_internals 'adapters/rack/live_parameters'
+ load_internals 'adapters/rack'
+
+ # Routing.
+ #
+ load_internals 'frontend_adapters/rack'
+ end
+ # Loads the user interface parts.
+ #
+ def self.load_user_interface
+ # Load harakiri.
+ #
+ load_relative 'rack/harakiri'
+
+ # Character Substituters
+ #
+ load_relative 'character_substituters/west_european'
+
+ # Signal handling
+ #
+ load_relative 'signals'
+
+ # Logging.
+ #
+ load_relative 'loggers/search'
+
+ # Convenience accessors for generators.
+ #
+ load_relative 'generators/aliases'
+
+ # API.
+ #
+ load_relative 'index/base'
+ load_relative 'index/memory'
+ load_relative 'index/redis'
+
+ load_relative 'indexing/indexes'
+ load_relative 'indexed/indexes'
+
+ load_relative 'index_bundle'
+ load_relative 'aliases'
+
# Query.
#
load_relative 'query/base'
load_relative 'query/live'
load_relative 'query/full'
#
# load_relative 'query/solr'
- # Results.
- #
- load_relative 'results/base'
- load_relative 'results/full'
- load_relative 'results/live'
-
# Sources.
#
load_relative 'sources/base'
load_relative 'sources/db'
load_relative 'sources/csv'
@@ -243,32 +285,26 @@
load_relative 'sources/couch'
load_relative 'sources/wrappers/base'
load_relative 'sources/wrappers/location'
- # Configuration.
- #
- load_relative 'configuration/index'
-
# Interfaces
#
load_relative 'interfaces/live_parameters'
- # Adapters.
+ # Application.
#
- load_relative 'adapters/rack/base'
- load_relative 'adapters/rack/query'
- load_relative 'adapters/rack/live_parameters'
- load_relative 'adapters/rack'
-
- # Application and routing.
- #
- load_relative 'frontend_adapters/rack'
load_relative 'application'
- # Load tools.
+ # Load tools. Load in specific case?
#
- # load_relative 'solr/schema_generator'
load_relative 'cores'
+ end
+
+ # Loads the framework.
+ #
+ def self.load_framework
+ load_framework_internals
+ load_user_interface
end
end