次のように、Merb アプリでスライスのリストを作成しています。
Merb::Slices.each_slice do |slice|
このスライスごとに依存関係のリストを取得したいのですが、アクセスする方法はありますか?
私はまだmerbコードを読んでいます.解決策はすぐに来るかもしれません;)
次のように、Merb アプリでスライスのリストを作成しています。
Merb::Slices.each_slice do |slice|
このスライスごとに依存関係のリストを取得したいのですが、アクセスする方法はありますか?
私はまだmerbコードを読んでいます.解決策はすぐに来るかもしれません;)
特定のスライスの依存関係のリストを取得できないようです。
次の解決策は、スライス init.rb を解析することです
クエストで見つかった興味深いもの、依存関係のグローバルリスト:
Merb::BootLoader::Dependencies.dependencies
理論的には、スライスは宝石としてバンドルする必要があります。そのため、gem自体から直接依存関係を引き出すことができます
私はまだスライスを使用していませんが、私の理解では、それらはそれ自体がミニ merb アプリのようなものです。したがって、各スライスには/config/dependencies.rb
? おそらく、これはプログラムに解析され、どこかで利用可能になります。
docsに何かあるかもしれません。
また、ここでは Merb 定数 (環境などを取得します) で使用できるメソッドを示します。配列を返す依存関係と呼ばれるものがあります(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"]