summaryrefslogtreecommitdiff
path: root/ext/stringio
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2019-07-10 01:21:05 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2019-07-10 01:21:05 +0900
commitdb844749af2da9cc06d90db0cb317ec379582afa (patch)
tree3354f593288b061d157e2907b576ed8b0d8fb11a /ext/stringio
parent49cad676351120927a9eda5fea58334c3d32f858 (diff)
Added StringIO::VERSION
Diffstat (limited to 'ext/stringio')
-rw-r--r--ext/stringio/stringio.c4
-rw-r--r--ext/stringio/stringio.gemspec11
2 files changed, 14 insertions, 1 deletions
diff --git a/ext/stringio/stringio.c b/ext/stringio/stringio.c
index 6ae9e805b5..4c135ef8c2 100644
--- a/ext/stringio/stringio.c
+++ b/ext/stringio/stringio.c
@@ -11,6 +11,8 @@
**********************************************************************/
+#define STRINGIO_VERSION "0.0.2"
+
#include "ruby.h"
#include "ruby/io.h"
#include "ruby/encoding.h"
@@ -1629,6 +1631,8 @@ Init_stringio(void)
#undef rb_intern
VALUE StringIO = rb_define_class("StringIO", rb_cData);
+ rb_define_const(StringIO, "VERSION", rb_str_new_cstr(STRINGIO_VERSION));
+
rb_include_module(StringIO, rb_mEnumerable);
rb_define_alloc_func(StringIO, strio_s_allocate);
rb_define_singleton_method(StringIO, "new", strio_s_new, -1);
diff --git a/ext/stringio/stringio.gemspec b/ext/stringio/stringio.gemspec
index df1d468f93..c0258bac5e 100644
--- a/ext/stringio/stringio.gemspec
+++ b/ext/stringio/stringio.gemspec
@@ -3,9 +3,18 @@
# stub: stringio 0.0.0 ruby lib
# stub: extconf.rb
+source_version = ["", "ext/stringio/"].find do |dir|
+ begin
+ File.open(File.join(__dir__, "#{dir}stringio.c")) {|f|
+ f.gets("\n#define STRINGIO_VERSION ")
+ f.gets[/\s*(".+")/, 1].undump
+ }
+ rescue Errno::ENOENT
+ end
+end
Gem::Specification.new do |s|
s.name = "stringio".freeze
- s.version = "0.0.2"
+ s.version = source_version
s.required_rubygems_version = Gem::Requirement.new(">= 2.6".freeze)
s.require_paths = ["lib".freeze]