Sha256: ae68865a26f3093ddc0a748e31705c9ae27ec999cc6d4513a3250479e6dee950
Contents?: true
Size: 1.13 KB
Versions: 3
Compression:
Stored size: 1.13 KB
Contents
module Effective class Post < ActiveRecord::Base acts_as_role_restricted if defined?(EffectiveRoles) acts_as_regionable if defined?(EffectiveRegions) self.table_name = EffectivePosts.posts_table_name.to_s belongs_to :user structure do title :string, :validates => [:presence] category :string, :validates => [:presence] published_at :datetime, :validates => [:presence] draft :boolean, :default => false tags :text roles_mask :integer, :default => 0 timestamps end scope :drafts, -> { where(:draft => true) } scope :published, -> { where(:draft => false).where("#{EffectivePosts.posts_table_name}.published_at < ?", Time.zone.now) } scope :with_category, proc { |category| where(:category => category.to_s.downcase) } def to_param "#{id}-#{title.parameterize}" end # 3.333 words/second is the default reading speed. def time_to_read_in_seconds(reading_speed = 3.333) (regions.to_a.sum { |region| (region.content || '').scan(/\w+/).size } / reading_speed).seconds end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
effective_posts-0.2.4 | app/models/effective/post.rb |
effective_posts-0.2.3 | app/models/effective/post.rb |
effective_posts-0.2.2 | app/models/effective/post.rb |