summaryrefslogtreecommitdiffhomepage
path: root/lib/yard/mruby/handlers/header/base.rb
blob: 1f3f16eb602065943c19c64c133781e24e18cd7c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
module YARD::MRuby::Handlers
  module Header
    class Base < YARD::Handlers::C::Base
      include YARD::MRuby::CodeObjects

      def header(path)
        # Remove include prefix
        path = path.gsub(/^.*include\//,'')

        headers[path] ||= begin
                            header = HeaderObject.new(HEADERS_ROOT, path)
                            register header
                            header
                          end


      end

      def headers
        globals.mruby_headers ||= {}
      end

    end

  end

  YARD::Handlers::Processor.register_handler_namespace :header, Header
end