A few days ago, I tried to use ActionView as a standalone dependency of something I was writing. I ended up abandoning that attempt due to the number of unrelated dependencies of the actionpack gem, which ActionView is a part of:
$ gem dependency actionpack Gem actionpack-3.1.0.rc1 activemodel (= 3.1.0.rc1) activesupport (= 3.1.0.rc1) builder (~> 3.0.0) erubis (~> 2.7.0) i18n (~> 0.6.0beta1) rack (~> 1.3.0.beta2) rack-cache (~> 1.0.1) rack-mount (~> 0.8.1) rack-test (~> 0.6.0) sprockets (~> 2.0.0.beta.5) tzinfo (~> 0.3.27) - *activemodel* is used for ActiveModel::Naming for a few, mostly optional aspects of ActionPack related to automatically converting an ActiveModel compliant object into a key for params and routing. It uses only two methods of ActiveModel (ActiveModel::Naming.route_key and ActiveModel::Naming.param_key). *I think we should remove this dependency *, as the point of the ActiveModel API refactor in Rails 3 was to allow *any* object to work in AP. Additionally, only a few areas of the code use even the ActiveModel API. - *rack *is not used in ActionView *at all*. - *rack-cache *is not used in ActionView *at all*. - *rack-mount *is not used in ActionView *at all*. - *rack-test *is not used in ActionView *at all*. It is used only in ActionDispatch, and only in test helpers. - *sprockets* is used in ActionView, but only optionally, if asset compilation is desired. - *tzinfo *does not seem to be used at all except in a test The short version is that ActionDispatch and ActionController use a lot of the dependencies, but ActionView does not. I would like to propose that we break out ActionView into its own gem with only a few dependencies, and make ActionPack depend on it. Yehuda Katz Chief Technologist | Strobe (ph) 718.877.1325 -- 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.
