← All posts tagged Rails

yuroker
Rails strong_parameters Ruby Товарищи, чисто из любопытства, а кто что делает с ActionController::ParameterMissing: param not found: mazafaka? Отлавливаете в контроллере? Глобально? Или просто устраивает 400-й HTTP status ActionDispatcher-a?
yuroker
Rails routes Ruby Ответ на вопрос: выносить роуты в отдельный файл удобства и красоты ради или не выносить, ппц как прост и напрашивается самостоятельно, когда у тебя там же объявлены все роуты апишечки, которая почти полностью дублирует контроллеры и экшины приложения.
yuroker
Rails Киев Украина job Ruby Алло, мы ищем таланты!

Ты сильный, добрый, мужественный — не боишься нестандартных задач и уверенно владеешь Ruby и Rails.
Ты нужен мне, о великий Senior Ruby developer.

Под твоим строгим взглядом юнит тесты вечнозеленые и летают, как после литра Red Bull-а.
Ты испытываешь непреодолимое желание создавать что-то великое и готов многое объяснить DHH и Биллу Гейтсу, коллегам по цеху, а если надо — даже руководству, потому что ты — ЛУЧШИЙ из лучших!

Ты занимаешься этим больше двух лет, и готов продолжать, достигая раз за разом новых вершин.

Ну и конечно же ты:

— Отлично знаешь Ruby, а не только Rails.
— Властно подчиняешь под себя MySQL/NoSQL. А знание MongoDB, CouchDB или Redis — будет хорошим плюсом.
— Уверенно владеешь HTML, HAML, CSS, SASS
— JavaScript и jQuery для тебя не вопрос, А так же тебе крайне интересен Backbone.js или что-то в этом духе.
— Будешь радоваться работе с нами по BDD. Написание тестов для тебя не обряд, а стиль работы. И для тебя не проблема это делать на Cucumber и RSpec. Ну и естественно ты знаешь что такое FactoryGirl, Capybara, Spork и т.п.
— Ты положительно относишься к рецензированию кода остальных членов команды.
— Умеешь администрировать и воспитывать пингвинов и общаешься с командной строкой на "эй ты".
— Git для тебя родная среда обитания.
— Можешь продолжать этот список пока не устанешь.
— А еще, в случе необходимости, ты можешь смело сказать в глаза — "Ребята, ... это детство. Нормальные мужики юзают ... Потому что ...."

Я готова предложить тебе работу твоей мечты. Уютный офис с зоной отдыха, безумную и отчаянную команду легендарных ребят, теплый чай, натуральный кофе и обеды, горячие сердца и отличную ЗП (от $2.000 до $4.000). Но самое главное — я зажгу в тебе идею — идею проекта, который, вне всякого сомнения, захватит и преобразит этот мир.

Я живу в 5 минутах от метро. И гарантирую тебе неописуемое удовольствие... От возможности творить великое вместе с лучшими умами СНГ!

Я жду!
Твоя...

любимая работа.
yuroker
Rails пичаль Ruby пичальные новости господа. Сделал профайлинг долгоиграющего rake таска, основные действия которого интерполяция и прочие вычисления — две наиболее затратные операции (около 25% общего времени каждая) это сериализация хеша и rails magic methods ;(
yuroker
Rails JRuby Ruby Жуйк, а как у jRuby c рельсами?
Мне нужно организовать многопоточность в рельс-приложении (т.е. задействовать 7 незадействованых ядер), у MRI с этим, как я понял, плохо
jRuby только что показал, что он это делать умеет. А как у него с рельсами?
yuroker
Rails note всеитакзнают Ruby не забываем, что rake это рубишная утилита, а не рельсовая.
Работает rake по Rakefile в текущей директории, либо по Rakefile в ближайшей директории уровнем выше (т.е. .. ../.. ../../..)
Доки по этому так и не нашел :(,
зато нашел сырцы :) пруф: github.com
yuroker
Rails dev pry Ruby autotest похоже от разработки с виртуальной машиной в качестве сервера (с разшареной папкой исходников) придется расстаться :(, на то есть две причины:
1) начинаю юзать новомодную консоль pry — нет возможности вызвать визуальный редактор на основной машине для правки исходников (хотя посмотрим, если функция окажется невостребованной — перейду назад, буду vim-ом пользоваться, виртуалка-то на линухе)
2) autotest без интеграции в систему оповещания ОС(попапы такие красивые чтобы показывала) — абсолютно бесполезен, так как на прогрнку тестов уходит время, не в консоль же, которая открыта в соседнем воркспейсе пялиться после каждого изменения исходников.
yuroker
Rails note Rspec test Очень полезной штукой оказались custom messages for expectations.
Очень часто приходится проверять равенство сразу нескольких полей сразу, как-то так:

[:length, :width, :weight].each{|attr| val1[attr].should == val2[attr] }

то при ошибке в консоле вы увидите что-то вроде:
Failure/Error: [:length, :width, :weight].each{|attr| val1[attr].should == val2[attr] }
expected: 1.0
got: 1.9 (using ==)

то есть нипанятна вообще ничего, какое поле не совпало — хз (диагноз хоть и ясен, но детали неизвестны)

Но можно сделать и красиво, вот так:
[:length, :width, :weight].each{|attr| val1[attr].should eq(val2[attr]), "#{attr} attribute is incorrect #{val1[attr]} != #{val2[attr]}"

тогда консоль нам выдаст красивый, понятный текст вроде:
Failure/Error: [:length, :width, :weight].each{|attr| val1[attr].should eq(val2[attr]), "#{attr} attribute is incorrect #{val1[attr]} != #{val2[attr]}"
width attribute is incorrect 1.5 != 1.2

зы. заодно стало ясно зачем нам == и eq() :)
yuroker
Rails Rspec test А вот забавно, почему rspec неполные блоки типа
it "should do something…"
автоматически определяет как pending,
а вот неполные блоки(без объявления тела блока) типа:
describe "user authentication"
context "nothing to do…"
просто полностью игнорятся?
То есть нужно ручками писать:
describe "user authentication" do
pending
end

Я то понимаю, что предложения на выходе некрасивые и незаконченные получаются, но забыть что-то нужное покрыть кодом все-таки поважнее некрасивого предложения будет.
yuroker
Rails singleton patterns И все же объявлять класс синглтоном или нет решает не вопрос "нужно ли мне будет два объекта этого класса?", а вопрос "нужно ли мне не больше одного объекта данного класса?"
yuroker
Rails RoR PHP Ruby Ruby on Rails — не для слабаков, имея всего две недели опыта на нем, уже приходится править чужие плагины, при этом автор того самого плагина (TOG) ещё и спасибо говорит.
По сравнению с PHP сказывается существенная разница в наличии куда более гибкой системы плагинов и задействования чужого кода, ну и приятна, сама по себе, тесная работа с непосредственными разработчиками частей фреймворка.