← All posts tagged Ruby

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

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

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

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

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

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

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

Получается, название таблицы обязательно надо указывать?
rb
Rails ajax will_paginate Ruby Плагин 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
Rails active_record Ruby ? Есть четыре таблицы, которые связаны как has_many: 1->2->3->4. Параметр through позволяет добавить только сквозные связи 1->3 и 2->4. А как сделать сквозную связь 1->4? Кто как решает эту проблему?
rb
Rails hook spree Ruby Hook'и в Spree 1.0 признаны устаревшими (depricated), но пока еще поддерживаются. Рекомендуется использовать явный вызов Deface::Override. Оно и к лучшему... у Deface возможностей гораздо больше.
rb
Rails hook spree Ruby По вопросу #1778078 буду сам себе отвечать. Hook'и по прежнему работают. Список hook'ов можно посмотреть, если вызвать Spree::ThemeSupport::HookListener.migratable_hooks

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

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

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

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

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