diff options
author | Ralph Amissah <ralph@amissah.com> | 2015-05-17 20:22:55 -0400 |
---|---|---|
committer | Ralph Amissah <ralph@amissah.com> | 2015-05-17 20:26:03 -0400 |
commit | d020a0bd7f94aae9546fd503789c66b4499c4792 (patch) | |
tree | 2e48c5ee52f9d53e36660c6d0c93355f82bcc51b | |
parent | qi (quick install) gem install version (diff) |
bin/sisu juggle multiple install & run options
-rwxr-xr-x | bin/sisu | 17 |
1 files changed, 13 insertions, 4 deletions
@@ -20,7 +20,7 @@ class Orient :full_path_to_sisu_bin_in_sisu_dir_tree elsif processing.sisu_runtime_path =~/\/gems\// \ and processing.sisu_runtime_path \ - =~ processing.gem_regex + =~ /\/#{processing.gem_regex}\// :gem_install else :system_install @@ -43,7 +43,7 @@ class Orient %r{\bsisu$} end def gem_regex - %r{\/sisu-[0-9]+\.[0-9]+\.[0-9]+(?:\.r[0-9]+\.g[0-9a-f]{7})?\/} + %r{sisu-[0-9]+\.[0-9]+\.[0-9]+(?:\.r[0-9]+\.g[0-9a-f]{7})?} end self end @@ -109,12 +109,21 @@ class Orient File.expand_path(processing.called_as). sub(/\/bin\/sisu$/,'/data/sisu') when :set_path_gem - Gem::Specification.find_by_name("sisu").gem_dir + '/data/sisu' + Gem::Specification.find_by_name("sisu").gem_dir \ + + '/data/sisu' else nil end end def sisu_this_lib - if (processing.called_as \ + if not Gem::Specification.find_by_name("sisu").nil? \ + and processing.sisu_runtime_path =~/\/gems\// \ + and processing.sisu_runtime_path \ + =~ /\/#{processing.gem_regex}\// + # gem sought + processing.sisu_runtime_path. + gsub(/\/bin\/sisu[a-z0-9._-]*$/, + '/lib/sisu') + elsif (processing.called_as \ !~ /^#{RbConfig::CONFIG['bindir']}\/sisu$/) # called off file system, project directory tree File.expand_path(processing.called_as). |