composite primary keys

2 октября 2008, Четверг

Дело в том, что Ruby on Rails не поддерживает составные первичные ключи. Но эту проблему можно решить с помощью гемки composite_primary_keys.

И ставим gem:

  gem install composite_primary_keys

Модель с составным первичным ключем будет выглядеть следующим образом:

  require 'composite_primary_keys'

  class Probability < ActiveRecord::Base
    set_primary_keys :row, :col
  end

И напоследок несколько примеров использования:

  Probability.primary_key # => [:row, :col]
  Probability.primary_key.to_s # => "row,col"
  Probability.find(1,1) # => <Probability row: 1, col: 1, val: 17>
  Probability.find [1,1],[1,2] # => [<Probability row: 1, col: 1, val: 17>, <Probability row: 1, col: 2, val: 19>]
  Probability.find(:first).to_param # => "1,1"

Импорт контактов из популярных почтовых сервисов

19 мая 2008, Понедельник

Часто возникает необходимость автоматического импорта контактов из таких популярных сервисов как Gmail, AOL, Hotmail и т.д.

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

Программистам на руби в этом плане очень повезло. Есть такой вкусненький джем Blackbook, который способен упростить до 2х строчек кода весь процесс импорта.

По порядку. Ставим:

gem install blackbook

Обязательно ставим все зависимости, которые он предлагает.

Используем:

require ‘rubygems’

require ‘blackbook’
# fetch gmail contacts

gmail_contacts = Blackbook.get :username => ‘bill.gates@gmail.com’,:password => ‘love_sex_rock_n_roll’

gmail_contacts.each do |contact|

p “#{contact[:name]} - #{contact[:email]}\n”

end

Вот и все

Блог работает на WordPress.
Подписка RSS: все записи, комментарии.