Skip to content

Commit 7b67323

Browse files
committed
Move ruby_minor_version_build_tag to go_gem
1 parent 6adb38b commit 7b67323

File tree

11 files changed

+31
-23
lines changed

11 files changed

+31
-23
lines changed

_gem/lib/go_gem/util.rb

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# frozen_string_literal: true
2+
3+
module GoGem
4+
# Common utility methods for {GoGem::Mkmf} and {GoGem::RakeTask}
5+
module Util
6+
# Return ruby version build tag for `go build` and `go test`
7+
#
8+
# @param ruby_version [String]
9+
# @return [String]
10+
#
11+
# @example
12+
# GoGem::Util.ruby_minor_version_build_tag("3.4.1")
13+
# #=> "ruby_3_4"
14+
def self.ruby_minor_version_build_tag(ruby_version = RUBY_VERSION)
15+
"ruby_#{ruby_version.to_f.to_s.gsub(".", "_")}"
16+
end
17+
end
18+
end

_gem/sig/go_gem/util.rbs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
module GoGem
2+
module Util
3+
def self.ruby_minor_version_build_tag: (?String ruby_version) -> String
4+
end
5+
end

_gem/spec/spec_helper.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
require "go_gem"
44
require "go_gem/mkmf"
55
require "go_gem/rake_task"
6+
require "go_gem/util"
67

78
require "tmpdir"
89
require "serverspec"

_tools/ruby_h_to_go/lib/ruby_h_to_go.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
require "forwardable"
44
require "ruby_header_parser"
5+
require "go_gem/util"
56

67
require_relative "ruby_h_to_go/type_helper"
78

_tools/ruby_h_to_go/lib/ruby_h_to_go/cli.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ def write_enum_definitions_to_go_file
102102

103103
# Clean all generated files in dist/
104104
def clean_generated_files
105-
FileUtils.rm_f(Dir.glob(File.join(dist_dir, "*_#{GoUtil.ruby_minor_version_build_tag}_generated.go")))
105+
FileUtils.rm_f(Dir.glob(File.join(dist_dir, "*_#{GoGem::Util.ruby_minor_version_build_tag}_generated.go")))
106106
end
107107

108108
def copy_go_files

_tools/ruby_h_to_go/lib/ruby_h_to_go/enum_definition.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ def initialize(definition:)
1515
# Write definition as go file
1616
# @param [String] dist_dir
1717
def write_go_file(dist_dir)
18-
go_file_path = File.join(dist_dir, "enum_#{GoUtil.ruby_minor_version_build_tag}_generated.go")
18+
go_file_path = File.join(dist_dir, "enum_#{GoGem::Util.ruby_minor_version_build_tag}_generated.go")
1919

2020
GoUtil.generate_initial_go_file(go_file_path)
2121

_tools/ruby_h_to_go/lib/ruby_h_to_go/function_definition.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ def args
2525
# Write definition as go file
2626
# @param [String] dist_dir
2727
def write_go_file(dist_dir)
28-
go_file_path = File.join(dist_dir, "function_#{GoUtil.ruby_minor_version_build_tag}_generated.go")
28+
go_file_path = File.join(dist_dir, "function_#{GoGem::Util.ruby_minor_version_build_tag}_generated.go")
2929

3030
GoUtil.generate_initial_go_file(go_file_path)
3131

_tools/ruby_h_to_go/lib/ruby_h_to_go/go_util.rb

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ def self.snake_to_camel(str)
1616
def self.generate_initial_go_file(go_file_path)
1717
return if File.exist?(go_file_path)
1818

19-
ruby_build_tag = ruby_minor_version_build_tag(RUBY_VERSION)
19+
ruby_build_tag = GoGem::Util.ruby_minor_version_build_tag
2020

2121
File.binwrite(go_file_path, <<~GO)
2222
// THE AUTOGENERATED LICENSE. ALL THE RIGHTS ARE RESERVED BY ROBOTS.
@@ -40,12 +40,6 @@ def self.generate_initial_go_file(go_file_path)
4040
GO
4141
end
4242

43-
# @param ruby_version [String]
44-
# @return [String]
45-
def self.ruby_minor_version_build_tag(ruby_version = RUBY_VERSION)
46-
"ruby_#{ruby_version.to_f.to_s.gsub(".", "_")}"
47-
end
48-
4943
C_TYPE_TO_GO_TYPE = {
5044
"RUBY_DATA_FUNC" => "unsafe.Pointer",
5145
"long long" => "Longlong",

_tools/ruby_h_to_go/lib/ruby_h_to_go/struct_definition.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ def initialize(definition:)
1515
# Write definition as go file
1616
# @param [String] dist_dir
1717
def write_go_file(dist_dir)
18-
go_file_path = File.join(dist_dir, "struct_#{GoUtil.ruby_minor_version_build_tag}_generated.go")
18+
go_file_path = File.join(dist_dir, "struct_#{GoGem::Util.ruby_minor_version_build_tag}_generated.go")
1919

2020
GoUtil.generate_initial_go_file(go_file_path)
2121

_tools/ruby_h_to_go/lib/ruby_h_to_go/type_definition.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ def initialize(definition:)
1515
# Write definition as go file
1616
# @param [String] dist_dir
1717
def write_go_file(dist_dir)
18-
go_file_path = File.join(dist_dir, "type_#{GoUtil.ruby_minor_version_build_tag}_generated.go")
18+
go_file_path = File.join(dist_dir, "type_#{GoGem::Util.ruby_minor_version_build_tag}_generated.go")
1919

2020
GoUtil.generate_initial_go_file(go_file_path)
2121

0 commit comments

Comments
 (0)