Sha256: d624a5d8ee886daba37ef47473f026b4b2cd75cf88f82eeafe56a1bc5f1635bf

Contents?: true

Size: 611 Bytes

Versions: 6

Compression:

Stored size: 611 Bytes

Contents

module Socialcastr
  class Comment < Base
    def like!
      Socialcastr::Like.new({}, to_prefix_options).save
      refresh
      return self
    end

    def unlike!
      like.destroy
      refresh
      return self
    end

    def unlikable_by?(api_id)
      self.likes.map{|l| l.unlikable_by?(api_id)}.any?
    end
    
    def likable_by?(api_id)
      return false if self.user.id == api_id
      like_for(api_id).nil?
    end
    
    def like_for(api_id)
      return nil if (self.likes.nil? || self.likes.empty?)
      self.likes.select { |like| like.unlikable_by?(api_id) }.first
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
socialcastr-0.2.19 lib/socialcastr/comment.rb
socialcastr-0.2.18 lib/socialcastr/comment.rb
socialcastr-0.2.17 lib/socialcastr/comment.rb
socialcastr-0.2.16 lib/socialcastr/comment.rb
socialcastr-0.2.15 lib/socialcastr/comment.rb
socialcastr-0.2.14 lib/socialcastr/comment.rb