Sha256: 409f8c15c32b548402ba5f1961c019464cd5c82cbfe1b05860cfc6df7d24c06e

Contents?: true

Size: 590 Bytes

Versions: 4

Compression:

Stored size: 590 Bytes

Contents

module Soybean
  class Interface
    class_attribute :interfaces, :instance_reader => false, :instance_writer => false

    def self.inherited(subclass)
      self.interfaces ||= []
      self.interfaces << subclass if subclass.superclass == Soybean::Interface
      Soybean.services << subclass if subclass.superclass < Soybean::Interface
    end

    def self.actions
      self.instance_methods - Object.instance_methods
    end


    attr_reader :logger

    def initialize(logger=Soybean.logger)
      @logger = logger
    end

    def endpoint
      self.class.name
    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
soybean-2.5.3 lib/soybean/interface.rb
soybean-2.5.2 lib/soybean/interface.rb
soybean-2.5.1 lib/soybean/interface.rb
soybean-2.5.0 lib/soybean/interface.rb