Интересное событие

Toaster620x90

.тостер {ruby} — это техническая конференция. Главная цель — дать профессионалам возможность поделиться своими знаниями.

  • 10 февраля 2012, Москва, Digital October.
  • Сайт: toster.ru
  • Твиттер: @toster_ru

Скидка 10% при покупке билета, если используете код rubyflow

Ruby on Rails Google+ Vlad Shvedov

Новости фреймворка, технологий связанных с Ruby on Rails и обзор гемов на странице I18n.locale = :ru

Пять "скрытых" возможностей Rails 3.2Alex Soulim
  • "умный" content_tag_for,
  • "умный" генератор миграций,
  • гибкая обработка исключений,
  • возможность управлять путями поиска паршалов,
  • возвращение сообщений в логе о сработавших фильтрах.

Это были пять возможностей по версии Жозе Валима (José Valim), автора книги "Crafting Rails Applications".

Читайте о деталях эти возможностей в статье "My five favorite “hidden” features in Rails 3.2". Кстати, рекомендую также смотреть комментарии к этой статье.

Комментарии
Timur Valeev

Не Жозе а Хосе

Rails 3.2.1Alex Soulim

Релиз устраняет регрессию и исправляет ошибки в документации. Детали..

Вышел Rails 3.2.0 Alex Soulim

Тройное "Ура"! :) Новая версия Rails вышла 20 января.

Новое:

  • значительно ускорилась работа в development-режиме,
  • быстрее разбирается путь (route), благодаря новой Journey engine,
  • возможность просмотреть план запроса, созданного ARel,
  • возможность отмечать тегами записи лога,
  • Active Record Store.

Читайте официальный пресс-релиз "Rails 3.2.0: Faster dev mode & routing, explain queries, tagged logger, store".

Рекомендации по обновлению до Rails 3.2.0 можно найти в "Ruby on Rails 3.2 Release Notes"

T For TranslateEgor Homakov

Немного сахара для I18n трансляций. Позволяет использовать T.key1.key2 вместо t('key1.key2') что, я полагаю, выглядит намного наглядней. Плюс кое какие фишки по типу логики - читайте README на гитхабе. https://github.com/homakov/T-For-Translate Это лишь прототип, ваши мнения?

cucumber-notify gemПавел Аргентов

Говорят, на Клондайке больше всех зарабатывали продавцы лопат, тазов и сит. Я подумал, и решил при здешней рубиновой жиле поделиться если не лопатами, то хотя бы отвертками собственного изготовления.

Сегодняшний нанотул -- гемчик для показывания посредством libnotify аутотест-нотификаций от Cucumber-а: cucumber-notify. Гем собран из исходников библиотечки от Matt Buck. Я долгое время пользовался исходным вариантом, пока мне не надоело всякий раз прикручивать биб-ку руками, и тогда я собрал гем.

Инструкции:

  1. Ставим изделие:

     $ gem install cucumber-notify
    
  2. испрашиваем его в своем .autotest:

     require 'rubygems'
     require 'cucumber-notify'
    
  3. Гоняем тесты и любуемся мордашкой.

Пока все, прошу любить и жаловаться!

Комментарии
Павел Аргентов

NB: gem renamed

Ввиду того, что Matt Buck великодушно передал мне весь проектик целиком, я переименовал гем. Теперь рабочий гем называется "autotest-cucumber-notification", соответственно и require следует писать. Старый гем переделан в мета-гем, делегирующий весь функционал новому.

Bundler: идея условий в GemfileAlex Soulim

Интересная статья в блоге команды Phusion, разработчиков Phusion Passenger. Рассуждения об идее добавления условий в Gemfile.

Как иллюстрация идеи:

condition :driver => 'sqlite' do
  gem 'sqlite3'
end

condition :driver => 'mysql' do
  gem 'mysql'
end

condition :driver => 'postgresql' do
  gem 'pg'
end

condition :driver => ['mysql', 'sqlite'] do
  gem 'foobar'
end

А дальше установить драйвер, например, MySQL можно так:

bundle install --condition driver=mysql

Больше деталей в статье Bundler and public applications.

Кстати, высказать свое мнение и/или поддержать идею можно в комментариях к соответствующему тикету - github.com/carlhuda/bundler/issues/1636

Скидка при покупке билета на .тостер {ruby}Alex Soulim

Компания “Тематические Медиа” делает специальное предложение для читателей и авторов RubyFlow.ru и RubyJobs.ru.

При покупке билета на техническую конференцию .тостер {ruby}, вы получите скидку в 10%, если используете промо-код - rubyflow

Поделитесь кодом с друзьями :) Встретимся на конференции!

Официальный пресс-релиз технической конференции .тостер {ruby}Alex Soulim

10 февраля 2012 года компания “Тематические Медиа” проведет очередную конференцию .тостер, первую в 2012 году, посвященную программированию на языке Ruby и использованию фреймворка Ruby on Rails.

Среди выступающих на конференции ведущие Ruby и Ruby on Rails специалисты из США, Южной Америки, Европы и России, занимающиеся непосредственной разработкой ПО и созданием высоконагруженных приложений и сервисов.

Перед участниками конференции выступят: CIO GitHub Скотт Шакон, со-основатель Codeminers42 и евангелист Ruby в Бразилии Фабио Акита, Грегг Поллак из EnvyLabs, известный своими подкастами и скринкастами, ведущий разработчик Travis CI Джош Калдеримис, автор Sinatra и евангелист Heroku Блейк Мизерани, а так же Джонатан Лейтон, независимый разработчик и член Rails Core Team. Кроме них в программе и два русских докладчика: Тимофей Клименко из компании Hot Spot и Иван Евтухович из Evil Martians.

В течение всего дня приглашенные гости конференции будут рассказывать о тонкостях программирования на языке Ruby, малоизвестных особенностях и практиках применения Ruby on Rails, использованию сторонних продуктов и платформ для быстрого и эффективного создания программных продуктов.

Контакты: toster@thematicmedia.ru +7 (495) 628-27-04

Представлен Saint, инструмент для гипер-быстрого развёртывания полноценных бэкенд интерфейсовSilviu Rusu

Основная цель Saint - максимально упростить управление контентом определённых табиц БД.

Saint позволяет создавать любые HTML поля на чистом Ruby, поддерживает любые типы ассоцирования таблиц, комплексные фильтры, встроенный FileManager и другие "вкусности".

Вот например какой интерфейс можно построить ценной всего в 100(сто) строк кода: Демо на официальном сайте

А тут краткий вводный туториал

Ниже приведён пример развёртывания админ интерфейса "в два клика".

Для этого понадобится Ruby 1.9.2 (или выше) и коннект к любому SQL серверу из списка поддерживаемых DataMapper-ом (MySQL, Sqlite, Postgresql etc).

Для начала устанавливаем Saint:

$ sudo gem install saint

Потом создаём модель(на данный момент Saint поддерживает только DataMapper ORM):

class PageModel
    include DataMapper::Resource
    property :id, Serial
    property :name, String
end

Дальше, создаём интерфейс:

class Page
    include Saint::Api
    http.map :pages
    saint.model PageModel
    saint.column :name
end

Теперь надо лишь запустить приложение. Стоит отметить что Saint построен на основе Presto фраймворк, так что создаём приложение, монтируем в неё Saint интерфейс и запускаем:

app = Presto::App.new
app.mount Page
app.run

Данный интерфейс является демонстративно тривиальным, и позволят лишь создавать / редактировать / удалять объекты лишь одной таблицы БД.

Но добавлять новые таблицы довольно просто и легко, так что можно довольно быстро построить интерфейс определённой сложности.

Благодарю за внимание.