collins_shell 0.2.15 → 0.2.16

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.
data/Gemfile CHANGED
@@ -2,7 +2,7 @@ source :rubygems
2
2
 
3
3
  Encoding.default_external = Encoding::UTF_8
4
4
 
5
- gem 'collins_client', '~> 0.2.9'
5
+ gem 'collins_client', '>= 0.2.10'
6
6
  gem 'highline', '~> 1.6.15'
7
7
  gem 'mustache', '~> 0.99.4'
8
8
  gem 'pry', '~> 0.9.9.6'
data/Gemfile.lock CHANGED
@@ -2,7 +2,7 @@ GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
4
  coderay (1.0.8)
5
- collins_client (0.2.9)
5
+ collins_client (0.2.10)
6
6
  httparty (~> 0.8.3)
7
7
  diff-lcs (1.1.3)
8
8
  git (1.2.5)
@@ -17,14 +17,14 @@ GEM
17
17
  rdoc
18
18
  json (1.7.5)
19
19
  method_source (0.7.1)
20
- multi_json (1.3.7)
20
+ multi_json (1.5.0)
21
21
  multi_xml (0.5.1)
22
22
  mustache (0.99.4)
23
23
  pry (0.9.9.6)
24
24
  coderay (~> 1.0.5)
25
25
  method_source (~> 0.7.1)
26
26
  slop (>= 2.4.4, < 3)
27
- rake (10.0.2)
27
+ rake (10.0.3)
28
28
  rdoc (3.12)
29
29
  json (~> 1.4)
30
30
  redcarpet (2.2.2)
@@ -46,7 +46,7 @@ PLATFORMS
46
46
  ruby
47
47
 
48
48
  DEPENDENCIES
49
- collins_client (~> 0.2.9)
49
+ collins_client (>= 0.2.10)
50
50
  highline (~> 1.6.15)
51
51
  jeweler (~> 1.8.3)
52
52
  mustache (~> 0.99.4)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.15
1
+ 0.2.16
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "collins_shell"
8
- s.version = "0.2.15"
8
+ s.version = "0.2.16"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Blake Matheny"]
12
- s.date = "2012-11-19"
12
+ s.date = "2012-12-17"
13
13
  s.description = "Provides basic CLI for interacting with Collins API"
14
14
  s.email = "bmatheny@tumblr.com"
15
15
  s.executables = ["collins-shell"]
@@ -148,6 +148,35 @@ module CollinsShell
148
148
  end
149
149
  end
150
150
 
151
+ desc 'set_attributes KEY=VALUE [KEY=VALUE,...]', 'set multiple attributes on an asset in collins'
152
+ use_collins_options
153
+ use_tag_option
154
+ use_selector_option
155
+ def set_attributes *hash
156
+ attributes = hash.inject({}) do |ret, e|
157
+ k, v = e.split('=', 2)
158
+ if k.nil? or v.nil? then
159
+ k, v = e.split(':', 2)
160
+ if k.nil? or v.nil? then
161
+ raise ::CollinsShell::RequirementFailedError.new "Expected key=value (or key:value) format"
162
+ end
163
+ end
164
+ ret[k] = v
165
+ ret
166
+ end
167
+ batch_selector_operation Hash[
168
+ :remote => options.remote,
169
+ :operation => "set_attributes",
170
+ :success_message => proc {|asset| "Set attributes on #{asset.tag}"},
171
+ :error_message => proc{|asset| "Setting attributes on #{asset.tag}"},
172
+ :confirmation_message => proc do |assets|
173
+ "You are about to set #{attributes.inspect} on #{assets.length} hosts. ARE YOU SURE?"
174
+ end
175
+ ] do |client,asset|
176
+ client.set_multi_attribute!(asset, attributes)
177
+ end
178
+ end
179
+
151
180
  desc 'delete_attribute KEY', 'delete an attribute in collins'
152
181
  use_collins_options
153
182
  use_tag_option
@@ -129,6 +129,7 @@ module CollinsShell
129
129
  :query => query,
130
130
  :size => options[:size].to_i,
131
131
  :sort => options[:sort],
132
+ :sortField => 'date'
132
133
  ]
133
134
  logs = client.search_logs params
134
135
  printer = CollinsShell::LogPrinter.new("all assets", logs)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: collins_shell
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.15
4
+ version: 0.2.16
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-19 00:00:00.000000000 Z
12
+ date: 2012-12-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: collins_client
@@ -184,7 +184,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
184
184
  version: '0'
185
185
  segments:
186
186
  - 0
187
- hash: -2946645425719816064
187
+ hash: -885619558922916100
188
188
  required_rubygems_version: !ruby/object:Gem::Requirement
189
189
  none: false
190
190
  requirements: