Sha256: 30f056f1628123e441f0b50c727d1e5a8f08c304f1ef2e861667a5c0a1220b7f

Contents?: true

Size: 1.17 KB

Versions: 28

Compression:

Stored size: 1.17 KB

Contents

class Link < ActiveRecord::Base
  include SocialStream::Models::Object

  validates_presence_of :url

  attr_accessor :loaded

  before_create :check_loaded

  define_index do
    indexes title
    indexes description
    indexes url

    has created_at
  end

  def fill linkser_object
    self.title = linkser_object.title if linkser_object.title
    self.description = linkser_object.description if linkser_object.description
    self.url = linkser_object.last_url
    r = linkser_object.resource
    if r and r.type and r.url      
      self.callback_url = r.url
    end
    self.width  = r.width  if r and r.width
    self.height = r.height if r and r.height
    if linkser_object.ogp and linkser_object.ogp.image
      self.image = linkser_object.ogp.image
    elsif linkser_object.images and linkser_object.images.first
      self.image = linkser_object.images.first.url
    end
  end

  def check_loaded
    if !self.loaded.eql? "true" and self.title.nil? and self.description.nil? and self.image.nil?
      begin
        o = Linkser.parse self.url, {:max_images => 1}
        if o.is_a? Linkser::Objects::HTML
          self.fill o
        end
      rescue
      end
    end
  end

end

Version data entries

28 entries across 28 versions & 4 rubygems

Version Path
social_stream-0.21.3 linkser/app/models/link.rb
social_stream-0.21.2 linkser/app/models/link.rb
social_stream-0.21.1 linkser/app/models/link.rb
social_stream-0.21.0 linkser/app/models/link.rb
social_stream-linkser-0.6.0 app/models/link.rb
social_stream-0.20.2 linkser/app/models/link.rb
social_stream-0.20.1 linkser/app/models/link.rb
social_stream-0.20.0 linkser/app/models/link.rb
social_stream-linkser-0.5.0 app/models/link.rb
social_stream-0.19.3 linkser/app/models/link.rb
social_stream-0.19.2 linkser/app/models/link.rb
social_stream-0.19.1 linkser/app/models/link.rb
vkhater-social_stream-0.16.3.3 linkser/app/models/link.rb
vkhater-social_stream-linkser-0.1.1 app/models/link.rb
social_stream-0.19.0 linkser/app/models/link.rb
social_stream-linkser-0.4.0 app/models/link.rb
social_stream-0.18.2 linkser/app/models/link.rb
social_stream-0.18.1 linkser/app/models/link.rb
social_stream-0.18.0 linkser/app/models/link.rb
social_stream-linkser-0.3.0 app/models/link.rb