Sha256: 6e7d5ab8563921cbd5bdeae30fe1c895c1259d136b7cc223ba4421aae9074f9e

Contents?: true

Size: 1.3 KB

Versions: 19

Compression:

Stored size: 1.3 KB

Contents

module Elasticity

  class JobFlowStatusStep

    attr_accessor :name
    attr_accessor :state
    attr_accessor :started_at
    attr_accessor :ended_at

    # Create a job flow from an AWS <member> (Nokogiri::XML::Element):
    #   /DescribeJobFlowsResponse/DescribeJobFlowsResult/JobFlows/member/Steps/member
    def self.from_member_element(xml_element)
      job_flow_step = JobFlowStatusStep.new
      job_flow_step.name = xml_element.xpath('./StepConfig/Name').text.strip
      job_flow_step.state = xml_element.xpath('./ExecutionStatusDetail/State').text.strip
      started_at = xml_element.xpath('./ExecutionStatusDetail/StartDateTime').text.strip
      job_flow_step.started_at = (started_at == '') ? (nil) : (Time.parse(started_at))
      ended_at = xml_element.xpath('./ExecutionStatusDetail/EndDateTime').text.strip
      job_flow_step.ended_at = (ended_at == "") ? (nil) : (Time.parse(ended_at))
      job_flow_step
    end

    # Create JobFlowSteps from a collection of AWS <member> nodes (Nokogiri::XML::NodeSet):
    #   /DescribeJobFlowsResponse/DescribeJobFlowsResult/JobFlows/member/Steps/member
    def self.from_members_nodeset(members_nodeset)
      jobflow_steps = []
      members_nodeset.each do |member|
        jobflow_steps << from_member_element(member)
      end
      jobflow_steps
    end

  end

end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
elasticity-4.0 lib/elasticity/job_flow_status_step.rb
elasticity-3.0.4 lib/elasticity/job_flow_status_step.rb
elasticity-3.0.3 lib/elasticity/job_flow_status_step.rb
elasticity-3.0.2 lib/elasticity/job_flow_status_step.rb
elasticity-3.0.1 lib/elasticity/job_flow_status_step.rb
elasticity-3.0 lib/elasticity/job_flow_status_step.rb
elasticity-2.7 lib/elasticity/job_flow_status_step.rb
elasticity-2.6 lib/elasticity/job_flow_status_step.rb
elasticity-2.5.6 lib/elasticity/job_flow_status_step.rb
elasticity-2.5.5 lib/elasticity/job_flow_status_step.rb
elasticity-2.5.3 lib/elasticity/job_flow_status_step.rb
elasticity-2.5.2 lib/elasticity/job_flow_status_step.rb
elasticity-2.5.1 lib/elasticity/job_flow_status_step.rb
elasticity-2.5 lib/elasticity/job_flow_status_step.rb
elasticity-2.4 lib/elasticity/job_flow_status_step.rb
elasticity-2.3.1 lib/elasticity/job_flow_status_step.rb
elasticity-2.3 lib/elasticity/job_flow_status_step.rb
elasticity-2.2 lib/elasticity/job_flow_status_step.rb
elasticity-2.1.1 lib/elasticity/job_flow_status_step.rb