class Arn

Credit: gist.github.com/RulerOf/b9f5dd00a9911aba8271b57d3d269d7a

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_parser.rb, line 7
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_parser.rb, line 15
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