lemma-engine 0.9.5

A pure, declarative language for business rules.
Documentation
spec premium_membership
"""
Premium Membership Benefits

Defines the benefits for premium members.
This spec can be referenced by other specs.
"""

rule discount_rate: 10%

rule free_shipping_threshold: 50

rule points_multiplier: 1.5

rule monthly_bonus_points: 100


spec membership_benefits
"""
Membership Benefits

Shows how specs can reference other specs.
Membership levels have different benefits.
"""

uses membership: premium_membership

data monthly_spend: number
  -> minimum 0
  -> suggest 150

rule discount: monthly_spend * membership.discount_rate

rule shipping_cost: 10
  unless monthly_spend >= membership.free_shipping_threshold
    then 0

rule base_points:
  monthly_spend * membership.points_multiplier

rule bonus_points: membership.monthly_bonus_points

rule total_points: base_points + bonus_points

rule total_savings: discount + shipping_cost