Class: Plugins::Ecommerce::Coupon

Inherits:
CamaleonCms::TermTaxonomy
  • Object
show all
Defined in:
app/models/plugins/ecommerce/coupon.rb

Instance Method Summary collapse

Instance Method Details

#active?Boolean

Returns:

  • (Boolean)


39
40
41
# File 'app/models/plugins/ecommerce/coupon.rb', line 39

def active?
  status.to_s == '1'
end

#allowed_applicationsObject



18
19
20
# File 'app/models/plugins/ecommerce/coupon.rb', line 18

def allowed_applications
  get_option('allowed_applications', 0).to_i
end

#expired?Boolean

Returns:

  • (Boolean)


22
23
24
25
26
27
28
29
# File 'app/models/plugins/ecommerce/coupon.rb', line 22

def expired?
  d = get_option('expirate_date', '')
  if d.present?
    "#{d} 23:59:59".to_datetime.to_i < Time.current.to_i
  else
    false
  end
end

#mark_as_used(user = nil) ⇒ Object



10
11
12
# File 'app/models/plugins/ecommerce/coupon.rb', line 10

def mark_as_used(user = nil)
  set_option('used_applications', used_applications + 1)
end

#min_cart_totalObject



31
32
33
# File 'app/models/plugins/ecommerce/coupon.rb', line 31

def min_cart_total
  get_option('min_cart_total', '')
end

#used_applicationsObject



14
15
16
# File 'app/models/plugins/ecommerce/coupon.rb', line 14

def used_applications
  get_option('used_applications', 0).to_i
end

#used_times_exceeded?Boolean

Returns:

  • (Boolean)


6
7
8
# File 'app/models/plugins/ecommerce/coupon.rb', line 6

def used_times_exceeded?
  (used_applications + 1) > allowed_applications
end

#valid_min_price?(price) ⇒ Boolean

Returns:

  • (Boolean)


35
36
37
# File 'app/models/plugins/ecommerce/coupon.rb', line 35

def valid_min_price?(price)
  !min_cart_total.present? || min_cart_total.to_i <= price
end