Лучший способ перечислить зависимости Merb :: Slices? - PullRequest
1 голос
/ 22 ноября 2008

Я создаю список фрагментов в моем приложении Merb, например:

Merb :: Slices.each_slice do | slice |

Я хотел бы получить список зависимостей для каждого среза, есть идеи, как получить к нему доступ?

Я все еще читаю код Merb, решение может скоро прийти;)

Ответы [ 3 ]

1 голос
/ 22 ноября 2008

Кажется невозможным получить список зависимостей для определенного среза.

Следующее решение - разобрать ломтик init.rb

Что-то интересное обнаружилось в квесте, глобальном списке зависимостей:

Merb :: BootLoader :: Dependencies.dependencies

0 голосов
/ 27 августа 2009

В теории ваш кусочек должен быть упакован как драгоценный камень. Таким образом, вы можете извлекать зависимости непосредственно из самого гема

0 голосов
/ 22 ноября 2008

Я еще не использовал срезы, но, насколько я понимаю, они сами по себе похожи на мини-приложение merb, поэтому не будет ли каждый срез иметь /config/dependencies.rb? Может быть, это проанализировано в программе и где-то доступно.

Может быть что-то здесь, в документах .

Кроме того, вот методы, доступные для константы 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"]
...