lib/pio/match.rb in pio-0.18.1 vs lib/pio/match.rb in pio-0.18.2

- old
+ new

@@ -1,11 +1,10 @@ require 'English' require 'bindata' require 'pio/open_flow' require 'pio/type/ip_address' require 'pio/type/mac_address' -require 'forwardable' module Pio # Fields to match against flows class Match # Flow wildcards @@ -125,30 +124,10 @@ def self.read(binary) MatchFormat.read binary end - extend Forwardable - - def_delegators :@format, :wildcards - def_delegators :@format, :in_port - def_delegators :@format, :dl_vlan - def_delegators :@format, :dl_src - def_delegators :@format, :dl_dst - def_delegators :@format, :dl_type - def_delegators :@format, :nw_proto - def_delegators :@format, :tp_src - def_delegators :@format, :tp_dst - def_delegators :@format, :nw_src - def_delegators :@format, :nw_src_all - def_delegators :@format, :nw_dst - def_delegators :@format, :nw_dst_all - def_delegators :@format, :dl_vlan_pcp - def_delegators :@format, :nw_tos - def_delegators :@format, :to_binary_s - def_delegator :@format, :to_binary_s, :to_binary - # rubocop:disable MethodLength # This method smells of :reek:FeatureEnvy # This method smells of :reek:DuplicateMethodCall def initialize(user_options) flags = Wildcards::FLAGS.each_with_object({}) do |each, memo| @@ -163,11 +142,19 @@ end @format = MatchFormat.new({ wildcards: flags }.merge user_options) end # rubocop:enable MethodLength + def to_binary + @format.to_binary_s + end + def ==(other) return false unless other to_binary == other.to_binary + end + + def method_missing(method, *args, &block) + @format.__send__ method, *args, &block end end end