Sha256: 529dc634f8b78020f652f59c04c119c56fe461f19c4331513a1780798538876d
Contents?: true
Size: 1.49 KB
Versions: 1
Compression:
Stored size: 1.49 KB
Contents
class MembershipType < ActiveRecord::Base attr_accessible :name, :price, :fee, :number_of_shows, :plan, :on_sale, :description, :ends_at, :starts_at, :duration, :type, :period, :number_of_tickets, :sales_start_at, :sales_end_at belongs_to :organization has_many :memberships has_many :members, :through => :memberships belongs_to :segment after_create :create_list_segment default_scope order("created_at DESC") scope :storefront, where(:on_sale => true).where("sales_start_at < ? or sales_start_at is null", DateTime.now).where("sales_end_at > ? or sales_end_at is null", DateTime.now) scope :on_sale, where(:on_sale => true) scope :not_ended, where('ends_at > ?', DateTime.now) comma do name description price fee number_of_tickets type memberships 'Memberships sold' do |m| m.count end members { |m| m.count } duration period starts_at ends_at on_sale sales_start_at sales_end_at end def self.in_play self.find((MembershipType.not_ended.pluck(:id).uniq + Membership.current.select(:membership_type_id).uniq.pluck(:membership_type_id))) end def membershipize self.name.end_with?("Membership") ? self.name : self.name + " Membership" end def create_list_segment @search = organization.searches.create({:membership_type => self}) @segment = organization.segments.create({:search => @search, :name => self.name}) self.segment = @segment save end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
artfully_ose-1.2.0.pre.16 | app/models/membership_type.rb |