Class: OSPFv2::RouterLinkType

Inherits:
Object
  • Object
show all
Defined in:
lib/ie/router_link_type.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(arg = 1) ⇒ RouterLinkType

Returns a new instance of RouterLinkType.



140
141
142
143
144
145
146
147
148
149
# File 'lib/ie/router_link_type.rb', line 140

def initialize(arg=1)
  @router_link_type = case arg
  when Symbol
    self.class.router_link_sym_to_i(arg)
  when Fixnum
    arg
  else
    raise ArgumentError, "Invalid RouterLinkType #{arg}"
  end
end

Class Method Details

.allObject



77
78
79
# File 'lib/ie/router_link_type.rb', line 77

def all
  [:point_to_point, :transit_network, :stub_network, :virtual_link]
end

.eachObject



81
82
83
# File 'lib/ie/router_link_type.rb', line 81

def each
  all.each { |x| yield(x) } if block_given?
end


112
113
114
115
116
117
118
119
# File 'lib/ie/router_link_type.rb', line 112

def link_data_to_s(arg)
  return arg unless arg.is_a?(Fixnum)
  if @link_data_from_type.has_key?(arg)
    @link_data_from_type[arg]
  else
    raise
  end
end


103
104
105
106
107
108
109
110
# File 'lib/ie/router_link_type.rb', line 103

def link_id_to_s(arg)
  return arg unless arg.is_a?(Fixnum)
  if @link_id_from_type.has_key?(arg)
    @link_id_from_type[arg]
  else
    raise
  end
end


94
95
96
97
98
99
100
101
# File 'lib/ie/router_link_type.rb', line 94

def router_link_sym_to_i(arg)
  return arg if arg.is_a?(Fixnum)
  if @router_link_sym_to_i.has_key?(arg)
    @router_link_sym_to_i[arg]
  else
    raise
  end
end

.to_i(arg) ⇒ Object



73
74
75
# File 'lib/ie/router_link_type.rb', line 73

def to_i(arg)
  router_link_sym_to_i(arg)
end

.to_junos(arg) ⇒ Object



121
122
123
124
125
126
127
128
# File 'lib/ie/router_link_type.rb', line 121

def to_junos(arg)
  return arg unless arg.is_a?(Fixnum)
  if @router_link_type_junos.has_key?(arg)
    @router_link_type_junos[arg]
  else
    arg
  end
end

.to_s_ios(arg) ⇒ Object



130
131
132
133
134
135
136
137
# File 'lib/ie/router_link_type.rb', line 130

def to_s_ios(arg)
  return arg unless arg.is_a?(Fixnum)
  if @router_link_type_ios.has_key?(arg)
    @router_link_type_ios[arg]
  else
    arg
  end
end

.to_sym(arg) ⇒ Object



85
86
87
88
89
90
91
92
# File 'lib/ie/router_link_type.rb', line 85

def to_sym(arg)
  return arg unless arg.is_a?(Fixnum)
  if @router_link_sym.has_key?(arg)
    @router_link_sym[arg]
  else
    raise
  end
end

Instance Method Details

#encodeObject Also known as: enc



162
163
164
# File 'lib/ie/router_link_type.rb', line 162

def encode
  [@router_link_type].pack('C')
end

#to_hashObject



167
168
169
# File 'lib/ie/router_link_type.rb', line 167

def to_hash
  to_sym
end

#to_iObject



150
151
152
# File 'lib/ie/router_link_type.rb', line 150

def to_i
  @router_link_type
end

#to_sObject



153
154
155
# File 'lib/ie/router_link_type.rb', line 153

def to_s
  self.class.to_s.split('::').last + ": #{to_sym}"
end

#to_s_iosObject



156
157
158
# File 'lib/ie/router_link_type.rb', line 156

def to_s_ios
  RouterLinkType.to_s_ios to_i
end

#to_symObject



159
160
161
# File 'lib/ie/router_link_type.rb', line 159

def to_sym
  RouterLinkType.to_sym @router_link_type
end