Sha256: 56c2c8efd306017b5600869f2c10b791cb1b6265bd236601a5c1f93f454347c5
Contents?: true
Size: 915 Bytes
Versions: 1
Compression:
Stored size: 915 Bytes
Contents
module MList module Manager class Database def create_list(address, attributes = {}) attributes = { :address => address, :label => address.match(/\A(.*?)@/)[1] }.merge(attributes) List.create!(attributes) end def lists(email) lists = List.find_all_by_address(email.list_addresses) email.list_addresses.map { |a| lists.detect {|l| l.address == a} }.compact end class List < ActiveRecord::Base include ::MList::List has_many :subscribers, :dependent => :delete_all def list_id "#{self.class.name}#{id}" end def subscribe(address) subscribers.find_or_create_by_email_address(address) end end class Subscriber < ActiveRecord::Base belongs_to :list end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
aiwilliams-mlist-0.1.0 | lib/mlist/manager/database.rb |