Sha256: 35d62c2a377ecf578587ba7e7ad4376fb50b78260246d409e915c3587a57efa9

Contents?: true

Size: 674 Bytes

Versions: 2

Compression:

Stored size: 674 Bytes

Contents

class SpecialOfferRule < Rule
  autoload :Ruleby, 'ruleby'
  include Ruleby
  has_and_belongs_to_many :categories, :readonly => true, :join_table => 'categories_elements', :foreign_key => 'element_id', :association_foreign_key => 'category_id'
  before_save :validate_ruleby_syntax
  def validate_ruleby_syntax
    begin
      engine :special_offer_engine do |e|
        rule_builder = SpecialOffer.new(e)
        rule_builder.selected_products = []
        rule_builder.rule_preview(self)
        Product.actives.all(:limit => 100).each do |product|
          e.assert product
        end
        e.match
      end
    rescue Exception
      return false
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
forgeos_commerce-1.9.1.rc1 app/models/special_offer_rule.rb
forgeos_commerce-1.9.0 app/models/special_offer_rule.rb