module Path53::Feature::ResourceRecordSets

Constants

AliasRecordSet
BoundRecordSet
RecordContext
RecordSet
ResourceRecord
ResourceRecordSet
TTL
Target
Type
TypedContext

Public Class Methods

included(*) click to toggle source
# File lib/path53/feature/resource_record_sets.rb, line 67
def self.included(*)
  Type.instance_variable_get('@vals').each do |t|
    define_method(t.downcase) { |*args| type(t, *args) }
  end
end

Public Instance Methods

record_set(targets, duration = nil) click to toggle source
# File lib/path53/feature/resource_record_sets.rb, line 45
def record_set(targets, duration = nil)
  {
    ttl: ttl(duration),
    resource_records: targets.map { |target| { value: name(target) } }
  }
end
ttl() click to toggle source
# File lib/path53/feature/resource_record_sets.rb, line 30
def ttl
  ->(value) { ttl value }
end

Private Instance Methods

name(name) click to toggle source
# File lib/path53/feature/resource_record_sets.rb, line 76
def name(name)
  name.gsub /\.@$/, ".#{zone.name}"
end
type(type) click to toggle source
# File lib/path53/feature/resource_record_sets.rb, line 81
def type(type)
  ->(name, target) { type type, name, target }
end