lib/heirloom/cli/update.rb in heirloom-0.1.4 vs lib/heirloom/cli/update.rb in heirloom-0.2.0
- old
+ new
@@ -1,23 +1,43 @@
module Heirloom
module CLI
class Update
- def initialize(args)
- @name = args[:name]
- @id = args[:id]
- @logger = args[:logger]
- @attribute = args[:attribute]
- @update = args[:update]
- @artifact = Artifact.new :name => @name,
- :id => @id,
- :logger => @logger
+ def initialize
+ @opts = read_options
+ @logger = HeirloomLogger.new :log_level => @opts[:level]
+ @archive = Archive.new :name => @opts[:name],
+ :id => @opts[:id],
+ :logger => @logger
end
def update
- @artifact.update :attribute => @attribute,
- :update => @update
+ @archive.update :attribute => @opts[:attribute],
+ :value => @opts[:value]
end
+ private
+
+ def read_options
+ Trollop::options do
+ version Heirloom::VERSION
+ banner <<-EOS
+
+Update an archive's attribute.
+
+Usage:
+
+heirloom update -n NAME -i ID -a ATTRIBUTE_TO_UPDATE -v NEW_VALUE
+
+EOS
+ opt :attribute, "Attribute to update.", :type => :string
+ opt :help, "Display Help"
+ opt :id, "ID of the archive to display.", :type => :string
+ opt :level, "Log level.", :type => :string,
+ :default => 'info'
+ opt :name, "Name of archive.", :type => :string
+ opt :value, "New value of attribute.", :type => :string
+ end
+ end
end
end
end