hoot 0.2.0 → 0.3.0
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/Gemfile.lock +1 -1
- data/bin/hoot +15 -1
- data/lib/hoot.rb +2 -1
- data/lib/hoot/client.rb +2 -1
- data/lib/hoot/metadata.rb +73 -0
- data/lib/hoot/version.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 748725451b89a09686d011f00ca244cc11aac033
|
4
|
+
data.tar.gz: 2fdc9c6724ccf5195bd30c4e2499817239182c26
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a9ed73ff84a9025e6c55efe734cbc38d443a508c8b058f8bbfa9a3ec6f622929fe8f5ffdeef555c3a5c99006a6cc17a3065f56e9aca540f9a7c7e7098e9d8724
|
7
|
+
data.tar.gz: a6ab839c73600d304b8da7974c9bd8bdf3aac212e6cd16e85fe0ea3c6ea94f9c4d0f19de6d0bfa1309401848c1eb392076f7f46767343439d9f6b8ef432d38a2
|
data/Gemfile.lock
CHANGED
data/bin/hoot
CHANGED
@@ -52,10 +52,24 @@ command :push do |c|
|
|
52
52
|
end
|
53
53
|
|
54
54
|
client.push(options.message)
|
55
|
-
|
56
55
|
end
|
57
56
|
end
|
58
57
|
|
58
|
+
command :set do |c|
|
59
|
+
c.syntax = 'hoot set [options]'
|
60
|
+
c.description = 'Set metadata for your notifications, ex. description, sender.'
|
61
|
+
|
62
|
+
c.option '-d', '--description String', String, 'Set the device description, e.g. "My Macbook."'
|
63
|
+
c.option '-s', '--device String', String, 'Sets the sender (for Hoot app icon). Options: `laptop`, `server` or `desktop`.'
|
64
|
+
|
65
|
+
c.example 'set', 'hoot --description "My Macbook Pro" --device server'
|
66
|
+
|
67
|
+
c.action do |args, options|
|
68
|
+
Hoot::Metadata.set(:description, options.description)
|
69
|
+
Hoot::Metadata.set(:device, options.device)
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
59
73
|
private
|
60
74
|
|
61
75
|
def client
|
data/lib/hoot.rb
CHANGED
data/lib/hoot/client.rb
CHANGED
@@ -0,0 +1,73 @@
|
|
1
|
+
require 'yaml'
|
2
|
+
|
3
|
+
module Hoot
|
4
|
+
module Metadata
|
5
|
+
@path = "#{ENV['HOME']}/.hoot/metadata.yml"
|
6
|
+
|
7
|
+
public
|
8
|
+
|
9
|
+
def self.set(key, value)
|
10
|
+
return if value.nil?
|
11
|
+
return unless keys.include?(key)
|
12
|
+
create unless File.exist?(@path)
|
13
|
+
|
14
|
+
if File.exist?(@path)
|
15
|
+
@m = YAML::load_file(@path)
|
16
|
+
end
|
17
|
+
|
18
|
+
if @m.nil? || @m == false
|
19
|
+
@m = {}
|
20
|
+
end
|
21
|
+
|
22
|
+
if valid?(key, value)
|
23
|
+
# key = key.to_s Still not sure if I want to remove the ':' from the .yml file.
|
24
|
+
@m[key] = value
|
25
|
+
save
|
26
|
+
else
|
27
|
+
abort('You are trying to set invalid options.')
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def self.get
|
32
|
+
return YAML::load_file(@path) if File.exist?(@path)
|
33
|
+
end
|
34
|
+
|
35
|
+
def self.save
|
36
|
+
if File.write(@path, @m.to_yaml)
|
37
|
+
true
|
38
|
+
else
|
39
|
+
false
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
protected
|
44
|
+
|
45
|
+
def self.create
|
46
|
+
path = "#{ENV['HOME']}/.hoot/"
|
47
|
+
Dir.mkdir(path) unless File.exists?(path)
|
48
|
+
File.new(@path, 'w')
|
49
|
+
end
|
50
|
+
|
51
|
+
def self.valid?(key, value)
|
52
|
+
return false unless keys.include?(key)
|
53
|
+
return true unless key == :device=
|
54
|
+
return false unless values.include?(value.to_sym)
|
55
|
+
end
|
56
|
+
|
57
|
+
def self.keys
|
58
|
+
[
|
59
|
+
:description,
|
60
|
+
:device
|
61
|
+
]
|
62
|
+
end
|
63
|
+
|
64
|
+
def self.values
|
65
|
+
[
|
66
|
+
:server,
|
67
|
+
:laptop,
|
68
|
+
:desktop
|
69
|
+
]
|
70
|
+
end
|
71
|
+
|
72
|
+
end
|
73
|
+
end
|
data/lib/hoot/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hoot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rudd Fawcett
|
@@ -97,6 +97,7 @@ files:
|
|
97
97
|
- "./lib/hoot.rb"
|
98
98
|
- "./lib/hoot/client.rb"
|
99
99
|
- "./lib/hoot/keychain.rb"
|
100
|
+
- "./lib/hoot/metadata.rb"
|
100
101
|
- "./lib/hoot/user.rb"
|
101
102
|
- "./lib/hoot/version.rb"
|
102
103
|
- bin/hoot
|