Class: Nl::AttributeSet

Inherits:
Object
  • Object
show all
Defined in:
nl/lib/nl/attribute_set.rb

Direct Known Subclasses

Linux::Binder::AttributeSets::Report, Linux::Conntrack::AttributeSets::ConntrackAttrs, Linux::Conntrack::AttributeSets::ConntrackStatsAttrs, Linux::Conntrack::AttributeSets::CounterAttrs, Linux::Conntrack::AttributeSets::HelpAttrs, Linux::Conntrack::AttributeSets::NatAttrs, Linux::Conntrack::AttributeSets::NatProtoAttrs, Linux::Conntrack::AttributeSets::ProtoinfoAttrs, Linux::Conntrack::AttributeSets::ProtoinfoDccpAttrs, Linux::Conntrack::AttributeSets::ProtoinfoSctpAttrs, Linux::Conntrack::AttributeSets::ProtoinfoTcpAttrs, Linux::Conntrack::AttributeSets::SecctxAttrs, Linux::Conntrack::AttributeSets::SeqadjAttrs, Linux::Conntrack::AttributeSets::SynproxyAttrs, Linux::Conntrack::AttributeSets::TupleAttrs, Linux::Conntrack::AttributeSets::TupleIpAttrs, Linux::Conntrack::AttributeSets::TupleProtoAttrs, Linux::DevEnergymodel::AttributeSets::PerfDomain, Linux::DevEnergymodel::AttributeSets::PerfState, Linux::DevEnergymodel::AttributeSets::PerfTable, Linux::Devlink::AttributeSets::Devlink, Linux::Devlink::AttributeSets::DlAttrStats, Linux::Devlink::AttributeSets::DlDevStats, Linux::Devlink::AttributeSets::DlDpipeAction, Linux::Devlink::AttributeSets::DlDpipeActionValue, Linux::Devlink::AttributeSets::DlDpipeEntries, Linux::Devlink::AttributeSets::DlDpipeEntry, Linux::Devlink::AttributeSets::DlDpipeEntryActionValues, Linux::Devlink::AttributeSets::DlDpipeEntryMatchValues, Linux::Devlink::AttributeSets::DlDpipeField, Linux::Devlink::AttributeSets::DlDpipeHeader, Linux::Devlink::AttributeSets::DlDpipeHeaderFields, Linux::Devlink::AttributeSets::DlDpipeHeaders, Linux::Devlink::AttributeSets::DlDpipeMatch, Linux::Devlink::AttributeSets::DlDpipeMatchValue, Linux::Devlink::AttributeSets::DlDpipeTable, Linux::Devlink::AttributeSets::DlDpipeTableActions, Linux::Devlink::AttributeSets::DlDpipeTableMatches, Linux::Devlink::AttributeSets::DlDpipeTables, Linux::Devlink::AttributeSets::DlFmsg, Linux::Devlink::AttributeSets::DlHealthReporter, Linux::Devlink::AttributeSets::DlInfoVersion, Linux::Devlink::AttributeSets::DlLinecardSupportedTypes, Linux::Devlink::AttributeSets::DlParam, Linux::Devlink::AttributeSets::DlPortFunction, Linux::Devlink::AttributeSets::DlRateTcBws, Linux::Devlink::AttributeSets::DlRegionChunk, Linux::Devlink::AttributeSets::DlRegionChunks, Linux::Devlink::AttributeSets::DlRegionSnapshot, Linux::Devlink::AttributeSets::DlRegionSnapshots, Linux::Devlink::AttributeSets::DlReloadActInfo, Linux::Devlink::AttributeSets::DlReloadActStats, Linux::Devlink::AttributeSets::DlReloadStats, Linux::Devlink::AttributeSets::DlReloadStatsEntry, Linux::Devlink::AttributeSets::DlResource, Linux::Devlink::AttributeSets::DlResourceList, Linux::Devlink::AttributeSets::DlSelftestId, Linux::Devlink::AttributeSets::DlTrapMetadata, Linux::Dpll::AttributeSets::Dpll, Linux::Dpll::AttributeSets::FrequencyRange, Linux::Dpll::AttributeSets::Pin, Linux::Dpll::AttributeSets::PinParentDevice, Linux::Dpll::AttributeSets::PinParentPin, Linux::Dpll::AttributeSets::ReferenceSync, Linux::DrmRas::AttributeSets::ErrorCounterAttrs, Linux::DrmRas::AttributeSets::NodeAttrs, Linux::Ethtool::AttributeSets::Bitset, Linux::Ethtool::AttributeSets::BitsetBit, Linux::Ethtool::AttributeSets::BitsetBits, Linux::Ethtool::AttributeSets::C33PsePwLimit, Linux::Ethtool::AttributeSets::CableFaultLength, Linux::Ethtool::AttributeSets::CableNest, Linux::Ethtool::AttributeSets::CableResult, Linux::Ethtool::AttributeSets::CableTest, Linux::Ethtool::AttributeSets::CableTestNtf, Linux::Ethtool::AttributeSets::CableTestTdr, Linux::Ethtool::AttributeSets::CableTestTdrCfg, Linux::Ethtool::AttributeSets::CableTestTdrNtf, Linux::Ethtool::AttributeSets::Channels, Linux::Ethtool::AttributeSets::Coalesce, Linux::Ethtool::AttributeSets::Debug, Linux::Ethtool::AttributeSets::Eee, Linux::Ethtool::AttributeSets::Features, Linux::Ethtool::AttributeSets::Fec, Linux::Ethtool::AttributeSets::FecHist, Linux::Ethtool::AttributeSets::FecStat, Linux::Ethtool::AttributeSets::Flow, Linux::Ethtool::AttributeSets::Header, Linux::Ethtool::AttributeSets::IrqModeration, Linux::Ethtool::AttributeSets::Linkinfo, Linux::Ethtool::AttributeSets::Linkmodes, Linux::Ethtool::AttributeSets::Linkstate, Linux::Ethtool::AttributeSets::Mm, Linux::Ethtool::AttributeSets::MmStat, Linux::Ethtool::AttributeSets::Module, Linux::Ethtool::AttributeSets::ModuleEeprom, Linux::Ethtool::AttributeSets::ModuleFwFlash, Linux::Ethtool::AttributeSets::Mse, Linux::Ethtool::AttributeSets::MseCapabilities, Linux::Ethtool::AttributeSets::MseSnapshot, Linux::Ethtool::AttributeSets::Pause, Linux::Ethtool::AttributeSets::PauseStat, Linux::Ethtool::AttributeSets::PhcVclocks, Linux::Ethtool::AttributeSets::Phy, Linux::Ethtool::AttributeSets::Plca, Linux::Ethtool::AttributeSets::Privflags, Linux::Ethtool::AttributeSets::Profile, Linux::Ethtool::AttributeSets::Pse, Linux::Ethtool::AttributeSets::PseNtf, Linux::Ethtool::AttributeSets::Rings, Linux::Ethtool::AttributeSets::Rss, Linux::Ethtool::AttributeSets::Stats, Linux::Ethtool::AttributeSets::StatsGrp, Linux::Ethtool::AttributeSets::StatsGrpHist, Linux::Ethtool::AttributeSets::String, Linux::Ethtool::AttributeSets::Strings, Linux::Ethtool::AttributeSets::Stringset, Linux::Ethtool::AttributeSets::Stringsets, Linux::Ethtool::AttributeSets::Strset, Linux::Ethtool::AttributeSets::TsHwtstampProvider, Linux::Ethtool::AttributeSets::TsStat, Linux::Ethtool::AttributeSets::Tsconfig, Linux::Ethtool::AttributeSets::Tsinfo, Linux::Ethtool::AttributeSets::TunnelInfo, Linux::Ethtool::AttributeSets::TunnelUdp, Linux::Ethtool::AttributeSets::TunnelUdpEntry, Linux::Ethtool::AttributeSets::TunnelUdpTable, Linux::Ethtool::AttributeSets::Wol, Linux::Fou::AttributeSets::Fou, Linux::Handshake::AttributeSets::Accept, Linux::Handshake::AttributeSets::Done, Linux::Handshake::AttributeSets::X509, Linux::Lockd::AttributeSets::Server, Linux::MptcpPm::AttributeSets::Address, Linux::MptcpPm::AttributeSets::Attr, Linux::MptcpPm::AttributeSets::Endpoint, Linux::MptcpPm::AttributeSets::EventAttr, Linux::MptcpPm::AttributeSets::SubflowAttribute, Linux::NetShaper::AttributeSets::Caps, Linux::NetShaper::AttributeSets::Handle, Linux::NetShaper::AttributeSets::LeafInfo, Linux::NetShaper::AttributeSets::NetShaper, Linux::Netdev::AttributeSets::Dev, Linux::Netdev::AttributeSets::Dmabuf, Linux::Netdev::AttributeSets::IoUringProviderInfo, Linux::Netdev::AttributeSets::Lease, Linux::Netdev::AttributeSets::Napi, Linux::Netdev::AttributeSets::PagePool, Linux::Netdev::AttributeSets::PagePoolInfo, Linux::Netdev::AttributeSets::PagePoolStats, Linux::Netdev::AttributeSets::Qstats, Linux::Netdev::AttributeSets::Queue, Linux::Netdev::AttributeSets::QueueId, Linux::Netdev::AttributeSets::XskInfo, Linux::Nfsd::AttributeSets::AuthFlavor, Linux::Nfsd::AttributeSets::CacheFlush, Linux::Nfsd::AttributeSets::CacheNotify, Linux::Nfsd::AttributeSets::Expkey, Linux::Nfsd::AttributeSets::ExpkeyReqs, Linux::Nfsd::AttributeSets::Fslocation, Linux::Nfsd::AttributeSets::Fslocations, Linux::Nfsd::AttributeSets::PoolMode, Linux::Nfsd::AttributeSets::RpcStatus, Linux::Nfsd::AttributeSets::Server, Linux::Nfsd::AttributeSets::ServerProto, Linux::Nfsd::AttributeSets::ServerSock, Linux::Nfsd::AttributeSets::Sock, Linux::Nfsd::AttributeSets::SvcExport, Linux::Nfsd::AttributeSets::SvcExportReqs, Linux::Nfsd::AttributeSets::UnlockExport, Linux::Nfsd::AttributeSets::UnlockFilesystem, Linux::Nfsd::AttributeSets::UnlockIp, Linux::Nfsd::AttributeSets::Version, Linux::Nftables::AttributeSets::BatchAttrs, Linux::Nftables::AttributeSets::ChainAttrs, Linux::Nftables::AttributeSets::CompatAttrs, Linux::Nftables::AttributeSets::CompatMatchAttrs, Linux::Nftables::AttributeSets::CompatTargetAttrs, Linux::Nftables::AttributeSets::CounterAttrs, Linux::Nftables::AttributeSets::DataAttrs, Linux::Nftables::AttributeSets::ExprAttrs, Linux::Nftables::AttributeSets::ExprBitwiseAttrs, Linux::Nftables::AttributeSets::ExprCmpAttrs, Linux::Nftables::AttributeSets::ExprCounterAttrs, Linux::Nftables::AttributeSets::ExprCtAttrs, Linux::Nftables::AttributeSets::ExprFibAttrs, Linux::Nftables::AttributeSets::ExprFlowOffloadAttrs, Linux::Nftables::AttributeSets::ExprImmediateAttrs, Linux::Nftables::AttributeSets::ExprListAttrs, Linux::Nftables::AttributeSets::ExprLookupAttrs, Linux::Nftables::AttributeSets::ExprMasqAttrs, Linux::Nftables::AttributeSets::ExprMetaAttrs, Linux::Nftables::AttributeSets::ExprNatAttrs, Linux::Nftables::AttributeSets::ExprObjrefAttrs, Linux::Nftables::AttributeSets::ExprPayloadAttrs, Linux::Nftables::AttributeSets::ExprRejectAttrs, Linux::Nftables::AttributeSets::ExprTargetAttrs, Linux::Nftables::AttributeSets::ExprTproxyAttrs, Linux::Nftables::AttributeSets::FlowtableAttrs, Linux::Nftables::AttributeSets::FlowtableHookAttrs, Linux::Nftables::AttributeSets::GenAttrs, Linux::Nftables::AttributeSets::HookDevAttrs, Linux::Nftables::AttributeSets::LogAttrs, Linux::Nftables::AttributeSets::NftCounterAttrs, Linux::Nftables::AttributeSets::NftHookAttrs, Linux::Nftables::AttributeSets::NumgenAttrs, Linux::Nftables::AttributeSets::ObjAttrs, Linux::Nftables::AttributeSets::QuotaAttrs, Linux::Nftables::AttributeSets::RangeAttrs, Linux::Nftables::AttributeSets::RuleAttrs, Linux::Nftables::AttributeSets::RuleCompatAttrs, Linux::Nftables::AttributeSets::SetAttrs, Linux::Nftables::AttributeSets::SetDescAttrs, Linux::Nftables::AttributeSets::SetDescConcatAttrs, Linux::Nftables::AttributeSets::SetFieldAttrs, Linux::Nftables::AttributeSets::SetListAttrs, Linux::Nftables::AttributeSets::SetelemAttrs, Linux::Nftables::AttributeSets::SetelemListAttrs, Linux::Nftables::AttributeSets::SetelemListElemAttrs, Linux::Nftables::AttributeSets::TableAttrs, Linux::Nftables::AttributeSets::VerdictAttrs, Linux::Nl80211::AttributeSets::BandAttrs, Linux::Nl80211::AttributeSets::BitrateAttrs, Linux::Nl80211::AttributeSets::FrameTypeAttrs, Linux::Nl80211::AttributeSets::FrequencyAttrs, Linux::Nl80211::AttributeSets::IfCombinationAttributes, Linux::Nl80211::AttributeSets::IfaceLimitAttributes, Linux::Nl80211::AttributeSets::IftypeAttrs, Linux::Nl80211::AttributeSets::IftypeDataAttrs, Linux::Nl80211::AttributeSets::Nl80211Attrs, Linux::Nl80211::AttributeSets::SarAttributes, Linux::Nl80211::AttributeSets::SarSpecs, Linux::Nl80211::AttributeSets::SupportedIftypes, Linux::Nl80211::AttributeSets::TxqStatsAttrs, Linux::Nl80211::AttributeSets::WiphyBands, Linux::Nl80211::AttributeSets::WmmAttrs, Linux::Nl80211::AttributeSets::WowlanTriggersAttrs, Linux::Nlctrl::AttributeSets::CtrlAttrs, Linux::Nlctrl::AttributeSets::McastGroupAttrs, Linux::Nlctrl::AttributeSets::OpAttrs, Linux::Nlctrl::AttributeSets::OpPolicyAttrs, Linux::Nlctrl::AttributeSets::PolicyAttrs, Linux::Ovpn::AttributeSets::Keyconf, Linux::Ovpn::AttributeSets::KeyconfDelInput, Linux::Ovpn::AttributeSets::KeyconfGet, Linux::Ovpn::AttributeSets::KeyconfSwapInput, Linux::Ovpn::AttributeSets::Keydir, Linux::Ovpn::AttributeSets::Ovpn, Linux::Ovpn::AttributeSets::OvpnKeyconfDelInput, Linux::Ovpn::AttributeSets::OvpnKeyconfGet, Linux::Ovpn::AttributeSets::OvpnKeyconfSwapInput, Linux::Ovpn::AttributeSets::OvpnPeerDelInput, Linux::Ovpn::AttributeSets::OvpnPeerNewInput, Linux::Ovpn::AttributeSets::OvpnPeerSetInput, Linux::Ovpn::AttributeSets::Peer, Linux::Ovpn::AttributeSets::PeerDelInput, Linux::Ovpn::AttributeSets::PeerNewInput, Linux::Ovpn::AttributeSets::PeerSetInput, Linux::OvsDatapath::AttributeSets::Datapath, Linux::OvsFlow::AttributeSets::ActionAttrs, Linux::OvsFlow::AttributeSets::CheckPktLenAttrs, Linux::OvsFlow::AttributeSets::CtAttrs, Linux::OvsFlow::AttributeSets::DecTtlAttrs, Linux::OvsFlow::AttributeSets::FlowAttrs, Linux::OvsFlow::AttributeSets::KeyAttrs, Linux::OvsFlow::AttributeSets::NatAttrs, Linux::OvsFlow::AttributeSets::OvsNshKeyAttrs, Linux::OvsFlow::AttributeSets::PsampleAttrs, Linux::OvsFlow::AttributeSets::SampleAttrs, Linux::OvsFlow::AttributeSets::TunnelKeyAttrs, Linux::OvsFlow::AttributeSets::UserspaceAttrs, Linux::OvsFlow::AttributeSets::VxlanExtAttrs, Linux::OvsPacket::AttributeSets::Packet, Linux::OvsVport::AttributeSets::UpcallStats, Linux::OvsVport::AttributeSets::Vport, Linux::OvsVport::AttributeSets::VportOptions, Linux::Psp::AttributeSets::Assoc, Linux::Psp::AttributeSets::AssocDevInfo, Linux::Psp::AttributeSets::Dev, Linux::Psp::AttributeSets::Keys, Linux::Psp::AttributeSets::Stats, Linux::RtAddr::AttributeSets::AddrAttrs, Linux::RtLink::AttributeSets::AfSpecAttrs, Linux::RtLink::AttributeSets::BondAdInfoAttrs, Linux::RtLink::AttributeSets::BondSlaveAttrs, Linux::RtLink::AttributeSets::HwSInfoOne, Linux::RtLink::AttributeSets::Ifla6Attrs, Linux::RtLink::AttributeSets::IflaAttrs, Linux::RtLink::AttributeSets::IflaVlanQos, Linux::RtLink::AttributeSets::LinkAttrs, Linux::RtLink::AttributeSets::LinkDpllPinAttrs, Linux::RtLink::AttributeSets::LinkOffloadXstats, Linux::RtLink::AttributeSets::LinkinfoAttrs, Linux::RtLink::AttributeSets::LinkinfoBondAttrs, Linux::RtLink::AttributeSets::LinkinfoBridgeAttrs, Linux::RtLink::AttributeSets::LinkinfoBrportAttrs, Linux::RtLink::AttributeSets::LinkinfoGeneveAttrs, Linux::RtLink::AttributeSets::LinkinfoGre6Attrs, Linux::RtLink::AttributeSets::LinkinfoGreAttrs, Linux::RtLink::AttributeSets::LinkinfoHsrAttrs, Linux::RtLink::AttributeSets::LinkinfoIp6tnlAttrs, Linux::RtLink::AttributeSets::LinkinfoIptunAttrs, Linux::RtLink::AttributeSets::LinkinfoNetkitAttrs, Linux::RtLink::AttributeSets::LinkinfoOvpnAttrs, Linux::RtLink::AttributeSets::LinkinfoTunAttrs, Linux::RtLink::AttributeSets::LinkinfoVlanAttrs, Linux::RtLink::AttributeSets::LinkinfoVrfAttrs, Linux::RtLink::AttributeSets::LinkinfoVti6Attrs, Linux::RtLink::AttributeSets::LinkinfoVtiAttrs, Linux::RtLink::AttributeSets::MctpAttrs, Linux::RtLink::AttributeSets::PortSelfAttrs, Linux::RtLink::AttributeSets::PropListLinkAttrs, Linux::RtLink::AttributeSets::StatsAttrs, Linux::RtLink::AttributeSets::VfPortsAttrs, Linux::RtLink::AttributeSets::VfStatsAttrs, Linux::RtLink::AttributeSets::VfVlanAttrs, Linux::RtLink::AttributeSets::VfinfoAttrs, Linux::RtLink::AttributeSets::VfinfoListAttrs, Linux::RtLink::AttributeSets::XdpAttrs, Linux::RtNeigh::AttributeSets::NdtAttrs, Linux::RtNeigh::AttributeSets::NdtpaAttrs, Linux::RtNeigh::AttributeSets::NeighbourAttrs, Linux::RtRoute::AttributeSets::Metrics, Linux::RtRoute::AttributeSets::RouteAttrs, Linux::RtRule::AttributeSets::FibRuleAttrs, Linux::Sunrpc::AttributeSets::CacheFlush, Linux::Sunrpc::AttributeSets::CacheNotify, Linux::Sunrpc::AttributeSets::IpMap, Linux::Sunrpc::AttributeSets::IpMapReqs, Linux::Sunrpc::AttributeSets::UnixGid, Linux::Sunrpc::AttributeSets::UnixGidReqs, Linux::Tc::AttributeSets::ActAttrs, Linux::Tc::AttributeSets::ActBpfAttrs, Linux::Tc::AttributeSets::ActConnmarkAttrs, Linux::Tc::AttributeSets::ActCsumAttrs, Linux::Tc::AttributeSets::ActCtAttrs, Linux::Tc::AttributeSets::ActCtinfoAttrs, Linux::Tc::AttributeSets::ActGactAttrs, Linux::Tc::AttributeSets::ActGateAttrs, Linux::Tc::AttributeSets::ActIfeAttrs, Linux::Tc::AttributeSets::ActMirredAttrs, Linux::Tc::AttributeSets::ActMplsAttrs, Linux::Tc::AttributeSets::ActNatAttrs, Linux::Tc::AttributeSets::ActPeditAttrs, Linux::Tc::AttributeSets::ActSampleAttrs, Linux::Tc::AttributeSets::ActSimpleAttrs, Linux::Tc::AttributeSets::ActSkbeditAttrs, Linux::Tc::AttributeSets::ActSkbmodAttrs, Linux::Tc::AttributeSets::ActTunnelKeyAttrs, Linux::Tc::AttributeSets::ActVlanAttrs, Linux::Tc::AttributeSets::Attrs, Linux::Tc::AttributeSets::BasicAttrs, Linux::Tc::AttributeSets::BpfAttrs, Linux::Tc::AttributeSets::CakeAttrs, Linux::Tc::AttributeSets::CakeStatsAttrs, Linux::Tc::AttributeSets::CakeTinStatsAttrs, Linux::Tc::AttributeSets::CbsAttrs, Linux::Tc::AttributeSets::CgroupAttrs, Linux::Tc::AttributeSets::ChokeAttrs, Linux::Tc::AttributeSets::CodelAttrs, Linux::Tc::AttributeSets::DrrAttrs, Linux::Tc::AttributeSets::Dualpi2Attrs, Linux::Tc::AttributeSets::EmatchAttrs, Linux::Tc::AttributeSets::EtfAttrs, Linux::Tc::AttributeSets::EtsAttrs, Linux::Tc::AttributeSets::FlowAttrs, Linux::Tc::AttributeSets::FlowerAttrs, Linux::Tc::AttributeSets::FlowerKeyCfmAttrs, Linux::Tc::AttributeSets::FlowerKeyEncOptErspanAttrs, Linux::Tc::AttributeSets::FlowerKeyEncOptGeneveAttrs, Linux::Tc::AttributeSets::FlowerKeyEncOptGtpAttrs, Linux::Tc::AttributeSets::FlowerKeyEncOptVxlanAttrs, Linux::Tc::AttributeSets::FlowerKeyEncOptsAttrs, Linux::Tc::AttributeSets::FlowerKeyMplsOptAttrs, Linux::Tc::AttributeSets::FqAttrs, Linux::Tc::AttributeSets::FqCodelAttrs, Linux::Tc::AttributeSets::FqPieAttrs, Linux::Tc::AttributeSets::FwAttrs, Linux::Tc::AttributeSets::GredAttrs, Linux::Tc::AttributeSets::HfscAttrs, Linux::Tc::AttributeSets::HhfAttrs, Linux::Tc::AttributeSets::HtbAttrs, Linux::Tc::AttributeSets::MatchallAttrs, Linux::Tc::AttributeSets::NetemAttrs, Linux::Tc::AttributeSets::NetemLossAttrs, Linux::Tc::AttributeSets::PieAttrs, Linux::Tc::AttributeSets::PoliceAttrs, Linux::Tc::AttributeSets::QfqAttrs, Linux::Tc::AttributeSets::RedAttrs, Linux::Tc::AttributeSets::RouteAttrs, Linux::Tc::AttributeSets::TaprioAttrs, Linux::Tc::AttributeSets::TaprioSchedEntry, Linux::Tc::AttributeSets::TaprioSchedEntryList, Linux::Tc::AttributeSets::TaprioTcEntryAttrs, Linux::Tc::AttributeSets::TbfAttrs, Linux::Tc::AttributeSets::TcaGredVqEntryAttrs, Linux::Tc::AttributeSets::TcaGredVqListAttrs, Linux::Tc::AttributeSets::TcaStabAttrs, Linux::Tc::AttributeSets::TcaStatsAttrs, Linux::Tc::AttributeSets::U32Attrs, Linux::TcpMetrics::AttributeSets::Metrics, Linux::TcpMetrics::AttributeSets::TcpMetrics, Linux::Team::AttributeSets::AttrOption, Linux::Team::AttributeSets::AttrPort, Linux::Team::AttributeSets::ItemOption, Linux::Team::AttributeSets::ItemPort, Linux::Team::AttributeSets::Team, Linux::Wireguard::AttributeSets::Wgallowedip, Linux::Wireguard::AttributeSets::Wgdevice, Linux::Wireguard::AttributeSets::Wgpeer

Defined Under Namespace

Classes: Attribute

Constant Summary collapse

SELECTOR_NAMES =
{local: [].freeze, external: [].freeze}.freeze

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attributes) ⇒ AttributeSet

Returns a new instance of AttributeSet.



24
25
26
27
28
29
30
31
32
33
34
# File 'nl/lib/nl/attribute_set.rb', line 24

def initialize(attributes)
  attr_class = self.class::Attribute

  attributes.each do |attr|
    unless attr.kind_of?(attr_class)
      raise TypeError, "attribute must be an instance of #{attr_class}"
    end
  end

  @attributes = Array(attributes)
end

Class Method Details

.build_attributes(params = nil, external_selectors: [], **keywords) ⇒ Object



129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
# File 'nl/lib/nl/attribute_set.rb', line 129

def build_attributes(params = nil, external_selectors: [], **keywords)
  params = (params || {}).merge(keywords)
  unknown = params.keys - self::BY_NAME.keys
  raise ArgumentError, "unknown attributes: #{unknown.join(', ')}" unless unknown.empty?

  context = Selector::State.new(self::SELECTOR_NAMES.fetch(:local).length, external_selectors)
  coerced_selectors = {}
  self::SELECTOR_NAMES.fetch(:local).each_with_index do |name, slot|
    next unless params.key?(name)
    attr_class = self::BY_NAME.fetch(name)
    value = attr_class::DATATYPE.coerce(params.fetch(name))
    coerced_selectors[name] = value
    context.set_local(slot, value)
  end

  attrs = params.sort_by { |name, _| self::BY_NAME.fetch(name)::ORDER }.flat_map do |name, value|
    attr_class = self::BY_NAME[name] or raise "Unknown attribute #{name}"
    if attr_class.multi?
      unless value.is_a?(Array)
        raise TypeError, "value for multi-attribute #{name} must be an Array"
      end
      value.map { attr_class.new(coerce(attr_class::DATATYPE, it, context)) }
    else
      value = coerced_selectors.fetch(name) { coerce(attr_class::DATATYPE, value, context) }
      attr_class.new(value)
    end
  end
  new(attrs)
rescue Selector::MissingSelectorValueError => error
  raise ArgumentError, "selector #{selector_name(error).inspect} is required by a dependent attribute"
rescue Selector::UnknownSelectorValueError => error
  raise ArgumentError, "unknown sub-message selector value: #{error.value.inspect}"
end

.decode(decoder, external_selectors: []) ⇒ Object



114
115
116
117
118
119
120
121
122
123
124
125
126
127
# File 'nl/lib/nl/attribute_set.rb', line 114

def decode(decoder, external_selectors: [])
  context = Selector::State.new(self::SELECTOR_NAMES.fetch(:local).length, external_selectors)
  attrs = []
  while decoder.available?
    attr = decode1(decoder, context)
    attrs << attr
  end
  new(attrs.compact)
rescue Selector::MissingSelectorValueError => error
  raise Decoder::Error,
    "selector #{selector_name(error).inspect} must precede the dependent attribute"
rescue Selector::UnknownSelectorValueError => error
  raise Decoder::Error, "unknown sub-message selector value: #{error.value.inspect}"
end

Instance Method Details

#<<(attr) ⇒ Object



50
51
52
53
54
55
56
57
# File 'nl/lib/nl/attribute_set.rb', line 50

def <<(attr)
  attr_class = self.class::Attribute
  unless attr.kind_of?(attr_class)
    raise TypeError, "attribute must be an instance of #{attr_class}"
  end

  @attributes << attr
end

#[](type) ⇒ Object



36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'nl/lib/nl/attribute_set.rb', line 36

def [](type)
  case type
  when Symbol
    attr_class = self.class.by_name(type)
  when Integer
    attr_class = self.class.by_type(type)
  else
    raise TypeError, "attribute type must be a Symbol or an Integer"
  end

  attributes = @attributes.select { it.kind_of?(attr_class) }
  attr_class.multi? ? attributes : attributes.first
end

#encode(encoder, external_selectors: []) ⇒ Object



73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# File 'nl/lib/nl/attribute_set.rb', line 73

def encode(encoder, external_selectors: [])
  context = Selector::State.new(self.class::SELECTOR_NAMES.fetch(:local).length, external_selectors)
  @attributes.each do |attr|
    if slot = attr.class::SELECTOR_SLOT
      context.set_local(slot, attr.value)
    end
  end

  attributes = @attributes.sort_by { it.class::ORDER }
  attributes.each do |attr|
    encode1(encoder, attr, context)
  end
rescue Selector::MissingSelectorValueError => error
  raise ArgumentError, "selector #{selector_name(error).inspect} is required by a dependent attribute"
rescue Selector::UnknownSelectorValueError => error
  raise ArgumentError, "unknown sub-message selector value: #{error.value.inspect}"
end