File tree Expand file tree Collapse file tree 4 files changed +13
-5
lines changed Expand file tree Collapse file tree 4 files changed +13
-5
lines changed Original file line number Diff line number Diff line change 1
1
# frozen_string_literal: true
2
2
3
3
require "yaml"
4
+ require "tmpdir"
4
5
5
6
require_relative "ruby_header_parser/version"
6
7
Original file line number Diff line number Diff line change @@ -26,14 +26,18 @@ class Parser # rubocop:disable Metrics/ClassLength
26
26
RbConfig ::CONFIG [ "rubyhdrdir" ] ,
27
27
] . freeze
28
28
29
- # @param header_file [String] path to ruby.h
29
+ # @param header_file [String] Path to ` ruby.h`
30
30
# @param include_paths [Array<String>]
31
- # @param dist_preprocessed_header_file [String]
32
- def initialize ( dist_preprocessed_header_file :, header_file : DEFAULT_HEADER_FILE ,
31
+ # @param dist_preprocessed_header_file [String,nil] Destination path to the output of preprocessed ruby.h.
32
+ # (default: `"#{Dir.tmpdir}/ruby_preprocessed.h"`)
33
+ #
34
+ # @note `dist_preprocessed_header_file` is used as the output destination for temporary files when the parser
35
+ # is executed
36
+ def initialize ( dist_preprocessed_header_file : nil , header_file : DEFAULT_HEADER_FILE ,
33
37
include_paths : DEFAULT_INCLUDE_PATHS )
34
38
@header_file = header_file
35
39
@include_paths = include_paths
36
- @dist_preprocessed_header_file = dist_preprocessed_header_file
40
+ @dist_preprocessed_header_file = dist_preprocessed_header_file || File . join ( Dir . tmpdir , "ruby_preprocessed.h" )
37
41
@data = Data . new
38
42
end
39
43
Original file line number Diff line number Diff line change
1
+ class Dir
2
+ def self.tmpdir : () -> String
3
+ end
Original file line number Diff line number Diff line change @@ -9,7 +9,7 @@ module RubyHeaderParser
9
9
DEFAULT_INCLUDE_PATHS: Array[String]
10
10
11
11
def initialize : (
12
- dist_preprocessed_header_file: String,
12
+ ? dist_preprocessed_header_file: String? ,
13
13
?header_file: String,
14
14
?include_paths: Array[String]
15
15
) -> void
You can’t perform that action at this time.
0 commit comments