def self.create_transaction_rules(connect_response)
txn_name_specs = connect_response['transaction_name_rules'] || []
segment_rule_specs = connect_response['transaction_segment_terms'] || []
txn_name_rules = txn_name_specs.map { |s| ReplacementRule.new(s) }
segment_rules = []
segment_rule_specs.each do |spec|
if spec[SegmentTermsRule::PREFIX_KEY] && SegmentTermsRule.valid?(spec)
segment_rules.unshift SegmentTermsRule.new(spec)
end
end
reject_rules_with_duplicate_prefixes!(segment_rules)
segment_rules.reverse!
self.new(txn_name_rules, segment_rules)
end