24 lines
567 B
Ruby
24 lines
567 B
Ruby
class Author
|
|
include MongoMapper::Document
|
|
|
|
key :service, String
|
|
key :feed_url, String
|
|
key :avatar_thumbnail, String
|
|
key :username, String
|
|
key :profile_url, String
|
|
|
|
many :ostatus_posts, :class_name => 'OstatusPost', :foreign_key => :author_id
|
|
before_save :set_defaults
|
|
|
|
def self.instantiate(opts)
|
|
author = Author.first(:feed_url => opts[:feed_url])
|
|
author ||= Author.create(opts)
|
|
end
|
|
|
|
private
|
|
|
|
def set_defaults
|
|
self.avatar_thumbnail = nil if self.avatar_thumbnail == 0
|
|
self.service = self.url if self.service == 0
|
|
end
|
|
end
|