summaryrefslogtreecommitdiffhomepage
path: root/lib
diff options
context:
space:
mode:
authorSeba Gamboa <[email protected]>2015-09-01 18:45:53 -0300
committerSeba Gamboa <[email protected]>2015-09-01 18:45:53 -0300
commit63d2d192a1a8a3734bf9b0c17d88e3646063314e (patch)
tree976ff65cb619edab26b3a42d6900ecf00c9566d7 /lib
parent64d7dec45799279646ce6224764ef3377922754f (diff)
downloadmruby-63d2d192a1a8a3734bf9b0c17d88e3646063314e.tar.gz
mruby-63d2d192a1a8a3734bf9b0c17d88e3646063314e.zip
Expose MRuby source as a gem
Diffstat (limited to 'lib')
-rw-r--r--lib/mruby/source.rb2
-rw-r--r--lib/mruby/source/path.rb9
-rw-r--r--lib/mruby/source/version.rb13
3 files changed, 24 insertions, 0 deletions
diff --git a/lib/mruby/source.rb b/lib/mruby/source.rb
new file mode 100644
index 000000000..bf33d44fd
--- /dev/null
+++ b/lib/mruby/source.rb
@@ -0,0 +1,2 @@
+require "mruby/source/path"
+require "mruby/source/version"
diff --git a/lib/mruby/source/path.rb b/lib/mruby/source/path.rb
new file mode 100644
index 000000000..dbeaef5e1
--- /dev/null
+++ b/lib/mruby/source/path.rb
@@ -0,0 +1,9 @@
+require "pathname"
+
+module MRuby
+ module Source
+ def self.path
+ Pathname.new(File.expand_path('../../../../',__FILE__))
+ end
+ end
+end
diff --git a/lib/mruby/source/version.rb b/lib/mruby/source/version.rb
new file mode 100644
index 000000000..22bf9c009
--- /dev/null
+++ b/lib/mruby/source/version.rb
@@ -0,0 +1,13 @@
+require "mruby/source/path"
+
+module MRuby
+ module Source
+ # Reads a constant defined at version.h
+ MRUBY_READ_VERSION_CONSTANT = -> (name) { Source.path.join('include','mruby','version.h').read.match(/^#define #{name} "?(\w+)"?$/)[1] }
+
+ MRUBY_RELEASE_MAJOR = Integer(MRUBY_READ_VERSION_CONSTANT['MRUBY_RELEASE_MAJOR'])
+ MRUBY_RELEASE_MINOR = Integer(MRUBY_READ_VERSION_CONSTANT['MRUBY_RELEASE_MINOR'])
+ MRUBY_RELEASE_TEENY = Integer(MRUBY_READ_VERSION_CONSTANT['MRUBY_RELEASE_TEENY'])
+ MRUBY_VERSION = [MRUBY_RELEASE_MAJOR,MRUBY_RELEASE_MINOR,MRUBY_RELEASE_TEENY].join('.')
+ end
+end