Class: Nucleon::Action::Network::Images

Inherits:
Object
  • Object
show all
Defined in:
lib/nucleon/action/network/images.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.describeObject


Info



10
11
12
# File 'lib/nucleon/action/network/images.rb', line 10

def self.describe
  super(:network, :images, 850)
end

Instance Method Details

#argumentsObject



40
41
42
# File 'lib/nucleon/action/network/images.rb', line 40

def arguments
  [ :node_provider, :search ]
end

#configureObject


Settings



17
18
19
20
21
22
23
24
25
26
27
# File 'lib/nucleon/action/network/images.rb', line 17

def configure
  super do
    codes :node_load_failure,
          :image_load_failure

    register :region, :str, nil
    register :match_case, :bool, false
    register :require_all, :bool, true
    register :search, :array, []
  end
end

#executeObject


Operations



47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/nucleon/action/network/images.rb', line 47

def execute
  super do |local_node|
    ensure_network do
      if node = network.test_node(settings[:node_provider], { :region => settings[:region] })
        if images = node.images(settings[:search], settings)
          images.each do |image|
            prefixed_message(:info, '  ', node.render_image(image), { :i18n => false, :prefix => false })
          end

          myself.result = images
          success('results', { :images => images.length }) if images.length > 1
        else
          myself.status = code.image_load_failure
        end
      else
        myself.status = code.node_load_failure
      end
    end
  end
end

#ignoreObject




36
37
38
# File 'lib/nucleon/action/network/images.rb', line 36

def ignore
  node_ignore - [ :node_provider ]
end

#node_configObject



29
30
31
32
# File 'lib/nucleon/action/network/images.rb', line 29

def node_config
  super
  config[:node_provider].default = nil
end