Sha256: b0f06663cef5255258c6c2fe3c8eddafd213a5effe9a5b7ae01486e49ed039e7

Contents?: true

Size: 639 Bytes

Versions: 1

Compression:

Stored size: 639 Bytes

Contents

module Saucy
  module Plan
    extend ActiveSupport::Concern

    included do
      has_many :accounts
      has_many :limits

      validates_presence_of :name
    end

    module InstanceMethods
      def free?
        price.zero?
      end

      def billed?
        !free?
      end

      def can_add_more?(limit, amount)
        limits.where(:name => limit, :value_type => :number).first.value > amount
      end

      def allows?(limit)
        limits.where(:name => limit, :value_type => :boolean).first.value != 0
      end

      def limit(limit_name)
        limits.where(:name => limit_name).first
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
saucy-0.2.0 lib/saucy/plan.rb