snapme 0.2.1 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|