Sha256: 5358507912fac25300f0de501fce740dc2597526ec67633ce8806f7690cec631

Contents?: true

Size: 632 Bytes

Versions: 2

Compression:

Stored size: 632 Bytes

Contents

# frozen_string_literal: true

require "zeitwerk"

Zeitwerk::Loader.new.then do |loader|
  loader.tag = File.basename __FILE__, ".rb"
  loader.push_dir __dir__
  loader.setup
end

# Main namespace.
module Pipeable
  def self.included(descendant) = descendant.include Definer.new

  def self.loader registry = Zeitwerk::Registry
    @loader ||= registry.loaders.find { |loader| loader.tag == File.basename(__FILE__, ".rb") }
  end

  def self.[](container) = Definer.new(container)

  def self.with(...)
    warn "`#{self.class}.#{__method__}` is deprecated, use `.[]` instead.", category: :deprecated
    Definer.new(...)
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
pipeable-0.3.0 lib/pipeable.rb
pipeable-0.2.0 lib/pipeable.rb