Sha256: f3f5ca332fbfac2227fae21b7b79e72cbfce9f08c409dfbb0aa8fb1232f5a568

Contents?: true

Size: 644 Bytes

Versions: 5

Compression:

Stored size: 644 Bytes

Contents

module StripeSaas::PlanFeature
  extend ActiveSupport::Concern

  def value=(val)
    super(val.to_s)
  end

  def value
    case feature.feature_type.to_sym
      when :boolean
        self[:value] == 'true'
      when :number, :percentage, :filesize, :interval
        self[:value].to_i
    end
  end

  def to_s
    case feature.feature_type.to_sym
      when :boolean
        "#{self.value ? '' : 'No '}#{self.feature.name}"
      when :number, :percentage, :filesize, :interval
        %[#{self[:value]} #{self.feature.use_unit ? "#{self.feature.unit.pluralize(self.value).capitalize} " : ''}#{self.feature.description}]
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
stripe_saas-0.0.9 app/concerns/stripe_saas/plan_feature.rb
stripe_saas-0.0.8 app/concerns/stripe_saas/plan_feature.rb
stripe_saas-0.0.7 app/concerns/stripe_saas/plan_feature.rb
stripe_saas-0.0.6 app/concerns/stripe_saas/plan_feature.rb
stripe_saas-0.0.5 app/concerns/stripe_saas/plan_feature.rb