Загрузка частей приложения Rails 3 - PullRequest
5 голосов
/ 04 мая 2011

Я разрабатываю гем для Rails 3, который состоит из двух основных компонентов. Первый - это генератор rails, который добавляет новые файлы / папки в проект rails. Второй - это среда выполнения, которая загружает все вышеупомянутые файлы (некоторые классы ruby, использующие мой DSL), а также часть стека Rails по умолчанию. По сути, это все, что вы ожидаете получить в rails c, без маршрутизации, контроллеров, помощников и представлений. Как правильно загрузить среду Rails, кроме определенных частей?

Sidenote: Я хотел бы увидеть любые хорошие статьи, касающиеся приложений Rails.

Ответы [ 2 ]

1 голос
/ 16 мая 2011

Может быть, вам нужно Rails :: Initializable ?

Вы можете сделать так:

initializer "active_support.initialize_whiny_nils" do |app|
  require 'active_support/whiny_nil' if app.config.whiny_nils
end
1 голос
/ 04 мая 2011

Мне не совсем понятно, что вы имеете в виду, или если это поможет, но это звучит похоже на то, что я делаю в утилите, которую я написал.

Моя утилита загружает среду следующим образом:

#!/usr/bin/env ruby
require File.expand_path('../../config/environment',  __FILE__)

Требование ../../config/boot приведет к загрузке драгоценных камней, определенных в вашем Gemfile. Поэтому, если вам нужна только часть стека Rails, вам потребуется только эта часть стека в вашем Gemfile.

Это дает мне контекст моих рельсов, доступ к моделям и другим ресурсам.

(ДОПОЛНЕНО) Чтобы пропустить части стека рельсов - посмотрите, как это было сделано для замены ActiveRecord: http://www.mongodb.org/display/DOCS/Rails+3+-+Getting+Started

Надеюсь, это поможет.

...