summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml2
-rw-r--r--Gemfile.lock2
-rw-r--r--lib/oxidized.rb1
-rw-r--r--lib/oxidized/cli.rb4
-rw-r--r--spec/cli_spec.rb24
5 files changed, 32 insertions, 1 deletions
diff --git a/.travis.yml b/.travis.yml
index 3734051..8f97b30 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,3 +1,5 @@
language: ruby
+sudo: false
+cache: bundler
rvm:
- 2.1.6
diff --git a/Gemfile.lock b/Gemfile.lock
index 8d19651..6be5978 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,7 +1,7 @@
PATH
remote: .
specs:
- oxidized (0.11.0)
+ oxidized (0.12.2)
asetus (~> 0.1)
net-ssh (~> 3.0, >= 3.0.2)
rugged (~> 0.21, >= 0.21.4)
diff --git a/lib/oxidized.rb b/lib/oxidized.rb
index e92224a..dfd9679 100644
--- a/lib/oxidized.rb
+++ b/lib/oxidized.rb
@@ -3,6 +3,7 @@ module Oxidized
Directory = File.expand_path(File.join(File.dirname(__FILE__), '../'))
+ require 'oxidized/version'
require 'oxidized/string'
require 'oxidized/config'
require 'oxidized/config/vars'
diff --git a/lib/oxidized/cli.rb b/lib/oxidized/cli.rb
index d35eab3..0594dcb 100644
--- a/lib/oxidized/cli.rb
+++ b/lib/oxidized/cli.rb
@@ -43,6 +43,10 @@ module Oxidized
opts = Slop.new(:help=>true) do
on 'd', 'debug', 'turn on debugging'
on 'daemonize', 'Daemonize/fork the process'
+ on 'v', 'version', 'show version' do
+ puts Oxidized::VERSION
+ Kernel.exit
+ end
end
[opts.parse!, opts]
end
diff --git a/spec/cli_spec.rb b/spec/cli_spec.rb
new file mode 100644
index 0000000..783d9c8
--- /dev/null
+++ b/spec/cli_spec.rb
@@ -0,0 +1,24 @@
+require 'spec_helper'
+require 'oxidized/cli'
+
+describe Oxidized::CLI do
+ let(:asetus) { mock() }
+
+ after { ARGV.replace @original }
+ before { @original = ARGV }
+
+ %w[-v --version].each do |option|
+ describe option do
+ before { ARGV.replace [option] }
+
+ it 'prints the version and exits' do
+ Oxidized::Config.expects(:load).returns(asetus)
+ Kernel.expects(:exit)
+
+ proc {
+ Oxidized::CLI.new
+ }.must_output "#{Oxidized::VERSION}\n"
+ end
+ end
+ end
+end