summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rw-r--r--lib/mruby/source.rb2
-rw-r--r--lib/mruby/source/path.rb9
-rw-r--r--lib/mruby/source/version.rb13
-rw-r--r--mruby-source.gemspec18
5 files changed, 43 insertions, 1 deletions
diff --git a/.gitignore b/.gitignore
index 1a8c5990c..6d10a9c8b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -20,4 +20,4 @@ cscope.out
/src/y.tab.c
/bin
/build
-/lib
+/mruby-source-*.gem
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
diff --git a/mruby-source.gemspec b/mruby-source.gemspec
new file mode 100644
index 000000000..6ccd5d259
--- /dev/null
+++ b/mruby-source.gemspec
@@ -0,0 +1,18 @@
+# coding: utf-8
+lib = File.expand_path('../lib', __FILE__)
+$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
+require 'mruby/source/version'
+
+Gem::Specification.new do |spec|
+ spec.name = "mruby-source"
+ spec.version = MRuby::Source::MRUBY_VERSION
+ spec.authors = ["mruby developers"]
+
+ spec.summary = %q{MRuby source code wrapper.}
+ spec.description = %q{MRuby source code wrapper for use with Ruby libs.}
+ spec.homepage = "http://www.mruby.org/"
+ spec.license = "MIT"
+
+ spec.files = `git ls-files -z`.split("\x0")
+ spec.require_paths = ["lib"]
+end