середу, 29 червня 2011 р.

Mechanize 2.0

Після більше року активної розробки вийшла нова версія Mechanize - Ruby-бібліотеки для автоматизації взаємодії з веб-сайтами. У новій версії проведена велика робота з усунення помилок, а також додані нові можливості. Дивіться офіційний анонс для більш докладної інформації.

вівторок, 21 червня 2011 р.

ВКонтакте → Авторизація Standalone-додатків використовуючи OAuth 2.0 на прикладі Ruby і Mechanize

Про авторизацію Desktop-додатків ВКонтакте на прикладі Ruby і Mechanize я писав більше року тому. З того часу спливло чимало води:
  • Для авторизації додатків використовується відкритий протокол OAuth 2.0.
  • Запити до API здійснюються без необхідності їх підписувати, завдяки використанню протоколу HTTPS.
Про серверну авторизація ВКонтакте використовуючи OAuth 2.0 я вже писав у цій статті на прикладі Sinatra. У цій статті мова про клієнтську авторизації на прикладі Mechanize.

Поїхали!

понеділок, 20 червня 2011 р.

Sinatra - Up and Running


Alan Harris і Konstantin Haase працюють над книгою Sinatra – Up and Running від O'Reilly, вихід якої запланований на серпень 2011 року. Приємно, що нарешті спільнота розробників Sinatra і Padrino матиме власну книгу. Попередньо замовити її можна тут.

Ось короткий опис книги:
Sinatra дає розробникам маленький але потужний і масштабований фреймворк для розробки веб-додатків на Ruby. Ця вступна книга дасть читачеві старт, допомагаючи йому створити, встановити і відшліфувати свій перший веб-додаток з Sinatra. Також вона досліджує, як Sinatra вписується в екосистему веб-додатків, головним чином у порівнянні з його більшим братом, Ruby On Rails.

пʼятницю, 17 червня 2011 р.

Використання will_paginate з DataMapper і Sinatra

Часто потрібно так, щоб у представлені(View) відображалися не усі записи з масиву на одній сторінці. У цьому випадку необхідно реалізувати розбиття на сторінки(pagination). Забезпечення цієї функціональності буде простішим з використанням плагіна WillPaginate, який є популярним у середовищі Rails-розробників. У цій статті мова піде про використання WillPaginate разом з Sinatra і DataMapper. Все що нам потрібно це версія >3.0 з підтримкою DataMapper.

Здійснюємо пошук
$ gem search will_paginate --remote
і встановлюємо необхідну версію
$ sudo gem install agnostic-will_paginate

За приклад ми візьмемо наш проект блогу із серії статей про Sinatra. Нашою задачею буде вивести на головну сторінку статті з розбивкою по сторінках.