Class: Fields::ContainerField

Inherits:
Field
  • Object
show all
Defined in:
lib/hammer_cli/output/fields.rb

Direct Known Subclasses

Collection, Label

Instance Attribute Summary

Attributes inherited from Field

#label, #path

Instance Method Summary collapse

Methods inherited from Field

#hide_blank?, #hide_missing?, #parameters

Constructor Details

#initialize(options = {}, &block) ⇒ ContainerField

Returns a new instance of ContainerField.



45
46
47
48
49
50
51
# File 'lib/hammer_cli/output/fields.rb', line 45

def initialize(options={}, &block)
  super(options)
  dsl = HammerCLI::Output::Dsl.new
  dsl.build &block if block_given?

  self.output_definition.append dsl.fields
end

Instance Method Details

#display?(value) ⇒ Boolean

Returns:



62
63
64
65
66
67
68
69
70
# File 'lib/hammer_cli/output/fields.rb', line 62

def display?(value)
  if value.is_a?(HammerCLI::Output::DataMissing)
    !hide_missing?
  elsif value.nil? || value.empty?
    !hide_blank?
  else
    true
  end
end

#fieldsObject



58
59
60
# File 'lib/hammer_cli/output/fields.rb', line 58

def fields
  @output_definition.fields
end

#output_definitionObject



53
54
55
56
# File 'lib/hammer_cli/output/fields.rb', line 53

def output_definition
  @output_definition ||= HammerCLI::Output::Definition.new
  @output_definition
end