Here are some ideas for parts of the future public API:

   - monitoring & profiling: hooks for NewRelic/TuneUp/Scout
   instrumentation;
   - ActiveRecord fulltext search & indexing: for Sphinx and other plugins.
   the core implementation, however, would be just using common RDBMS features
   such as "WHERE name LIKE '%foo%'";
   - authentication & authorization: for restful_authentication, authlogic,
   etc.;
   - testing API & helpers: so that rspec-rails, webrat and other
   integrations wouldn't break between releases.

Here are some current examples of what I consider a public API of Rails:
  ActionController::Base.param_parsers[Mime::XML] = Proc.new { |data| ... }

  ActionView::Template.register_template_handler('foo', FooHandler)

  I18n.backend = MyBackend.new

All of these are used to inject features into the framework by implementing
some interface, not monkeypatching. This is good.

What really saddens me is that now all focus is turned towards middleware
and that they've become almost the preferred way to inject features into the
framework. Tons of Rails features were already extracted. The whole stack,
including the main app, is then synchronized through a single object: "env".
Is the public API going to become string keys on a big fat hash object?

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Core" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-core?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to