Class: Puffy::Formatters::Pf::Ruleset
- Inherits:
-
Base::Ruleset
- Object
- Base::Ruleset
- Puffy::Formatters::Pf::Ruleset
- Defined in:
- lib/puffy/formatters/pf.rb
Overview
Pf implementation of a Puffy Ruleset formatter.
Instance Method Summary collapse
- #emit_header(policy) ⇒ Object
-
#emit_ruleset(rules, policy = :block) ⇒ Object
Returns a Pf String representation of the provided
rulesArray of Puffy::Rule. - #filename_fragment ⇒ Object
Methods inherited from Base::Ruleset
Constructor Details
This class inherits a constructor from Puffy::Formatters::Base::Ruleset
Instance Method Details
#emit_header(policy) ⇒ Object
26 27 28 29 30 31 32 33 |
# File 'lib/puffy/formatters/pf.rb', line 26 def emit_header(policy) parts = super() parts << 'match in all scrub (no-df)' parts << 'set skip on lo' parts << @rule_formatter.emit_rule(Puffy::Rule.new(action: policy, dir: :in, no_quick: true)) parts << @rule_formatter.emit_rule(Puffy::Rule.new(action: policy, dir: :out, no_quick: true)) parts end |
#emit_ruleset(rules, policy = :block) ⇒ Object
Returns a Pf String representation of the provided rules Array of Puffy::Rule.
9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/puffy/formatters/pf.rb', line 9 def emit_ruleset(rules, policy = :block) parts = [] parts << emit_header(policy) parts << super(rules.select(&:nat?)) parts << super(rules.select(&:rdr?)) parts << super(rules.select(&:filter?)) ruleset = parts.reject(&:empty?).join("\n") "#{ruleset}\n" end |
#filename_fragment ⇒ Object
22 23 24 |
# File 'lib/puffy/formatters/pf.rb', line 22 def filename_fragment ['pf', 'pf.conf'] end |