class Alki::Dsls::Class

Public Class Methods

dsl_info() click to toggle source
# File lib/alki/dsls/class.rb, line 14
def self.dsl_info
  {
    methods: %i(class_methods),
    finish: :finish
  }
end
helpers() click to toggle source
# File lib/alki/dsls/class.rb, line 10
def self.helpers
  [Alki::Dsl::ClassHelpers]
end

Public Instance Methods

class_methods(&blk) click to toggle source
# File lib/alki/dsls/class.rb, line 21
def class_methods(&blk)
  unless ctx[:module].const_defined? :ClassMethods
    ctx[:module].const_set :ClassMethods, Module.new
  end
  ctx[:module]::ClassMethods.class_exec &blk
end
finish() click to toggle source
# File lib/alki/dsls/class.rb, line 28
def finish
  ctx[:result] = Alki::ClassBuilder.build class_builder
  ctx.delete :class_builder
end