Method: Simple::Httpd::Helpers#subclass

Defined in:
lib/simple/httpd/helpers.rb

#subclass(klass, paths: nil, description: nil) ⇒ Object

subclass a klass with an optional description



66
67
68
69
70
71
72
73
74
75
76
# File 'lib/simple/httpd/helpers.rb', line 66

def subclass(klass, paths: nil, description: nil)
  raise "Missing description" unless description

  subclass = Class.new(klass)
  subclass.define_singleton_method(:description) { description }
  subclass.define_method(:inspect) { description } if description

  ::Simple::Httpd::Reloader.attach(subclass, paths: Array(paths))

  subclass
end