Программирование на Ruby - Новости

Альфа версия программы DevConf::Ruby

В рамках DevConf 2013, 14 июня 2013, пройдут 5 конференций по разным языкам программирования включая DevConf::Ruby.

Формат конференции DevConf предусматривает первый конференционный день и второй день мастер-классов. Второй день является опциональным и требует отдельной регистрации.

Конференция нацелена на профессиональных веб-разработчиков и тех, кто мечтает ими стать. Она объединяет все самые распространенные языки, при этом каждому выделен свой поток (зал).

Программа выступлений в секции Ruby:

  • Егор Хомяков (специалист по Rails безопасности) c докладом “Безопасный сайт на примере Rails”
  • Николай Рыжиков (Team lead of "MedClient") с докладом “Domain Driven Design on Rails”
  • Андрей Суббота (Ruby developer в Undev.ru) с докладом “Основы отладки Rails приложений”
  • Александр Балашов (Team lead в Evrone.com) с докладом “Быстрое тестирование Ruby on Rails”
  • Игорь Кузнецов (Ruby developer в Undev.ru) с докладом “Проектирование API”
  • Анатолий Макаревич (Ведущий разработчик в Evrone.com) с докладом “Рефакторинг Ruby кода”
  • Игорь Александров (Руководитель в JetRockets) с докладом “Биллинг в SaaS-системах на Rails”
  • Кирилл Мокевнин, (Team lead в Undev.ru) c докладом “Архитектурные практики”
  • Никита Шильников (Руководитель отдела разработки компании Latera) с докладом “Они сошлись — Ruby и Oracle”
  • Николай Шебанов (Ведущий разработчик в Evrone.com) с докладом “Спасение утопающих - покрываем тестами взрослый Ruby on Rails проект”

Официальный сайт - http://devconf.ru

Источник: rubyflow.ru

Attrio 0.3

Сегодня мы (http://www.jetrockets.ru/) выпустили Attrio 0.3. В релизе убраны почти все core ext расширения (после достаточно длинной дискуссии), улучшены спеки, добавлена пропущенная документация.

Для тех, кто ещё не знает, Attrio – библиотека для добавления типизированных атрибутов к объектам Ruby. Подробнее об особенностях и возможностях Attrio можно прочесть в моём блоге:

Страница Attrio на GitHub:

Спасибо.

Источник: rubyflow.ru

Protector

Protector – расширение ORM (ActiveRecord, Sequel, ...) для управления безопасностью на уровне полей.

Ссылки:

Источник: rubyflow.ru

Octokit.rb

Octokit.rb - "обертка" для GitHub API. Теперь с официальной поддержкой со стороны GitHub, но по-прежнему открытая для сообщества разработчиков.

Ссылки:

Источник: rubyflow.ru

RuboCop 0.8.0

RuboCop - это анализатор стиля вашего кода, использующий в качестве эталона The Ruby Style Guide.

Стиль написания кода важная штука. Особенно, если вы работаете в команде.

RuboCop автоматизирует процесс проверки.

В версии 0.8.0 код библиотеки был практически полностью переписан. Ripper, входящий в состав MRI, был заменен на Parser. Это позволило добавить поддержку JRuby и Rubinius.

Ссылки:

Источник: rubyflow.ru

Релиз TheRole 2.0 . Ролевая система для Rails 4 с админкой

TheRole - семантичная, гибкая и легковесная ролевая система для Rails 4. Права доступа хранятся в БД в виде JSON строки, что позволяет легко и просто управлять ролевыми политиками на лету.

Структура ролевых политик (ACL) повторяет устройство Rails контроллеров (controller/action), что делает данную ролевую систему понятной конечному пользователю.

Узнать больше о TheRole

Источник: rubyflow.ru

Введение в Ruby 2.0

Знаменитый Мэтт Аимонетти (Matt Aimonetti) на очередной встрече San Diego's Ruby Community выступил с докладом "Intro to Ruby 2.0".

Ссылки:

P.S. Рекомендую подписаться на SD Ruby Podcast, потому что там очень много интересных выступлений.

Источник: rubyflow.ru

Новые релизы Ruby

В один день вышло сразу несколько резилов - Ruby 2.0.0-p195, Ruby 2.0.0-p426 и Ruby 2.0.0-p429.

Лучше всего использовать последний релиз - Ruby 2.0.0-p429, котором исправлена уязвимость в безопасности CVE-2013-2065, устранено много багов и улучшена документация.

Вскоре по этого вышел JRuby 1.7.4, принося с собой большое число исправлений и улучшений.

Источник: rubyflow.ru

Yandex.Webmaster API wrapper

Всем привет.

Вчера наконец-то доделал первоначальный функционал для своего джема. Все подробности и документацию можно посмотреть вот тут:

https://github.com/igor-alexandrov/yandex-webmaster

Также написал пост в свой блог по этому поводу (в конце поста есть бонус, который будет интересен не только тем, кто использует Вебмастер):

http://igor-alexandrov.github.io/blog/2013/05/13/yandex-webmaster-gem-and-something-more/

Жду отзывов и пожеланий.

Источник: rubyflow.ru

Rails 4.0.0rc1

Всем привет, Христос воскрес!
Несколько дней назад вышел Rails версии 4.0.0 RC1. Что-то в русскоязычном сообществе я пока не видел новости об этом, решил порадовать тех, кто еще не в курсе.

Приятная цитата из новости:

# We expect that the final version could drop
# in as little as 3-4 weeks.

Всех с пасхой!

Источник: rubyflow.ru

Парсинг CSV используя заголовок

Небольшая заметка о том как можно пропарсить CSV, используя заголовок - http://railsguides.net/2013/04/29/parse-csv-with-column-names

Источник: rubyflow.ru

RDot — диаграммы классов

Хочу представить вашему вниманю небольшую программку, формирующую .dot-файл (это формат данных, используемый пакетом GraphViz), показывающий связи между классами и модулями Ruby.

Показываются:

  • наследование,
  • включение модулей (include),
  • расширение (extend),
  • вложенность пространства имен.

В «узлах» графа отображается не только название, но и информация о содержимом — константы, атрибуты и методы. Всё это настраивается параметрами командной строки (или в конфигурационном файле) — что показывать, что скрывать, и какими цветами рисовать.

Ключевой момент — RDot не парсит исходные файлы, а загружает как есть и потом анализирует, что позволяет отобразить динамически созданные классы и связи между ними.

Небольшой пример:

alt text

Источник: rubyflow.ru

Petrovich - гем для склонения падежей русских имён, фамилий и отчеств

Раз уж пошла такая пьянка (смотрите предыдущий пост на rubyflow), то мы решили представить и свою, похожую разработку - гем petrovich.

Пример использования:

# Указание пола снижает количество отказов
p = Petrovich.new(:male)
p.lastname('Иванов', :dative)      # => Иванову
p.firstname('Пётр', :dative)       # => Петру
p.middlename('Сергеевич', :dative) # => Сергеевичу

Так же можно подмешать специальный миксин в любой класс, который создаст методы для склонения по падежам, на основе существующих методов. Эти методы вы указываете при помощи простого DSL. Выглядит это так:

class User < ActiveRecord::Base
  include Petrovich::Extension

  petrovich :firstname  => :my_firstname,
            :middlename => :my_middlename,
            :lastname   => :my_lastname,
            :gender     => :my_gender

  def my_firstname
    'Пётр'
  end

  def my_middlename
    'Петрович'
  end

  def my_lastname
    'Петренко'
  end

  # Если пол не был указан, используется автоматическое определение
  # пола на основе отчества. Если отчество также не было указано,
  # пытаемся определить правильное склонение на основе файла правил.
  def my_gender
    :male # :male, :female или :both
  end
end

А используется следующим образом:

# Получаем имя в дательном падеже
user = User.new
user.my_firstname         # => Пётр

user.my_firstname_dative  # => Петру
user.my_middlename_dative # => Петровичу
user.my_lastname_dative   # => Петренко

Надеемся, petrovich вам пригодится.

Источник: rubyflow.ru

MaleOrFemale — «определялка» пола для русских имён

Если вам необходимо «ненавязчиво» определить пол пользователя и вы знаете его имя, можно воспользоваться гемом MaleOrFemale, который умеет определять пол и форму по имени (официальная или неофициальная форма).

alt text

На данный момент гем содержит обширную базу «полных» имён и небольшую базу коротких (неформальных) версий.

Демнострация работы гема: http://typograf.herokuapp.com/gender

Источник: rubyflow.ru

Cancan и DRY решение для контроллеров

Статья о том, как можно с помощью cancan очистить ваши контроллера от кода и сократить вероятность изменения кода в них - http://railsguides.net/2013/04/18/accessible-resources-list/

Источник: rubyflow.ru

Простой способ подключить Bootstrap-wysiwyg. Gem bootstrap-wysiwyg-rails

Сегодня появилась новость о новом мини-визивиг редакторе на основе Twitter-Bootstrap. Конечнно же rails сообщество предпочитает подключать библиотеки более удобным способ. Итак встречайте bootstrap-wysiwyg-rails
Пока просто подключение библиотеки без тулбара и хоткеев.

Источник: rubyflow.ru

Вход для пользователей