Sha256: fe2584ad8946e10b3e48eec0bf4e80d720f6f89e12c2a2a9fcf945caec945a97

Contents?: true

Size: 680 Bytes

Versions: 16

Compression:

Stored size: 680 Bytes

Contents

require 'reviewed/page'
require 'reviewed/product'
require 'reviewed/attachment'

module Reviewed
  class Article < Base
    has_many :pages
    has_many :products
    has_many :attachments

    def find_page(slug)
      pages.find { |page| page.slug.match(/#{slug}/i) }
    end

    def primary_product
      products.select { |p| p.id == primary_product_id }.first
    end

    def attachments(tag=nil)
      if tag.present?
        @attributes.attachments.select do |attachment|
          attachment_tags = attachment.tags || []
          attachment_tags.map(&:downcase).include?(tag.downcase)
        end
      else
        @attributes.attachments
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
reviewed-0.1.31 lib/reviewed/article.rb
reviewed-0.1.30 lib/reviewed/article.rb
reviewed-0.1.29 lib/reviewed/article.rb
reviewed-0.1.28 lib/reviewed/article.rb
reviewed-0.1.27 lib/reviewed/article.rb
reviewed-0.1.26 lib/reviewed/article.rb
reviewed-0.1.25 lib/reviewed/article.rb
reviewed-0.1.24 lib/reviewed/article.rb
reviewed-0.1.23 lib/reviewed/article.rb
reviewed-0.1.22 lib/reviewed/article.rb
reviewed-0.1.21 lib/reviewed/article.rb
reviewed-0.1.2 lib/reviewed/article.rb
reviewed-0.1.1 lib/reviewed/article.rb
reviewed-0.1.0 lib/reviewed/article.rb
reviewed-0.0.8 lib/reviewed/article.rb
reviewed-0.0.7 lib/reviewed/article.rb