列出Merb :: Slices依赖项的最佳方法是什么?

时间:2021-03-23 03:20:39

I'm creating a list of the Slices in my Merb app, like this:

我在我的Merb应用程序中创建了一个切片列表,如下所示:

Merb::Slices.each_slice do |slice|

Merb :: Slices.each_slice do | slice |

I'd like to get the list of dependencies for each of this slice, any idea how to access it?

我想得到每个片的依赖列表,任何想法如何访问它?

I'm still reading merb code, solution might come soon ;)

我还在阅读merb代码,解决方案很快就会到来;)

3 个解决方案

#1


1  

Seems impossible to get list of dependencies for a particular slice.

似乎无法获得特定切片的依赖关系列表。

The next solution is to parse the slice init.rb

下一个解决方案是解析切片init.rb

Something interesting found in the quest, the global list of dependencies:

在任务中找到一些有趣的东西,全局依赖列表:

Merb::BootLoader::Dependencies.dependencies

#2


0  

I haven't used slices yet, but from my understanding they are like a mini merb app in themself, therefore wouldn't each slice have a /config/dependencies.rb? Maybe this gets parsed into the program and is available somewhere.

我还没有使用过切片,但据我了解,它们就像是自己的迷你merb应用程序,因此每个切片都不会有/config/dependencies.rb?也许这会被解析到程序中并在某处可用。

There may be something here in the docs.

文档中可能有一些内容。

Also, here are the methods available on the Merb constant (which you get things like the environment from). There's one called dependencies which returns an array (which is empty when I'm running with merb -i in an app).

另外,这里是Merb常量上可用的方法(从环境中得到的东西)。有一个名为dependencies,它返回一个数组(当我在应用程序中使用merb -i运行时它是空的)。

>> Merb.methods.sort
=> ["<", "<=", "<=>", "==", "===", "=~", ">", ">=", "JSON", "__caller_info__", "__caller_lines__", "__id__", "__profile__", "__send__", "abstract_method", "adapter", "adapter=", "add_generators", "add_mime_type", "add_rakefiles", "ancestors", "args_and_options", "assigns", "at_exit", "at_exit_procs", "autoload", "autoload?", "available_accepts", "available_mime_types", "b64encode", "blank?", "bundled?", "class", "class_eval", "class_variable_defined?", "class_variables", "clone", "config", "const_defined?", "const_get", "const_missing", "const_set", "constants", "context", "debugger", "decode64", "decode_b", "deep_clone", "deferred_actions", "dependencies", "dependency", "describe", "dir_for", "disable", "disabled?", "disabled_components", "disabled_components=", "display", "dup", "encode64", "encoded_hash", "enforce!", "enum_for", "env", "env?", "environment", "environment=", "environment_info", "environment_info=", "eql?", "equal?", "exception", "exiting", "exiting=", "extend", "extract_options_from_args!", "fatal!", "find_const", "forking_environment?", "framework_root", "freeze", "frozen?", "full_const_get", "full_const_set", "generators", "given", "glob_for", "hash", "id", "in?", "include?", "included_modules", "inline", "inspect", "instance_eval", "instance_method", "instance_methods", "instance_of?", "instance_variable_defined?", "instance_variable_get", "instance_variable_set", "instance_variables", "is_a?", "is_haml?", "j", "jj", "kind_of?", "klass_hashes", "klass_hashes=", "load_config", "load_dependencies", "load_dependency", "load_paths", "load_paths=", "log_path", "log_stream", "logger", "make_module", "merb", "merge_env", "meta_class", "method", "method_defined?", "methods", "mime_transform_method", "module_eval", "modules", "name", "nil?", "object_id", "on_jruby?", "on_windows?", "options", "orm", "orm=", "orm_generator_scope", "present?", "print_colorized_backtrace", "private_class_method", "private_instance_methods", "private_method_defined?", "private_methods", "protected_instance_methods", "protected_method_defined?", "protected_methods", "public_class_method", "public_instance_methods", "public_method_defined?", "public_methods", "push_path", "quacks_like?", "rakefiles", "reload", "remove_mime_type", "remove_paths", "rescue_require", "reset_logger!", "respond_to?", "restart_environment", "root", "root=", "root_path", "send", "share_as", "share_examples_for", "shared_examples_for", "should", "should_not", "singleton_methods", "start", "start_environment", "started", "started=", "started?", "taguri", "taguri=", "taint", "tainted?", "template_engine", "template_engine=", "test_framework", "test_framework=", "test_framework_generator_scope", "testing?", "to_a", "to_enum", "to_json", "to_s", "to_yaml", "to_yaml_properties", "to_yaml_style", "track_dependency", "trap", "try_dup", "type", "untaint", "use_orm", "use_template_engine", "use_test", "use_testing_framework", "yaml_as", "yaml_tag_class_name", "yaml_tag_read_class"]

#3


0  

In theory your slice should be bundled up as a gem. As such, you can pull the dependencies out of the directly from the gem itself

从理论上讲,你的切片应该捆绑成宝石。因此,您可以直接从gem本身中提取出依赖项

#1


1  

Seems impossible to get list of dependencies for a particular slice.

似乎无法获得特定切片的依赖关系列表。

The next solution is to parse the slice init.rb

下一个解决方案是解析切片init.rb

Something interesting found in the quest, the global list of dependencies:

在任务中找到一些有趣的东西,全局依赖列表:

Merb::BootLoader::Dependencies.dependencies

#2


0  

I haven't used slices yet, but from my understanding they are like a mini merb app in themself, therefore wouldn't each slice have a /config/dependencies.rb? Maybe this gets parsed into the program and is available somewhere.

我还没有使用过切片,但据我了解,它们就像是自己的迷你merb应用程序,因此每个切片都不会有/config/dependencies.rb?也许这会被解析到程序中并在某处可用。

There may be something here in the docs.

文档中可能有一些内容。

Also, here are the methods available on the Merb constant (which you get things like the environment from). There's one called dependencies which returns an array (which is empty when I'm running with merb -i in an app).

另外,这里是Merb常量上可用的方法(从环境中得到的东西)。有一个名为dependencies,它返回一个数组(当我在应用程序中使用merb -i运行时它是空的)。

>> Merb.methods.sort
=> ["<", "<=", "<=>", "==", "===", "=~", ">", ">=", "JSON", "__caller_info__", "__caller_lines__", "__id__", "__profile__", "__send__", "abstract_method", "adapter", "adapter=", "add_generators", "add_mime_type", "add_rakefiles", "ancestors", "args_and_options", "assigns", "at_exit", "at_exit_procs", "autoload", "autoload?", "available_accepts", "available_mime_types", "b64encode", "blank?", "bundled?", "class", "class_eval", "class_variable_defined?", "class_variables", "clone", "config", "const_defined?", "const_get", "const_missing", "const_set", "constants", "context", "debugger", "decode64", "decode_b", "deep_clone", "deferred_actions", "dependencies", "dependency", "describe", "dir_for", "disable", "disabled?", "disabled_components", "disabled_components=", "display", "dup", "encode64", "encoded_hash", "enforce!", "enum_for", "env", "env?", "environment", "environment=", "environment_info", "environment_info=", "eql?", "equal?", "exception", "exiting", "exiting=", "extend", "extract_options_from_args!", "fatal!", "find_const", "forking_environment?", "framework_root", "freeze", "frozen?", "full_const_get", "full_const_set", "generators", "given", "glob_for", "hash", "id", "in?", "include?", "included_modules", "inline", "inspect", "instance_eval", "instance_method", "instance_methods", "instance_of?", "instance_variable_defined?", "instance_variable_get", "instance_variable_set", "instance_variables", "is_a?", "is_haml?", "j", "jj", "kind_of?", "klass_hashes", "klass_hashes=", "load_config", "load_dependencies", "load_dependency", "load_paths", "load_paths=", "log_path", "log_stream", "logger", "make_module", "merb", "merge_env", "meta_class", "method", "method_defined?", "methods", "mime_transform_method", "module_eval", "modules", "name", "nil?", "object_id", "on_jruby?", "on_windows?", "options", "orm", "orm=", "orm_generator_scope", "present?", "print_colorized_backtrace", "private_class_method", "private_instance_methods", "private_method_defined?", "private_methods", "protected_instance_methods", "protected_method_defined?", "protected_methods", "public_class_method", "public_instance_methods", "public_method_defined?", "public_methods", "push_path", "quacks_like?", "rakefiles", "reload", "remove_mime_type", "remove_paths", "rescue_require", "reset_logger!", "respond_to?", "restart_environment", "root", "root=", "root_path", "send", "share_as", "share_examples_for", "shared_examples_for", "should", "should_not", "singleton_methods", "start", "start_environment", "started", "started=", "started?", "taguri", "taguri=", "taint", "tainted?", "template_engine", "template_engine=", "test_framework", "test_framework=", "test_framework_generator_scope", "testing?", "to_a", "to_enum", "to_json", "to_s", "to_yaml", "to_yaml_properties", "to_yaml_style", "track_dependency", "trap", "try_dup", "type", "untaint", "use_orm", "use_template_engine", "use_test", "use_testing_framework", "yaml_as", "yaml_tag_class_name", "yaml_tag_read_class"]

#3


0  

In theory your slice should be bundled up as a gem. As such, you can pull the dependencies out of the directly from the gem itself

从理论上讲,你的切片应该捆绑成宝石。因此,您可以直接从gem本身中提取出依赖项