module Genesis::Protocol
Use some metaprogramming to DRY up protocol definition
Public Class Methods
included(base)
click to toggle source
# File lib/genesis/protocol.rb, line 4 def self.included(base) # rubocop:disable Metrics/MethodLength class << base def included(base) protocol = self base.define_singleton_method(:protocol) { protocol.protocol } end def server Kernel.const_get((to_s.split('::')[0..-2] << 'Server').join('::')) end def start_block end end end