module LunaPark::Extensions::Comparable

@example

class Money
  include LunaPark::Extensions::Comparable

  attr_reader :amount, :currency, :meta

  comparable_attributes :amount, :currency

  def initialize(amount, currency, meta = nil)
    @amount = amount
    @currency = currency
    @meta = meta
  end
end

Money.new(1, 'USD')         == Money.new(2, 'USD')         # => false
Money.new(1, 'USD')         == Money.new(1, 'USD')         # => true
Money.new(1, 'USD', 'meta') == Money.new(1, 'USD', 'feta') # => true

Public Class Methods

included(base) click to toggle source
# File lib/luna_park/extensions/comparable.rb, line 27
def self.included(base)
  base.extend  ClassMethods
  base.include InstanceMethods
end