Module: Kennel::Compatibility

Included in:
Kennel
Defined in:
lib/kennel/compatibility.rb

Class Method Summary collapse

Class Method Details

.included(into) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/kennel/compatibility.rb', line 5

def self.included(into)
  class << into
    %I[out out= err err= strict_imports strict_imports= generate plan update].each do |sym|
      define_method(sym) { |*args| instance.public_send(sym, *args) }
    end

    def build_default
      Kennel::Engine.new
    end

    def instance
      @instance ||= build_default
    end

    private

    def api
      instance.send(:api)
    end
  end
end