Под катом несколько примеров того как можно отрефакторить код, сделать его более элегантным и расширяемым. Все представлено в примерах, написанных на Ruby.

Читать полностью »
Рубрика «ruby» - 48
Занимательное функциональное программирование в Ruby
2012-07-19 в 8:32, admin, рубрики: ruby, лямбда выражения, ненормальное программирование, функциональное программирование 
Эта статья посвящена бесцельному путешествию по вырожденной форме Ruby в попытках узнать больше о функциональном программировании, простоте и дизайне программных интерфейсов.
Предположим, что единственный способ представления кода — лямбда-выражение, а единственная доступная структура данных — массив:
square = ->(x) { x * x }
square.(4) # => 16
person = ["Dave",:male]
print_person = ->((name,gender)) {
puts "#{name} is a #{gender}"
}
print_person.(person)
Это самые основы функционального программирования: функции — единственное, что у нас есть. Давайте попробуем написать что-то более похожее на реальный код в таком же стиле. Посмотрим, как далеко мы сможем зайти без особых мучений.
Читать полностью »
Релиз RubyMine 4.5
2012-07-17 в 15:22, admin, рубрики: jetbrains, ruby, ruby on rails, rubymine, Блог компании JetBrains, метки: jetbrains, ruby, ruby on rails, rubymine
Компания JetBrains рада сообщить о выходе RubyMine 4.5 — новой версии интеллектуальной интегрированной среды разработки для Ruby on Rails, которую можно загрузить с нашего сайта
Мы искренне верим, что для создания хорошего продукта в первую очередь необходимо прислушиваться к сообществу разработчиков. В этой версии RubyMine мы постарались реализовать как можно больше нового функционала с учетом оставленных вами комментариев и отданных голосов.
Читать полностью »
Интеграция Robokassa в ActiveMerchant
2012-07-09 в 14:48, admin, рубрики: active_merchant, robokassa, ruby, ruby on railsПрим. переводчика — пост про интеграцию Robokassa и Rails уже был, но способ, предоставленый там, полагаю, многих не устроит.
Когда у вас есть приложение, написанное на Ruby on Rails и вы планируете добавить какую-нибудь платежную систему (например PayPal, Moneybookers или Robokassa, как в нашем случае), то первый гем о котором вы должны подумать — это active_merchant от Shopify.
ActiveMerchant — простая абстрактная платежная библиотека используемая и спонсируемая компанией Shopify.
Поэтому когда мне понадобилось добавить платежи через Robokassa в наш проект, я открыл список поддержеваемых платежных систем и был немного разачарован, потому что Robokassa туда не входила. Чуть позже я нашел форк, который добавлял её поддержку, но он уже устарел, поэтому некоторые тесты падали ec801d3d4f8. Таким образом я решил глянуть на этот код и исправить его, а не писать всё с чистого листа.
Читать полностью »
Немного Rails трюков
2012-07-05 в 8:05, admin, рубрики: ruby, ruby on rails, tricks, метки: ruby, ruby on rails, tricks 
Хочу поделиться в вами несколькими трюками, которые помогут сделать работу с Ruby on Rails лучше, быстрее, а также позволят вам много зарабатывать и более лучше одеваться.
Читать полностью »
Стипендия на Brainwashing Ruby on Rails и шанс работать на берегу океана
2012-07-02 в 9:07, admin, рубрики: aviasales, brainwashing, evil martians, ruby, ruby on rails, Блог компании «Evil Martians», метки: aviasales, brainwashing, evil martians, ruby, ruby on railsНе все работодатели инвестируют в кадры, а найти деньги на хорошие учебные курсы самостоятельно под силу не каждому разработчику. Решение есть — грант на Brainwashing Rails от проекта Aviasales. Отправьте анкету и станьте одним из 5 стипендиатов, а после курса пройдите собеседование в Aviasales и улетайте работать в Тайланд. И попрощайтесь с недальновидным работодателем.
Ruby NoName Podcast S04E12
2012-07-02 в 4:24, admin, рубрики: rails, rest, rspec, ruby, подкасты, метки: rails, rest, rspecПодкаст
http://ruby.rpod.ru/278465.html
Новости
- Бесплатные рускоязычные скринкасты по Ruby
- Новые свежие рельсы 3.2.6,
3.1.6 и
3.0.14 - Новый инструмент для быстрого деплоя — mina
- Вышел gem RubyMass, который позволяет смотреть, какие объекты есть в текущем процессе
Evan Phoenix о RubyMass - Grocer и urbanairship
- Evented Ruby vs Node.js
- Techniques to Secure Your Website with Ruby On Rails:
part1 and
part2 - RSpec's New Expectation Syntax
- Вышла web-книжка Стива Клабника по конструированию Hypermedia (formerly AKA REST) APIs.
- Близится выход 2.0.0 гема Couchrest::Model. Сейчас в «репе» проекта на GitHub'е доступна
вполне рабочая бета.
CoffeeScript: Классы
2012-06-25 в 6:31, admin, рубрики: coffeescript, ECMAScript, javascript, ruby, web-разработка, Веб-разработка, классы, объекты, ооп, руководство, метки: coffeescript, ECMAScript, javascript, ruby, web-разработка, классы, объекты, ооп, руководство 
В ECMAScript пока отсутствует понятие «класс», в классическом понимании этого термина, однако, в CoffeeScript такое понятие есть, поэтому сегодня мы рассмотрим этот вопрос.
Содержание:
1. Основные понятия
2. Члены класса
2.1. Метод constructor
2.2. Открытые члены класса
2.3. Закрытые члены класса
2.4. Защищенные члены класса
2.5. Статические члены класса
3. Наследование
4. Дополнительная литература
CoffeeScript: Методы для работы с объектами
2012-06-25 в 6:30, admin, рубрики: coffeescript, ECMAScript, javascript, ruby, web-разработка, Веб-разработка, классы, объекты, ооп, руководство, метки: coffeescript, ECMAScript, javascript, ruby, web-разработка, классы, объекты, ооп, руководство 
В 5-й редакции ECMAScript для работы с объектами появилось много новых методов, однако их подробное описание и внутреннюю реализацию на русском языке (зачастую и на английском) найти не так просто. Именно по этой причине в этой статье будут подробно рассмотрены и описаны все методы объекта Object согласно 3-й и 5-й редакции ECMAScript спецификации.
Содержание
1. Object.create(proto [, properties ])
2. Object.defineProperty(object, property, descriptor)
3. Object.defineProperties(object, properties)
4. Object.getOwnPropertyDescriptor(object, properties)
5. Object.keys(object)
6. Object.getOwnPropertyNames(object)
7. Data descriptor
8. Accessor descriptor
9. Object.getPrototypeOf(object)
10. Object.preventExtensions(object)
11. Object.isExtensible(object)
12. Object.seal(object)
13. Object.isSealed(object)
14. Object.freeze(object)
15. Object.deepFreeze(object) (non-standard)
16. Object.prototype.hasOwnProperty(property)
17. Object.prototype.isPrototypeOf(object)
18. Object.prototype.propertyIsEnumerable(object)
19. Заключение
Читать полностью »
Сливки IT R&D (выпуск 13) — Рубиновый коктейль вкуса Казбеги
2012-06-25 в 6:21, admin, рубрики: ebay, Face.com, Facebook, Kickstarter, microsoft, nokia, ruby, Yammer, беларусь, венчурное финансирование, долгов, подкасты, сколково, метки: ebay, Face.com, Facebook, Kickstarter, microsoft, nokia, ruby, Yammer, беларусь, венчурное финансирование, долгов, сколково Тринадцатый выпуск подкаста — Сливки IT R&D.
Вечерний разговор о RubyOpenAir, венчурном финансировании, Нокии, Яндексе и другом, что зацепило авторов подкаста на прошлой неделе.

