hotdog 0.1.10 → 0.1.11
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/lib/hotdog/application.rb +4 -0
- data/lib/hotdog/commands/search.rb +2 -2
- data/lib/hotdog/commands.rb +20 -10
- data/lib/hotdog/version.rb +1 -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: 386ea5a2e53080113a7136e39a71a08465e087fa
|
4
|
+
data.tar.gz: c69190562efa14c594d20976025d1abd408b47b6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: df1751d43d7c69edd34a6a1decb2a4b247a7993c0f0bc0a9277066d90a95364ca5582a3e5c2a30eb103e9fdfccf6d79a63029bbcb796862e766fb31897d74c33
|
7
|
+
data.tar.gz: 84178da6939e1066e18062e235caaa0c055e9bd5d28280aa5f60a4d648d8272ac1ae66ceaf1219e8930ea0d70dc78f4ca543d330a960db53d109dd2d8945a55d
|
data/lib/hotdog/application.rb
CHANGED
@@ -28,6 +28,7 @@ module Hotdog
|
|
28
28
|
max_time: 5,
|
29
29
|
print0: false,
|
30
30
|
print1: true,
|
31
|
+
primary_tag: nil,
|
31
32
|
tags: [],
|
32
33
|
display_search_tags: false,
|
33
34
|
verbose: false,
|
@@ -108,6 +109,9 @@ module Hotdog
|
|
108
109
|
@optparse.on("-a TAG", "-t TAG", "--tag TAG", "Use specified tag name/value") do |tag|
|
109
110
|
options[:tags] += [tag]
|
110
111
|
end
|
112
|
+
@optparse.on("--primary-tag TAG", "Use specified tag as the primary tag") do |tag|
|
113
|
+
options[:primary_tag] = tag
|
114
|
+
end
|
111
115
|
@optparse.on("-x", "--display-search-tags", "Show tags used in search expression") do |v|
|
112
116
|
options[:display_search_tags] = v
|
113
117
|
end
|
@@ -41,8 +41,8 @@ module Hotdog
|
|
41
41
|
end
|
42
42
|
}
|
43
43
|
identifiers = drilldown.call(node).map(&:to_s)
|
44
|
-
|
45
|
-
get_hosts(result,
|
44
|
+
tags = @options[:display_search_tags] ? identifiers : nil
|
45
|
+
get_hosts(result, tags)
|
46
46
|
end
|
47
47
|
|
48
48
|
def parse(expression)
|
data/lib/hotdog/commands.rb
CHANGED
@@ -56,14 +56,10 @@ module Hotdog
|
|
56
56
|
not host_id.nil?
|
57
57
|
end
|
58
58
|
|
59
|
-
def get_hosts(hosts
|
59
|
+
def get_hosts(hosts, tags=nil)
|
60
|
+
tags ||= @options[:tags]
|
60
61
|
update_db
|
61
|
-
if 0 <
|
62
|
-
tags = if 0 < @options[:tags].length
|
63
|
-
@options[:tags] + identifiers
|
64
|
-
else
|
65
|
-
["host"] + identifiers
|
66
|
-
end
|
62
|
+
if 0 < tags.length
|
67
63
|
result = hosts.map { |host_id|
|
68
64
|
tags.map { |tag|
|
69
65
|
tag_name, tag_value = tag.split(":", 2)
|
@@ -82,6 +78,7 @@ module Hotdog
|
|
82
78
|
fields = tags
|
83
79
|
else
|
84
80
|
if @options[:listing]
|
81
|
+
# TODO: should respect `:primary_tag`
|
85
82
|
fields = []
|
86
83
|
hosts = execute("SELECT id, name FROM hosts WHERE id IN (%s)" % hosts.map { "?" }.join(", "), hosts)
|
87
84
|
result = hosts.map { |host_id, host_name|
|
@@ -95,8 +92,21 @@ module Hotdog
|
|
95
92
|
}
|
96
93
|
fields = ["host"] + fields
|
97
94
|
else
|
98
|
-
|
99
|
-
|
95
|
+
if @options[:primary_tag]
|
96
|
+
fields = [@options[:primary_tag]]
|
97
|
+
tag_name, tag_value = @options[:primary_tag].split(":", 2)
|
98
|
+
case tag_name
|
99
|
+
when "host"
|
100
|
+
result = execute("SELECT name FROM hosts WHERE id IN (%s)" % hosts.map { "?" }.join(", "), hosts)
|
101
|
+
else
|
102
|
+
result = hosts.map { |host_id|
|
103
|
+
[select_tag_values_from_hosts_tags_by_host_id_and_tag_name_glob(@db, host_id, tag_name)]
|
104
|
+
}
|
105
|
+
end
|
106
|
+
else
|
107
|
+
fields = ["host"]
|
108
|
+
result = execute("SELECT name FROM hosts WHERE id IN (%s)" % hosts.map { "?" }.join(", "), hosts)
|
109
|
+
end
|
100
110
|
end
|
101
111
|
end
|
102
112
|
[result, fields]
|
@@ -305,7 +315,7 @@ module Hotdog
|
|
305
315
|
end
|
306
316
|
|
307
317
|
def select_tag_values_from_hosts_tags_by_host_id_and_tag_name_glob(db, host_id, tag_name)
|
308
|
-
logger.debug("select_tag_values_from_hosts_tags_by_host_id_and_tag_name_glob(%s, %s)"
|
318
|
+
logger.debug("select_tag_values_from_hosts_tags_by_host_id_and_tag_name_glob(%s, %s)" % [host_id.inspect, tag_name.inspect])
|
309
319
|
db.execute(<<-EOS, host_id, tag_name).map { |row| row.first }.join(",")
|
310
320
|
SELECT tags.value FROM hosts_tags
|
311
321
|
INNER JOIN tags ON hosts_tags.tag_id = tags.id
|
data/lib/hotdog/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hotdog
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yamashita Yuu
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-05-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|