Sha256: 44de09e6a9b836a1edf753799d97567db182fa99bc42eda15d7e79d71f6c5f97

Contents?: true

Size: 562 Bytes

Versions: 3

Compression:

Stored size: 562 Bytes

Contents

require 'phut/syntax/directive'

module Phut
  class Syntax
    # The 'netns(name) { ...attributes... }' directive.
    class NetnsDirective < Directive
      attribute :netmask

      def initialize(alias_name, &block)
        @attributes = { name: alias_name }
        instance_eval(&block)
      end

      def ip(value)
        @attributes[:ip] = value
        @attributes[:name] ||= value
      end

      def route(options)
        @attributes[:net] = options.fetch(:net)
        @attributes[:gateway] = options.fetch(:gateway)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
phut-0.7.7 lib/phut/syntax/netns_directive.rb
phut-0.7.6 lib/phut/syntax/netns_directive.rb
phut-0.7.5 lib/phut/syntax/netns_directive.rb