Как стать автором
Поиск
Написать публикацию
Обновить
1.47

Ruby *

Динамический высокоуровневый язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Операторы '&&' и 'and' в Ruby

Время на прочтение1 мин
Количество просмотров24K
На одном собеседовании меня спросили: «когда ты пишешь на Ruby, ты пользуешься оператором 'and' или двумя символами амперсанда '&&' для обозначения логического 'И' ?». На самом деле, я по старой привычке всегда ставил два символа амперсанда '&&' и никогда не задумывался об этом. Так и ответил, мне сказали «Хорошо».

А вы не смотря под cut можете внятно объяснить разницу между 'and' и '&&' в Ruby?
Проверим?

Вышла финальная версия IronRuby 1.0!

Время на прочтение1 мин
Количество просмотров1.1K
image

Отличные новости! Вместе с глобальным запуском Visual Studio 2010 и платформы .NET 4.0 выпущена финальная версия IronRuby — opensource-реализации языка Ruby для платформы .NET.

На текущий момент IronRuby нацелен на поддержку Ruby 1.8.6. Согласно информации с сайта ironruby.info версия IR 1.0 проходит тест RubySpec на 86%. Из них: языковые тесты на 98%, ядро на 90% и библиотеки на 75%.

Полезные ссылки:

официальный сайт проекта;
страница проекта IronRuby на codeplex;
скачать IronRuby для .NET2/.NET4;
результаты тестов RubySpec.

Вышел Rubinius 1.0.0-rc4

Время на прочтение1 мин
Количество просмотров766

Основные изменения по сравнению с rc3



* Ускорение компиляции в байткод на 30%
* На rubinius проходят все тесты Rails3
* Улучшена поддержка CAPI
* Поиск подстроки в строке ускорен в 10 раз. (теперь она выполняется в 2 раза быстрее, чем на 1.8.7)
* Исправлено десятки багов.

Более полный список изменений.

Читать дальше →

Изменение поведения метода в зависимости от контекста

Время на прочтение1 мин
Количество просмотров733
По сути задачка для гиков:
Есть класс А, у него метод save, принимающий один параметр, у параметра есть значение по умолчанию (допустим, true). Экземпляр класса А, принимающий метод save без параметров, автоматически принимает true и работает в соответствии с этим флагом. Есть класс В, у которого есть поле типа А. При вызове метода save для этого поля изнутри контекста класса В без параметров управление должно передаваться другой реализации метода, которая принимает по умолчанию значение параметра false. Примерно как работает override, но не глобально, а внутри только одного класса.
Читать дальше →

Аннонсирован новый релиз-план для Ruby 1.9.2

Время на прочтение1 мин
Количество просмотров764
Согласно новому плану, релиз состоится примерно в середине августа.

Подробнее:
  • 31 марта будет заморожен список возможностей Ruby 1.9.2
  • 30 апреля будет заморожен код, все возможности не реализованные до этого времени не войдут в релиз
  • 31 мая — выход 1.9.2-preview2: возможности, которые не будут завершены и стабильны к этому моменту, не войдут в релиз
  • 30 июня — выход 1.9.2-rc: все найденные на предыдущих этапах баги должны быть исправлены
  • 31 июля — выход 1.9.2-p0: в течении двух недели будут собирать багрепорты и допиливать релиз, прежде чем выпустить его

Что ж будем надеяться, что на сей раз разработчики справятся с намеченными сроками и мы получим стабильный релиз ветки 1.9.x до осени :-)

P.S. Если кто-то хочет высказать пожелания к релизу 1.9.2, то поторопитесь оставить тикет в Ruby Issue Tracking System

Ruby on Rails и Яндекс.Фотки API: показываем последние фотографии на домашней странице

Время на прочтение2 мин
Количество просмотров1.9K
image
Уже пару лет пользуюсь сервисом Яндекс.Фотки для хранения всех своих фотографий, а недавно возникло желание на своей домашней страничке выводить последние n фотографий, загруженных на Яндекс.Фотки, тем самым убив сразу несколько зайцев:
  • домашняя страничка не требует администрирования;
  • не требуется хранение и управление изображениями;
  • не требуется заниматься ресайзингом изображений для превью и т.д.


Сказано — сделано. Оказалось, что Фотки предоставляют достаточно удобный API по протоколу AtomPub. Т.к. страничку планировал делать на платформе Ruby on Rails, после непродолжительных поисков нашел неплохую библиотеку для работы feedzirra. Устанавливалась библиотека совершенно стандартным образом:
  1. gem sources -a gems.github.com
  2. gem install pauldix-feedzirra

и далее в ruby достаточно прописать ее использование:
  1. require 'feedzirra'

Пришло время изучить предоставляемый API
Читать дальше →

Добрый вечер уважаемые читатели, подписчики и авторы блога Ruby

Время на прочтение1 мин
Количество просмотров602
Некоторое время назад мне стало стыдно, что я в своё время создал блог Ruby на этом сайте и совершенно забросил его, уйдя с сайта после слива кармы.

Решил вернуться и исправить положение :)

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

Собственно в комментариях я хотел бы услышать любые предложения по улучшению блога.

Так же хочу назначить пару людей модераторами, для этого в одном комментарии напишите ссылки на ваши статьи для этого блога я их прочту и если мне понравиться вы прикоснетесь к истории :)

С уважением и готовностью ответить на любые вопросы ;)

Spree 0.10.0 release

Время на прочтение1 мин
Количество просмотров1.3K
Intro: Spree — довольно мощный и гибкий движок для создания интернет-магазинов, написанный на Ruby on Rails, распространяющийся под лицензией New BSD.

Спустя почти полгода после релиза 0.9.0 вышла очередная версия Spree — 0.10.0, эта версия вобрала в себя множество замечательных, новых возможностей:
  • Поддержка тем оформления
  • Расширяемый механизм поиска (с помощью расширений поддерживается поиск через Xapian, Sphinx и Solr)
  • Настраиваемый процесс оформления заказа (можно убирать или добавлять шаги)
  • Группы товаров на основе разнообразных критериев
  • Улучшена поддержка конфигурации платёжных систем
  • Возможность выбора(для пользователя) из нескольких способов оплаты
  • RESTful API
  • Несколько SEO улучшений
  • Поддержка Rails 2.3.5 и Ruby 1.9

Также была существенно улучшена поддержка интернационализации в целом и русского языка в частности.

Полный список примечаний к релизу

UPD: перенесено в блог «Ruby»

Строительные блоки Ruby

Время на прочтение13 мин
Количество просмотров19K
Хвастаясь классными особенностями Ruby перед непосвященными (или перед партнером по языковому спаррингу), возбужденный рубист часто хватается за «мощный синтаксис блоков» в Ruby. К сожалению, для питониста или джависта остаются непонятными возможности пресловутого «мощного блочного синтаксиса» из-за отсутствия соответствующих механизмов в их языках.

Начнем с того, что мы обычно указываем на Rake, RSpec или Sinatra в качестве примеров удивительного использования блочного синтаксиса:
Читать дальше →

Темная сторона Ruby, Proc и lambda

Время на прочтение3 мин
Количество просмотров42K
Многие любят руби за его красоту и гибкость. Но некоторые не догадываются о темной стороне языка Ruby. Сегодня расмотрим одну из темных лошадок руби, многие им пользуются, но не многие знают его секрет. Итак, тема дня блоки!
Читать дальше →

Ruby and Rails Barcamp 3 состоится в Киеве 20 марта

Время на прочтение1 мин
Количество просмотров713
Приглашаем Вас принять участие в третьем Ruby and Rails Barcamp, который состоится в Киеве 20 марта.

Чтобы улучшить качество программы было решено ввести процедуру голосования за доклады.
Теперь чтобы стать докладчиком баркемпа необходимо заполнить небольшую анкету до 28 февраля.
Затем список заявок будет выставлен на открытое голосование, и в программу баркемпа войдут те доклады, которые будут иметь большее количество голосов.
Читать дальше →

Bundler — менеджер для управления gem'ами

Время на прочтение5 мин
Количество просмотров80K

Что такое Bundler?


Это менеджер для управления зависимостями gem'ов в ruby приложениях. Эта утилита позволяет легко устанавливать необходимые gem'ы для вашего приложения, при этом вовсе не зависеть от установленных в системе. Если вы использовали Rails для своих разработок, то вы вспомните, как задавали зависимости gem'ов c помощью config.gem в enviroment.rb, Bundler решает эту задачу намного удобнее и проще. Его включили в Rails 3.0 по умолчанию и теперь, именно он используется для управления зависимостями gem’ов в данной версии фреймворка. Эту утилиту можно использовать для любого ruby фреймворка.
Читать дальше →

Ближайшие события

Особенности компиляции в MacRuby

Время на прочтение3 мин
Количество просмотров1.4K

Предисловие


Давеча слушал я Ruby NoName Podcast (кстати, весьма всем рекомендую), в котором услышал новость, что MacRuby 0.5 вышел из стадии бета-версии. Также господа ведущие сообщили, что в состав пакета MacRuby входит великолепный компилятор Ruby — MacRubyC, который теперь умеет компилировать в динамические библиотеки. Я, естественно, заинтересовался и решил поэкспериментировать.

Читать дальше →

12.02 — Ruby-встреча в Петербуре — хостинг

Время на прочтение1 мин
Количество просмотров813
image

Когда: 18:30, пятница, 12 февраля 2010.
Где: м. Политехническая, учебный центр Авалон (ФПО СПбГПУ, ул. Обручевых, д. 1), аудитория 107.

Тема встречи — настройка сервера для приложений на Rails/Ruby. Прямо на встрече мы настроим VDS*, для последующего размещения сайта сообщества (который разумеется будет написан на Ruby).

Я уверен многим разработчикам приходится (и это полезно) иногда надевать шляпу системного администратора чтобы поднять сервер для своего проекта. Вероятно многие имеют представление о том, как это сделать, но есть какие-то белые пятна, желание лучше разобраться или узнать про альтернативные способы. Поэтому мы хотим собраться и попробовать настроить реальный production сервер. Максим Филатов будет рулить процессом и покажет один из способов настройки.

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

* — любезно предоставленный locum.ru.

Заполнение БД тестовыми данными при помощи Populator и Faker

Время на прочтение1 мин
Количество просмотров6.8K
Часто возникает необходимость протестировать приложение на предмет работы с реальными данными. Причём, данные должны быть максимально приближены к реальным как с качественной стороны, так и с количественной. Работу по наполнению базы такими данными значительно упрощают гемы Populator и Faker.
Читать дальше →

Shoulda TextMate bundle

Время на прочтение1 мин
Количество просмотров737
Shoulda TextMate bundle — проект который будет интересен всем кто работает с TextMate и пишет тесты при помощи Shoulda.

Исходный код выложен на Github поэтому все желающие могут присоединиться к работе над проектом http://github.com/shaliko/shoulda-tmbundle

Coffeescript — Javascript в силе Ruby

Время на прочтение2 мин
Количество просмотров22K
CoffeeScript — язык, чтобы писать на JavaScript с более удобным синтаксисом.

Краткий пример на CoffeeScript (с jQuery):
jQuery($ =>
 notified: false
 $('a').click( =>
  if notified
   true
  else
   $('.alert').show()
   false..
 ).
)

Этот код будет транслирован в:
jQuery(function($) {
  var notified = false;
  $('a').click(function() {
    if (notified) {
      return true;
    } else {
      $('.alert').show()
      return false;
    }
  })
})

Но обо всём по порядку

Визуальный сахар для ActiveRecord

Время на прочтение4 мин
Количество просмотров1.2K
Каждый, кто разрабатывал приложение на RoR знает, что в консоли (./script/console) не слишком удобно просматривать ActiveRecord объекты, они имеют мягко говоря не читабельный вид

Например в моем последнем проекте есть модель Schema
Читать дальше →

Вклад авторов