Sha256: 47bc8b507708e09c5937e075a9d8775416cf3c63c3d624a977a7d89118e03c4c
Contents?: true
Size: 769 Bytes
Versions: 2
Compression:
Stored size: 769 Bytes
Contents
module Soybean class Interface include ActiveSupport::Callbacks NO_ACTIONS = [:endpoint] 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(implemented=true) if implemented self.public_instance_methods(false) - NO_ACTIONS else self::Methods.map(&:second).map(&:to_sym) end end attr_reader :logger def initialize(logger=Soybean.logger) @logger = logger end def endpoint self.class.name end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
soybean-2.5.5 | lib/soybean/interface.rb |
soybean-2.5.4 | lib/soybean/interface.rb |