summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
Diffstat (limited to 'ext')
-rw-r--r--ext/etc/etc.c3
-rw-r--r--ext/etc/etc.gemspec13
2 files changed, 15 insertions, 1 deletions
diff --git a/ext/etc/etc.c b/ext/etc/etc.c
index 93b19f12f5..b6dca94b99 100644
--- a/ext/etc/etc.c
+++ b/ext/etc/etc.c
@@ -52,6 +52,8 @@ char *getenv();
#endif
char *getlogin();
+#define RUBY_ETC_VERSION "1.0.1"
+
#include "constdefs.h"
/* call-seq:
@@ -1062,6 +1064,7 @@ Init_etc(void)
VALUE mEtc;
mEtc = rb_define_module("Etc");
+ rb_define_const(mEtc, "VERSION", rb_str_new_cstr(RUBY_ETC_VERSION));
init_constants(mEtc);
rb_define_module_function(mEtc, "getlogin", etc_getlogin, 0);
diff --git a/ext/etc/etc.gemspec b/ext/etc/etc.gemspec
index f3ec4afc7b..f28016925f 100644
--- a/ext/etc/etc.gemspec
+++ b/ext/etc/etc.gemspec
@@ -1,8 +1,19 @@
# frozen_string_literal: true
+version = ["", "ext/etc/"].find do |dir|
+ begin
+ break File.open(File.expand_path("../#{dir}/etc.c", __FILE__)) do |f|
+ f.gets "\n#define RUBY_ETC_VERSION "
+ f.gets[/"(.+)"/, 1]
+ end
+ rescue
+ next
+ end
+end
+
Gem::Specification.new do |spec|
spec.name = "etc"
- spec.version = "1.0.1"
+ spec.version = version
spec.authors = ["Yukihiro Matsumoto"]
spec.email = ["matz@ruby-lang.org"]