summaryrefslogtreecommitdiffhomepage
path: root/lib/yard/mruby/handlers/c/header/base.rb
blob: f0771cae18d8cfb930902555bfb2dee07deb2f1c (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
29
30
module YARD::MRuby::Handlers
  module C
    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
end