← All posts tagged Ruby

rb
Ruby new_method Появилась необходимость в создании метода Array#to_hash, который из индексного массива делал бы ассоциативный.

["первый", "второй", nil, "третий"].to_hash
#-> {0 => "первый", 1 => "второй", 3 => "третий"}

PS. Встроенной реализации не нашел и потому пришлось делать велосипед.
rb
Ruby Gmail Rails Redmine mailer Мигрировал с Redmine 1.4 на Redmine 2.2 и у меня перестала работать рассылка (самописная в виде плагина). На все попытки отправить сообщение мне выдается ошибка «could not get 3xx (550)». Уже все пальцы стер пытаясь нагуглить причину.

ЗЫ. Использую smtp от Google Apps
rb
Ruby Rails Решил попробовать библиотеку github.com для управления событиями в Календаре от Google.

Запускаю в irb тестовый пример — работает. Делаю тоже самое в консоли Rails и код зависает на Google::Calendar.new. Ни каких ошибок, а просто висит!

Пробовал передавать в Google::Calendar.new не все параметры — нормально обрабатываются ошибки. На валидных данных — зависает. Куда копать?
rb
Ruby ? Rails В модели есть валидация, которая мне уж очень мешает. Удалить ее напрямую не могу, так как пишу плагин-патч. Как вообще можно удалить валидацию из модели?
rb
Ruby job Rails Разместил резюме год назад на superjob и до сих пор приходят предложения поработать. На этот раз AT Comsalting ищет человека на проект Электронный загс. Есть желающие попробоваться?
rb
Ruby Rails scope Уже полчаса не могу составить запрос выборки по дате (выбрать все записи от даты А до даты Б).

"date > :from AND date < :to" выдает какую-то невнятную ошибку PostrgreSQL (PG::Error: ERROR: missing FROM-clause entry for table "due_date >= :from AND due_date <= :to)")

Получается, название таблицы обязательно надо указывать?
rb
Ruby Rails ajax will_paginate Плагин will_paginate не умеет делать ссылки для ajax, даже когда request.xhr? #-> true

У нас возникла дилема: либо отказаться от will_paginate и искать новый, либо патчить will_paginate. Решили идти по второму пути.

Файл config/initializers/will_paginate_patch.rb

WillPaginate::ActionView::LinkRenderer.class_eval do
def link(text, target, attributes)
super(text, target, attributes.merge("data-remote" => @template.request.xhr?))
end
end
rb
Ruby ? Rails active_record Есть четыре таблицы, которые связаны как has_many: 1->2->3->4. Параметр through позволяет добавить только сквозные связи 1->3 и 2->4. А как сделать сквозную связь 1->4? Кто как решает эту проблему?
rb
Ruby Rails hook spree Hook'и в Spree 1.0 признаны устаревшими (depricated), но пока еще поддерживаются. Рекомендуется использовать явный вызов Deface::Override. Оно и к лучшему... у Deface возможностей гораздо больше.
rb
Ruby Rails hook spree По вопросу #1778078 буду сам себе отвечать. Hook'и по прежнему работают. Список hook'ов можно посмотреть, если вызвать Spree::ThemeSupport::HookListener.migratable_hooks

Посмотрел внутрь, а там все тот же старый-добрый Deface. Можете сами посмотреть: github.com
rb
Ruby Rails hook spee Кто знает про hook в Spree 1.0.0? Они вообще работают? И в каком виде? Куда файлики с hook's класть? Где можно полный список hook'ов посмотреть?
rb
Ruby Rails routes spree Проблема описанная в #1769963 решается тем, что роуты надо задавать по особому. В конец файла routes.rb нужно добавить следующий код:

Spree::Core::Engine.routes.append do
# маршрут, который ходите добавить
end

После этого все таинственным образом начинает работать.
rb
Ruby Rails spree У кого есть опыт работы с Spree? Как там правильно роуты добавлять? А то роуты добавляю, а методы вроде _url и _path отсутствуют (хотя сервер на адреса по роутам нормально отвечает). Куда копать?
rb
Ruby mail Rails pop3 Кто как получает письма для ActionMailer? Сейчас предполагаю создать rake-задачку, которая будет вызываться с какой-то периодичностью и будет использовать Net::POP3 из стандартной библиотеки. Моветон?
rb
Ruby lib Zippy — удобная библиотека для работы с zip-архивами.

Zippy.create 'funny.zip' do |zip|
zip['README'] = 'Fun pics 4 u'
Dir['pictures/*.jpg'].each do |filename|
zip[filename] = File.open(filename)
end
end
rb
Ruby ? threads Почему у меня данный код выполняется два раза?

require 'threads'
paths = ["1","2","3"]
count = 0
paths.each{ |path|
count += 1
Thread.fork(path){ |url| sleep rand; p url }.join
}
p count

На выходе я получаю результат, как будто программу два раза запустил.