module ClientApiBuilder::Section::ClassMethods

Public Instance Methods

section(name, &block) click to toggle source
# File lib/client_api_builder/section.rb, line 11
      def section(name, &block)
        kls = InheritanceHelper::ClassBuilder::Utils.create_class(
          self,
          name,
          ::ClientApiBuilder::NestedRouter,
          nil,
          'NestedRouter',
          &block
        )

        code = <<CODE
def self.#{name}_router
  #{kls.name}
end

def #{name}
  @#{name} ||= self.class.#{name}_router.new(self.root_router)
end
CODE
        self.class_eval code, __FILE__, __LINE__
      end