Skip to content

Commit 79c2d4f

Browse files
committed
Impl Data#should_generate_type?
1 parent 3b537de commit 79c2d4f

File tree

3 files changed

+38
-0
lines changed

3 files changed

+38
-0
lines changed

_tools/ruby_h_to_go/lib/ruby_header_parser/data.rb

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,5 +41,14 @@ def should_generate_struct?(struct_name)
4141

4242
data["struct"]["allow_name"].any? { |format| format === struct_name }
4343
end
44+
45+
# Whether generate C type to go
46+
# @param type_name [String]
47+
# @return [Boolean]
48+
def should_generate_type?(type_name)
49+
type_name = type_name.downcase
50+
51+
data["type"]["allow_name"].any? { |format| format === type_name }
52+
end
4453
end
4554
end

_tools/ruby_h_to_go/lib/ruby_header_parser/data.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,3 +38,10 @@ function:
3838
struct:
3939
allow_name:
4040
- !ruby/regexp /^rb_/
41+
42+
type:
43+
allow_name:
44+
- !ruby/regexp /^rb_/
45+
- !ruby/regexp /^st_/
46+
- id
47+
- value

_tools/ruby_h_to_go/spec/ruby_header_parser/data_spec.rb

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,4 +58,26 @@
5858
it { should eq false }
5959
end
6060
end
61+
62+
describe "#should_generate_type?" do
63+
subject { data.should_generate_type?(type_name) }
64+
65+
context "rb type" do
66+
let(:type_name) { "rb_data_type_t" }
67+
68+
it { should eq true }
69+
end
70+
71+
context "VALUE" do
72+
let(:type_name) { "VALUE" }
73+
74+
it { should eq true }
75+
end
76+
77+
context "unknown" do
78+
let(:type_name) { "unknown" }
79+
80+
it { should eq false }
81+
end
82+
end
6183
end

0 commit comments

Comments
 (0)