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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: abdae2cc364480149efdfdc721b199aa8678a01c
4
- data.tar.gz: 4683b97c1f6429fdb24026d7527247e609238dce
3
+ metadata.gz: 39df5e7ca815a170dc0f4ae3e046e6468681408f
4
+ data.tar.gz: 880c624fb0565383d968b07e34086fdefce4e62c
5
5
  SHA512:
6
- metadata.gz: 6b29d82a52e106bbeaaab70c60be2b20b6244a5bce533f68add7e409db4b3331b5e735b1f8c484487d805191657d5976ee00521dbd39ee0af8b125bc4dafa354
7
- data.tar.gz: 95b86e4d1131b28d5e35566393159a8aa882c15299916bf07d66ae9e07ede085b57b96be84cd3dfd6edc762ef37f60000359e3883bd19b3cc5d33bcb0b4f7238
6
+ metadata.gz: 739dd668b8d1b6fb7ae25a945678b1cba057a6d41f72775eb05325a08b89c7e970c613d169bfe3ab5621a46a454f19aa1f5cdd4364ce042e47cdfebea31f9146
7
+ data.tar.gz: ba5d42afa1ff400bc3c8a9f774fdf2635785a1426f61872b7ec4c0d8e117d2e3d387102526a085deb35f97d9544d46b97a729f9180267b0113aaa478c16d676f
data/bin/snapme CHANGED
@@ -1,4 +1,10 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require 'snapme'
3
+ begin
4
+ require 'snapme'
5
+ rescue LoadError
6
+ $:.unshift('./lib')
7
+ require 'snapme'
8
+ end
9
+
4
10
  Snapme::CLI::Command.start(ARGV.dup)
@@ -2,9 +2,28 @@ module Snapme
2
2
  module CLI
3
3
  class Command
4
4
  def self.start(args)
5
- options = Options.parse(args)
6
- Process.daemon(true) if options.daemon
7
- Snapper.new(options.host, options.interval).run
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
@@ -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)
@@ -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 = ENV['SNAPME_AUTH_TOKEN'], command = ImagesnapCommand.new)
7
+ def initialize(host, interval, auth_token, command = ImagesnapCommand.new)
8
8
  @auth_token = auth_token
9
9
  @command = command
10
10
  @host = host
@@ -2,7 +2,7 @@ module Snapme
2
2
  module Version
3
3
  MAJOR = 0
4
4
  MINOR = 2
5
- PATCH = 1
5
+ PATCH = 2
6
6
  PRE = nil
7
7
 
8
8
  def self.to_s
@@ -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.1
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-19 00:00:00.000000000 Z
11
+ date: 2013-07-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: curb