Class: Aspera::Cli::Result::SingleObject
- Inherits:
-
Result
- Object
- Result
- Aspera::Cli::Result::SingleObject
- Defined in:
- lib/aspera/cli/result.rb
Overview
Single object result (Hash)
Instance Method Summary collapse
- #format(formatter) ⇒ Object
-
#initialize(data, fields: nil) ⇒ SingleObject
constructor
A new instance of SingleObject.
Constructor Details
#initialize(data, fields: nil) ⇒ SingleObject
Returns a new instance of SingleObject.
199 200 201 202 |
# File 'lib/aspera/cli/result.rb', line 199 def initialize(data, fields: nil) Aspera.assert_type(data, Hash){'single object result data'} super(data: data, fields: fields) end |
Instance Method Details
#format(formatter) ⇒ Object
204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 |
# File 'lib/aspera/cli/result.rb', line 204 def format(formatter) case formatter.format_type when :image # Extract single field for image display data_array = [@data] fields = formatter.compute_fields(data_array, @fields) Aspera.assert(fields.length == 1, 'select a single field to display', type: Cli::BadArgument) Aspera.assert(@data.key?(fields.first), 'no such field', type: Cli::BadArgument) # Create an Image result and format it Image.new(@data[fields.first]).format(formatter) when :table, :csv Aspera.assert_type(@data, Hash){'result'} if @data.empty? formatter.(:data, formatter.special_format('empty dict')) else data = formatter.flat_hash? ? DotContainer.new(@data).to_dotted : @data formatter.display_table([data], formatter.compute_fields([data], @fields), single: true) end else super end end |