Sha256: 20fb4db284c58bfc4d9b5f238a0c3c3e95174f51b5c0a339b4571203dd629e4a
Contents?: true
Size: 883 Bytes
Versions: 1
Compression:
Stored size: 883 Bytes
Contents
# frozen_string_literal: true module Lug module Extend module Object def logger defined?(LUG) && LUG end end module Class def logger_on(namespace) cap_ns = namespace.to_s.split(':').map(&:capitalize).join mod_name = :"LoggerOn#{cap_ns}" return const_get(mod_name) if const_defined?(mod_name) return unless LUG mod = Module.new mod.module_eval(%( module ClassMethods def logger LUG.on(#{namespace.inspect}) end end def self.included(receiver) receiver.extend(ClassMethods) end def logger self.class.logger end )) const_set(mod_name, mod) include mod end end end Object.include Extend::Object Class.include Extend::Class end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
lug-0.1.0 | lib/lug/extend.rb |