snapme 0.2.1 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/snapme +7 -1
- data/lib/snapme/cli/command.rb +22 -3
- data/lib/snapme/cli/options.rb +12 -2
- data/lib/snapme/snapper.rb +1 -1
- data/lib/snapme/version.rb +1 -1
- data/spec/lib/snapme/cli/command_spec.rb +3 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 39df5e7ca815a170dc0f4ae3e046e6468681408f
|
4
|
+
data.tar.gz: 880c624fb0565383d968b07e34086fdefce4e62c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 739dd668b8d1b6fb7ae25a945678b1cba057a6d41f72775eb05325a08b89c7e970c613d169bfe3ab5621a46a454f19aa1f5cdd4364ce042e47cdfebea31f9146
|
7
|
+
data.tar.gz: ba5d42afa1ff400bc3c8a9f774fdf2635785a1426f61872b7ec4c0d8e117d2e3d387102526a085deb35f97d9544d46b97a729f9180267b0113aaa478c16d676f
|
data/bin/snapme
CHANGED
data/lib/snapme/cli/command.rb
CHANGED
@@ -2,9 +2,28 @@ module Snapme
|
|
2
2
|
module CLI
|
3
3
|
class Command
|
4
4
|
def self.start(args)
|
5
|
-
options
|
6
|
-
|
7
|
-
|
5
|
+
options = Options.parse(args)
|
6
|
+
auth_token = ENV['SNAPME_AUTH_TOKEN']
|
7
|
+
|
8
|
+
if options.kill
|
9
|
+
`killall snapme`
|
10
|
+
return
|
11
|
+
end
|
12
|
+
|
13
|
+
if options.show_version
|
14
|
+
puts Snapme::Version
|
15
|
+
return
|
16
|
+
end
|
17
|
+
|
18
|
+
if auth_token
|
19
|
+
Process.daemon(true) if options.daemon
|
20
|
+
Snapper.new(options.host, options.interval, auth_token).run
|
21
|
+
else
|
22
|
+
puts <<-MSG
|
23
|
+
Please set SNAPME_AUTH_TOKEN in your environment. You can get your
|
24
|
+
auth token from http://snapme.herokuapp.com
|
25
|
+
MSG
|
26
|
+
end
|
8
27
|
end
|
9
28
|
end
|
10
29
|
end
|
data/lib/snapme/cli/options.rb
CHANGED
@@ -6,12 +6,14 @@ module Snapme
|
|
6
6
|
DEFAULT_HOST = 'http://snapme.herokuapp.com'
|
7
7
|
DEFAULT_INTERVAL = 30 #seconds
|
8
8
|
|
9
|
-
attr_reader :daemon, :host, :interval
|
9
|
+
attr_reader :daemon, :host, :interval, :kill, :show_version
|
10
10
|
|
11
|
-
def initialize(daemon: true, host: DEFAULT_HOST, interval: DEFAULT_INTERVAL)
|
11
|
+
def initialize(daemon: true, host: DEFAULT_HOST, interval: DEFAULT_INTERVAL, kill: false, show_version: false)
|
12
12
|
@daemon = !!(daemon)
|
13
13
|
@host = host
|
14
14
|
@interval = interval.to_i
|
15
|
+
@kill = kill
|
16
|
+
@show_version = show_version
|
15
17
|
end
|
16
18
|
|
17
19
|
def self.parse(args)
|
@@ -36,6 +38,14 @@ module Snapme
|
|
36
38
|
opts.on('-i', '--interval [SECONDS]', 'Snapshot interval') do |seconds|
|
37
39
|
options[:interval] = seconds
|
38
40
|
end
|
41
|
+
|
42
|
+
opts.on('-k', '--kill', 'Kill any snapme processes') do
|
43
|
+
options[:kill] = true
|
44
|
+
end
|
45
|
+
|
46
|
+
opts.on('-v', '--version', 'Print snapme version') do
|
47
|
+
options[:show_version] = true
|
48
|
+
end
|
39
49
|
end.parse!(args)
|
40
50
|
|
41
51
|
new(options)
|
data/lib/snapme/snapper.rb
CHANGED
@@ -4,7 +4,7 @@ module Snapme
|
|
4
4
|
class Snapper
|
5
5
|
attr_reader :auth_token, :command, :host, :interval
|
6
6
|
|
7
|
-
def initialize(host, interval, auth_token
|
7
|
+
def initialize(host, interval, auth_token, command = ImagesnapCommand.new)
|
8
8
|
@auth_token = auth_token
|
9
9
|
@command = command
|
10
10
|
@host = host
|
data/lib/snapme/version.rb
CHANGED
@@ -6,8 +6,10 @@ describe Snapme::CLI::Command do
|
|
6
6
|
let(:args) { double :args }
|
7
7
|
let(:options){ OpenStruct.new }
|
8
8
|
let(:snapper){ double('Snapme::Snapper').as_null_object }
|
9
|
+
let(:token) { 'abc123' }
|
9
10
|
|
10
11
|
before do
|
12
|
+
ENV['SNAPME_AUTH_TOKEN'] = token
|
11
13
|
allow(Snapme::CLI::Options).to receive(:parse).and_return(options)
|
12
14
|
allow(Snapme::Snapper).to receive(:new).and_return(snapper)
|
13
15
|
end
|
@@ -35,7 +37,7 @@ describe Snapme::CLI::Command do
|
|
35
37
|
options.interval = interval
|
36
38
|
snapper = double 'Snapme::Snapper'
|
37
39
|
|
38
|
-
expect(Snapme::Snapper).to receive(:new).with(host, interval).and_return(snapper)
|
40
|
+
expect(Snapme::Snapper).to receive(:new).with(host, interval, token).and_return(snapper)
|
39
41
|
expect(snapper).to receive(:run)
|
40
42
|
|
41
43
|
described_class.start(args)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: snapme
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jay Hayes
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-07-
|
11
|
+
date: 2013-07-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: curb
|