Sha256: 732fda0c90fd75707fad6598328adf6a4c74afe492529539df9bd2c5ce064f59
Contents?: true
Size: 1.19 KB
Versions: 2
Compression:
Stored size: 1.19 KB
Contents
#!/usr/bin/ruby # Version 1.0 # Last Updated 6/22/2009 require 'json' class SmtpApiHeader def initialize() @data = {} end def addTo(to) @data['to'] ||= [] @data['to'] += to.kind_of?(Array) ? to : [to] end def addSubVal(var, val) if not @data['sub'] @data['sub'] = {} end if val.instance_of?(Array) @data['sub'][var] = val else @data['sub'][var] = [val] end end def setUniqueArgs(val) if val.instance_of?(Hash) @data['unique_args'] = val end end def setCategory(cat) @data['category'] = cat end def addFilterSetting(fltr, setting, val) if not @data['filters'] @data['filters'] = {} end if not @data['filters'][fltr] @data['filters'][fltr] = {} end if not @data['filters'][fltr]['settings'] @data['filters'][fltr]['settings'] = {} end @data['filters'][fltr]['settings'][setting] = val end def asJSON() json = JSON.generate @data return json.gsub(/(["\]}])([,:])(["\[{])/, '\\1\\2 \\3') end def as_string() json = asJSON() str = 'X-SMTPAPI: %s' % json.gsub(/(.{1,72})( +|$\n?)|(.{1,72})/,"\\1\\3\n") return str end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
patrol-1.0.1 | lib/smtp_api_header.rb |
patrol-0.2.0 | lib/smtp_api_header.rb |