Skip to content

Instantly share code, notes, and snippets.

@andrewalker
Created May 2, 2012 16:51
Show Gist options
  • Save andrewalker/2578154 to your computer and use it in GitHub Desktop.
Save andrewalker/2578154 to your computer and use it in GitHub Desktop.
Cat board
* Big topics (design and hard to solve issues)
- Catalyst::Model::DBIC::Schema is broken because we build the service too early,
causing the COMPONENT method to be called early, breaking components which
build other components.
this:
sub COMPONENT {
...
*${appclass}::Model::TopLevel::GENERATED::ACCEPT_CONTEXT = sub { ... };
...
}
does not work anymore.
- when / when not COMPONENT should be called
- per request life cycle
- I have no idea how to properly make it work
- problems when get_all_components() is called when there is no 'context' yet
- IIRC, this is why Request lifecycle doesn't work
- sugar syntax
- what is missing, what are the next steps. We never really discussed the design.
* Medium topics (back compat, other issues)
- expand_component_module
- $instance->expand_modules
- search_extra
- what to do when a user overrides the locate_components method?
- CatalystX::InjectComponent is broken (and hence CX::SimpleLogin)
because of setup_component being removed
https://github.com/robertkrimen/CatalystX-InjectComponent/pull/1
- pushing config back onto the app
- locate_components service vs setup_components method
- can we be more lazy?
- should setup_components be a service that things like the ->component lookup
can depend on?
- the ConstructorInjection depends on the application_name, which probably
makes app/ctx split harder. We need a way to get the application instance
passed properly.
- is the branch gsoc_breadboard_with_app_instance crazy?
* Small topics (naming, best practices, etc)
- $class->log->warn is being used to give warnings, but maybe there is a
- better way to do it
- $c->log->warn("Attempted to use...") when the component is not found.
But this is new behaviour. Is it wanted? Should there be a predicate?
e.g. $c->has_controller('Root')
- there is a call in Catalyst::Controller to catalyst_component_name class
- accessor (which doesn't exist anymore).
- root service has a very ambiguous name - maybe root_dir?
- should _get_component_type_name (in Catalyst::IOC::Container) exist? Should it be moved to Catalyst::Utils?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment