Module: Callable

Defined in:
lib/callable/mixin.rb,
lib/callable/version.rb

Overview

Callable

A lightweight mix‑in that gives any class a convenient class‑level ‘.call` helper.

class SendEmail
  include Callable

  def initialize(user)
    @user = user
  end

  def call
    Mailer.welcome(@user).deliver_now
  end
end

SendEmail.call(User.first)  # => delivers email
users.each(&SendEmail)      # => thanks to #to_proc

Compatible with Ruby 2.3+ and works the same on 3.x.

Defined Under Namespace

Modules: ClassMethods Classes: ConstructionError

Constant Summary collapse

VERSION =
'0.2.0'

Class Method Summary collapse

Class Method Details

.included(base) ⇒ Object



28
29
30
# File 'lib/callable/mixin.rb', line 28

def self.included(base)
  base.extend(ClassMethods)
end