summaryrefslogtreecommitdiff
path: root/ext/bigdecimal/extconf.rb
diff options
context:
space:
mode:
authorJean Boussier <jean.boussier@gmail.com>2021-12-02 12:02:21 +0100
committerKenta Murata <mrkn@mrkn.jp>2021-12-24 02:28:59 +0900
commitd0897e3f3afdc6d1fdb0fa60bdf4b0cb80c7de03 (patch)
treef6bb6634afa77bffbc486b6db39a985ea2c5af6a /ext/bigdecimal/extconf.rb
parent84ae7a5df9aac2dce406e88ece04e839073b461b (diff)
[ruby/bigdecimal] Improve extconf to allow using bigdecimal as a git gem
e.g. ``` gem "bigdecimal", github: "ruby/bigdecimal" ``` It would fail because bundler regenerates the `gemspec`, so `bigdecimal_version` is gone. https://github.com/ruby/bigdecimal/commit/bccaa66f2c
Diffstat (limited to 'ext/bigdecimal/extconf.rb')
-rw-r--r--ext/bigdecimal/extconf.rb5
1 files changed, 1 insertions, 4 deletions
diff --git a/ext/bigdecimal/extconf.rb b/ext/bigdecimal/extconf.rb
index c92aacb3f2..9b0c55b21c 100644
--- a/ext/bigdecimal/extconf.rb
+++ b/ext/bigdecimal/extconf.rb
@@ -3,10 +3,7 @@ require 'mkmf'
def check_bigdecimal_version(gemspec_path)
message "checking RUBY_BIGDECIMAL_VERSION... "
-
- bigdecimal_version =
- IO.readlines(gemspec_path)
- .grep(/\Abigdecimal_version\s+=\s+/)[0][/\'([^\']+)\'/, 1]
+ bigdecimal_version = File.read(gemspec_path).match(/^\s*s\.version\s+=\s+['"]([^'"]+)['"]\s*$/)[1]
version_components = bigdecimal_version.split('.')
bigdecimal_version = version_components[0, 3].join('.')