From 63d2d192a1a8a3734bf9b0c17d88e3646063314e Mon Sep 17 00:00:00 2001 From: Seba Gamboa Date: Tue, 1 Sep 2015 18:45:53 -0300 Subject: Expose MRuby source as a gem --- lib/mruby/source.rb | 2 ++ lib/mruby/source/path.rb | 9 +++++++++ lib/mruby/source/version.rb | 13 +++++++++++++ 3 files changed, 24 insertions(+) create mode 100644 lib/mruby/source.rb create mode 100644 lib/mruby/source/path.rb create mode 100644 lib/mruby/source/version.rb (limited to 'lib') 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 -- cgit v1.2.3