class TemplatePicker
  attr_accessor :post

  TEMPLATES = %w{ status_with_photo_backdrop
                  note
                  rich_media
                  multi_photo
                  photo_backdrop
                  activity_streams_photo
                  status
                }

  def initialize(post)
    self.post = post.is_a?(Reshare) ? post.root : post
  end

  def template_name
    TEMPLATES.each do |template|
      return TemplatePicker.jsonify_name(template) if self.send("#{template}?".to_sym)
    end

    'status' #default
  end

  def status_with_photo_backdrop?
    status? && photo_backdrop?
  end

  def note?
    self.status? && post.text(:plain_text => true).length > 200
  end

  def rich_media?
    post.o_embed_cache.present?
  end

  def multi_photo?
    post.photos.size > 1
  end

  def photo_backdrop?
    post.photos.size == 1 
  end

  def activity_streams_photo?
    post.type == "ActivityStreams::Photo"
  end

  def status?
    post.text?
  end

  def self.jsonified_templates
    TEMPLATES.map{|x| jsonify_name(x)}
  end

  def self.jsonify_name(name)
    name.gsub('_', '-')
  end
end
class TemplatePicker
  attr_accessor :post

  TEMPLATES = %w{ status_with_photo_backdrop
                  note
                  rich_media
                  multi_photo
                  photo_backdrop
                  activity_streams_photo
                  status
                }

  def initialize(post)
    self.post = post
  end

  def template_name
    TEMPLATES.each do |template|
      return TemplatePicker.jsonify_name(template) if self.send("#{template}?".to_sym)
    end

    'status' #default
  end

  def status_with_photo_backdrop?
    status? && photo_backdrop?
  end

  def note?
    self.status? && post.text(:plain_text => true).length > 200
  end

  def rich_media?
    post.o_embed_cache.present?
  end

  def multi_photo?
    post.photos.size > 1
  end

  def photo_backdrop?
    post.photos.size == 1 
  end

  def activity_streams_photo?
    post.type == "ActivityStreams::Photo"
  end

  def status?
    post.text?
  end

  def self.jsonified_templates
    TEMPLATES.map{|x| jsonify_name(x)}
  end

  def self.jsonify_name(name)
    name.gsub('_', '-')
  end
end
Revert "delegate ruby template picking on reshares so the posts look better"
Revert "delegate ruby template picking on reshares so the posts look better"

This reverts commit 5eb22471916b0b2230c80096a28ad80f489b067e.
