class ArnParse::Arn

Attributes

account[RW]
partition[RW]
region[RW]
resource[RW]
service[RW]

Public Class Methods

new(partition, service, region, account, resource) click to toggle source
# File lib/arn_parse.rb, line 11
def initialize(partition, service, region, account, resource)
  @partition = partition
  @service = service
  @region = region
  @account = account
  @resource = resource
end
parse(arn) click to toggle source
# File lib/arn_parse.rb, line 19
def self.parse(arn)
  raise TypeError, 'ARN must be supplied as a string' unless arn.is_a?(String)

  arn_components = arn.split(':', 6)
  raise ArgumentError, 'Could not parse ARN' if arn_components.length < 6

  Arn.new arn_components[1],
          arn_components[2],
          arn_components[3],
          arn_components[4],
          arn_components[5]
end