пятница, 18 января 2013 г.

Делать линки в тексте

Можно делать через gsub, а можно, по-спортивному через auto_link, который выпал в отдельный джем.

Впрочем: моднее подключать gem 'rinku'

четверг, 17 января 2013 г.

о пользе чтения документации

Узнал, что можно делать и такое:

cycle('a1','a2') будет поочередно показывать то a1, то a2 в цикле

excerpt выкусит из большого текста нужный кусок с окружающими словами, что полезно при поиске

highlight поможет выделить кусок в тексте и обрамить его в :highlighter блок

 

word_wrap поможет разбить текст кусками по n символов и вставить \n\n между кусками

You can also supply an alternate image to show on mouseover:

<%= image_tag "home.gif", :onmouseover => "menu/home_highlight.gif" %>

понедельник, 14 января 2013 г.

Ну я как знал, что наступит западло

Только собрался засекьюрить Rails XML hole путем обновления версии, как пошло и поехало.

Короче, тронул версию, тут проснулся Paperclip и стал требовать новую версию, а она уже под 1.8.7 не собирается.

Тьфу, пришлось на старых рельсах затыкать дыры путем 

 

ActionController::Base.param_parsers.delete(Mime::XML)

вторник, 8 января 2013 г.

jQuery + coffeescript

Из документации:

As a shortcut for this.property, you can use @property.

так что можно писать и так:

@find('a').after('test')

вместо

$(this).find('a').after('test')

среда, 2 января 2013 г.

Перешел тут на тестирование RSpec + Guard + Zeus

Оно несколько медленнее, чем spork, но безглючнее, поскольку позволяет обходиться и вовсе без zeus и запускать напрямую через cucumber . и rspec spec/
 
так вот, полезно иногда выключать полный процессинг:
 
 
guard 'rspec',:cli => "--drb", all_on_start: false, all_after_pass: false do
  watch(%r{^spec/.+_spec\.rb$})
  watch(%r{^lib/(.+)\.rb$})     { |m| "spec/lib/#{m[1]}_spec.rb" }
  watch('spec/spec_helper.rb')  { "spec" }
end
 

суббота, 29 декабря 2012 г.

Deploy Capistrano + Mailman + RVM + Monit (for FreeBSD) - ВЫСТРАДАНО

you should use gem 'capistrano/rvm'

 

met be set(:rvm_ruby_string){ '1.9.3@mygemset' } somewhere

and here is recipe for capistrano

namespace :mailman do
desc "Mailman::Start"
task :start, :roles => [:app] do
run "cd #{current_path}; RAILS_ENV=production script/mailman_daemon start"
end

desc "Mailman::Stop"
task :stop, :roles => [:app] do
run "cd #{current_path}; RAILS_ENV=production script/mailman_daemon stop"
end
desc "Mailman::Status"
task :status, :roles => [:app] do
run "cd #{current_path}; RAILS_ENV=production script/mailman_daemon status"
end

desc "Mailman::Restart"
task :restart, :roles => [:app] do
mailman.stop
mailman.start
end
end
before :deploy, "mailman:stop"
after :deploy, "mailman:start"

in order to run monit you should use this config for user and group nexus

check process mailman_server with pidfile /www/itservice/current/script/mailman_server.pid
start program = "/usr/local/rvm/bin/rvm-shell '1.9.3@mygemset' -c 'cd /www/itservice/current/; RAILS_ENV=production /www/itservice/current/script/mailman_daemon start'"
as uid nexus and gid nexus
stop program = "/usr/local/rvm/bin/rvm-shell '1.9.3@mygemset' -c 'cd /www/itservice/current/; RAILS_ENV=production /www/itservice/current/script/mailman_daemon stop'"
as uid nexus and gid nexus
~

И что бы дополнить сагу тестировщика Rspec, отличная презентация

По факту – коротенький how to, как раз как я люблю http://kerryb.github.com/iprug-rspec-presentation/