Как я могу установить среду направляющих для своего несколько одинокого сценария Ruby?

Я обнаружил, что Math.NET имеет функцию для этого:

SymbolicExpression.Parse("a*(b+c)").Expand();

8
задан Nick Messick 9 February 2009 в 20:10
поделиться

6 ответов

Если бы Вы собираетесь быть использованием среды направляющих, Ваш лучший выбор состоял бы в том, чтобы сделать это сценарием граблей. Чтобы сделать это, поместите twitter.rake файл в lib/задачи и начните и закончите его как это:

task(:twitter_load => :environment) do
  # your code goes here
end

Тем путем Вы делаете его "в соответствии с конвенциями", и это не имеет, это 'orrible пахнет связанным с ним.

23
ответ дан 5 December 2019 в 04:46
поделиться

Не забывайте сценарий/бегуна.

Установите свою переменную среды из командной строки и

ruby script/runner your_script_here.rb
5
ответ дан 5 December 2019 в 04:46
поделиться

Я в настоящее время использую следующий метод, и я знаю, что среда не имеет rb расширения, это не нужно. Можно также установить его прежде, чем выполнить его для перезаписи ENV["RAILS_ENV"].

#!/usr/bin/env ruby

# Set your environment here.
ENV["RAILS_ENV"] ||= "production"

require File.dirname(__FILE__) + "/../../config/environment"

puts "Rails was loaded!"

Затем для изменения среды просто выполните его с:

rb /lib/tasks/file.rb RAILS_ENV=development
10
ответ дан 5 December 2019 в 04:46
поделиться

добавьте строку: RAILS_ENV = '<your environment of choice>'

http://wiki.rubyonrails.org/rails/pages/Environments#script

pantulis: здорово, что это работает, но для недоброкачественной продукции я просто использую RAILS_ENV = '<your environment of choice>' ruby path/to/script.rb. Это - то, как Вы устанавливаете переменные среды в консоли.

0
ответ дан 5 December 2019 в 04:46
поделиться

Можно также сделать

разработка сценария/консоли <path/to/your/script.rb

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

И не забывайте, что, возможно, самый изящный способ расширить Ваше приложение с помощью сценариев, которые делают полезные вещи, пишет задачи Граблей!

1
ответ дан 5 December 2019 в 04:46
поделиться

Принятый ответ на использование rake хорошо принят, но вы все равно можете вручную настроить среду для тестирования служебных классов.

Вот что я использую для настройки тестовой среды для служебных классов в / lib . Для них я обычно использую соглашение Ruby, согласно которому мой файл класса выполняет свои тесты, когда он запускается из командной строки. Таким образом, я могу выполнять TDD вне веб-ориентированных тестовых программ Rails, но все же использовать класс внутри rake , не влияя на среду, которую он устанавливает.

Это идет вверху:

if (__FILE__ == $0)
  ENV['RAILS_ENV'] ||= 'test'
  require File.join(File.dirname(__FILE__),'../config/environment.rb')
end

и внизу:

if (__FILE__ == $0)
  require 'test/unit/ui/console/testrunner'
  Test::Unit::UI::Console::TestRunner.run(MyClassTest)
end
2
ответ дан 5 December 2019 в 04:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: