Class: ECS::HelpResponseGroup

Inherits:
Object
  • Object
show all
Defined in:
lib/ecs/help_response_group.rb

Class Method Summary collapse

Class Method Details

.aws_response_group_nameObject



63
64
65
# File 'lib/ecs/help_response_group.rb', line 63

def self.aws_response_group_name
  self.response_group_name =~ /^(.*)ResponseGroup/ ? $1 : self.response_group_name
end

.elements(force = false) ⇒ Object



31
32
33
34
35
36
37
38
39
# File 'lib/ecs/help_response_group.rb', line 31

def self.elements( force=false )
  if force || @elements.nil?
    @elements = []
    self.help_xml.HelpResponse.Information.ResponseGroupInformation.Elements.Element.each do |el|
      @elements << lambda { |xml_object| ; ( xml_object.respond_to?( :xml ) ? xml_object.xml : xml_object ).find( "//#{el.content}" ) }
    end
  end
  @elements
end

.help_xml(force = false) ⇒ Object



46
47
48
49
50
51
# File 'lib/ecs/help_response_group.rb', line 46

def self.help_xml( force=false )
  if force || @help_xml.nil?
    @help_xml = ECS.help( :HelpType => 'ResponseGroup', :About => self.aws_response_group_name ) { |x| ECS::Help.valid_aws_response?( x ) }.xml
  end
  @help_xml
end

.included(includer) ⇒ Object



54
55
56
57
# File 'lib/ecs/help_response_group.rb', line 54

def self.included( includer )
  includer.extend( ClassMethods )
  ECS::ResponseGroups[includer.response_group_name] = includer
end

.resolve_response_group_name(t) ⇒ Object



59
60
61
# File 'lib/ecs/help_response_group.rb', line 59

def self.resolve_response_group_name( t )
  t =~ /::([^:]*ResponseGroup)$/ ? $1 : t
end

.response_group_nameObject



42
43
44
# File 'lib/ecs/help_response_group.rb', line 42

def self.response_group_name
  @response_group_name ||= self.resolve_response_group_name( self.name )
end

.valid_operations(force = false) ⇒ Object



21
22
23
24
25
26
27
28
29
# File 'lib/ecs/help_response_group.rb', line 21

def self.valid_operations( force=false )
  if force || @valid_operations.nil?
    @valid_operations = []
    self.help_xml.HelpResponse.Information.ResponseGroupInformation.ValidOperations.Operation.each do |o|
      @valid_operations << o.content.to_s.to_sym
    end
  end
  @valid_operations
end