From: Ramon de C Valle Date: 2013-01-10T01:36:57+09:00 Subject: ERB trim mode This is a cryptographically signed message in MIME format. --------------ms030501080407080304050007 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Hi, ERB documentation for Ruby 1.8.7 and Ruby 1.9.3 shows the following modifiers for trim_mode: % enables Ruby code processing for lines beginning with % <> omit newline for lines starting with <% and ending in %> > omit newline for lines ending in %> However, I've seen in several discussions the '-' modifier. Looking at ERB source, it seems it has different behavior for '>' and '-'. What is the difference and what does the '-' modifier do? Is a trim_mode of '%<>>' valid or '<>' and '>' are mutually exclusive? If I understood correctly, the following listing from ERB source indicates that '<>', '>', and '-' are mutually exclusive, and valid trim_modes are the combination of the '%' with just one of the other modifiers. def prepare_trim_mode(mode) case mode when 1 return [false, '>'] when 2 return [false, '<>'] when 0 return [false, nil] when String perc =3D mode.include?('%') if mode.include?('-') return [perc, '-'] elsif mode.include?('<>') return [perc, '<>'] elsif mode.include?('>') return [perc, '>'] else [perc, nil] end else return [false, nil] end end Thanks, --=20 Ramon de C Valle / Red Hat Product Security Team --------------ms030501080407080304050007 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIMSDCC BVIwggQ6oAMCAQICEAqzP+sBemOzul4+4fzvl/kwDQYJKoZIhvcNAQEFBQAwgd0xCzAJBgNV BAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1 c3QgTmV0d29yazE7MDkGA1UECxMyVGVybXMgb2YgdXNlIGF0IGh0dHBzOi8vd3d3LnZlcmlz aWduLmNvbS9ycGEgKGMpMDkxHjAcBgNVBAsTFVBlcnNvbmEgTm90IFZhbGlkYXRlZDE3MDUG A1UEAxMuVmVyaVNpZ24gQ2xhc3MgMSBJbmRpdmlkdWFsIFN1YnNjcmliZXIgQ0EgLSBHMzAe Fw0xMjA0MjQwMDAwMDBaFw0xMzA0MjQyMzU5NTlaMIIBFTEXMBUGA1UEChMOVmVyaVNpZ24s IEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsxRjBEBgNVBAsTPXd3dy52 ZXJpc2lnbi5jb20vcmVwb3NpdG9yeS9SUEEgSW5jb3JwLiBieSBSZWYuLExJQUIuTFREKGMp OTgxHjAcBgNVBAsTFVBlcnNvbmEgTm90IFZhbGlkYXRlZDEzMDEGA1UECxMqRGlnaXRhbCBJ RCBDbGFzcyAxIC0gTmV0c2NhcGUgRnVsbCBTZXJ2aWNlMRkwFwYDVQQDFBBSYW1vbiBkZSBD IFZhbGxlMSEwHwYJKoZIhvcNAQkBFhJyY3ZhbGxlQHJlZGhhdC5jb20wggEiMA0GCSqGSIb3 DQEBAQUAA4IBDwAwggEKAoIBAQCtHIDnFV/HlKm9UnSRo6izQmlNfDgekHNzCaDbb91myLVY gYhZ0LGIjZGwQL5/biXWhKNudbn7wVX3w+RLplA3rRzId/pC/uOuw1NBljRwFRPFxPXNvnqz +aZUP+23mYNiFfKqFTNKP73D08k6FxCFwtqNWvKKdBqFA1PAQjs3vIAmn8gk/h21sN9CDn7I wO87OdfRrFPChpyJxCgBTVcfUlEK1xcMjbQSM8nNw15AkgkITDmxEclu3aehXViKEzWAiOmd B6oYN5Jo3Oh58PvjvWQlX07qPlJJ1XKJeZ8CpA4i7iNC7BXtFH15YzDb/Pw8VxqwhiAuyACA SqCFuNp1AgMBAAGjgdIwgc8wCQYDVR0TBAIwADBEBgNVHSAEPTA7MDkGC2CGSAGG+EUBBxcB MCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LnZlcmlzaWduLmNvbS9ycGEwCwYDVR0PBAQD AgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMEBggrBgEFBQcDAjBQBgNVHR8ESTBHMEWgQ6BBhj9o dHRwOi8vaW5kYzFkaWdpdGFsaWQtZzMtY3JsLnZlcmlzaWduLmNvbS9JbmRDMURpZ2l0YWxJ RC1HMy5jcmwwDQYJKoZIhvcNAQEFBQADggEBAJkX3S0O1NP8uJa6rDOVBnsxGDyq/nMzOroc VVCKrmfsyQ48gcWBqo77QciFnzo04eaMa8uEajGdJwl7z8M0OrNTmNvNeUETE44RhEObHtBo /1+HoVh2sGbxHD82rqwFxyTZOk9A7/mTqbjqwAZF3YkvL4QhKoLAjvLqs7fWjYTIZWMoej5k PCzuHdvVc4pFLwkzjhx04IW5PozTPVnp+Ik2AaCieHn/gAsMYtglHs4OdXmbePxS2vU3Lf3O bfWE8Axgq+dwwYgUtLXR5LaA5FaMutUjcJg0ZrzzAtxyrh8MNeJmdNuHVot3eQgSsvIlo+cT d699EQKDq0uowKmnd9IwggbuMIIF1qADAgECAhBxFWYFSuSRIU3pvET5rNPcMA0GCSqGSIb3 DQEBBQUAMIHKMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNV BAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWdu LCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENs YXNzIDEgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzAeFw0w OTA1MDEwMDAwMDBaFw0xOTA0MzAyMzU5NTlaMIHdMQswCQYDVQQGEwJVUzEXMBUGA1UEChMO VmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsxOzA5BgNV BAsTMlRlcm1zIG9mIHVzZSBhdCBodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBhIChjKTA5 MR4wHAYDVQQLExVQZXJzb25hIE5vdCBWYWxpZGF0ZWQxNzA1BgNVBAMTLlZlcmlTaWduIENs YXNzIDEgSW5kaXZpZHVhbCBTdWJzY3JpYmVyIENBIC0gRzMwggEiMA0GCSqGSIb3DQEBAQUA A4IBDwAwggEKAoIBAQDtxEffKigdfAZru9chMslsE4/psY1BTjT32gvjavpliCALERPpm+BJ Totv1QHQXw1HkYpaTHQ+P8aRCbtMNJ6NbqGCUWL3aXZYlgevnhQYB09avZ/SMbJUGXNGahlC EewScyGN9dwwzeXZVgoxxTZtKRSXvS3aiUcZiNhLBD3rtjxnHnQAEw3QhtqTZ/gzA64aPGtp ePbALI7hgz93+Zn//p9SWsK0hwrYbKlHwVQpZUM+SsCWH8Gt93evbLEEXr7BtpQtl5AtJ9K7 HumDaoT2xLKuIwZlJqUnWCsHIrRvpmJIGnfy1VAnminTlvso9bokdmLjjFnr+27VQsS+Qcf1 AgMBAAGjggK5MIICtTA0BggrBgEFBQcBAQQoMCYwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3Nw LnZlcmlzaWduLmNvbTASBgNVHRMBAf8ECDAGAQH/AgEAMHAGA1UdIARpMGcwZQYLYIZIAYb4 RQEHFwEwVjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL2NwczAqBggr BgEFBQcCAjAeGhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBhMDQGA1UdHwQtMCswKaAn oCWGI2h0dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTEtZzMuY3JsMA4GA1UdDwEB/wQEAwIB BjBuBggrBgEFBQcBDARiMGChXqBcMFowWDBWFglpbWFnZS9naWYwITAfMAcGBSsOAwIaBBRL a7kolgYMu9BSOJsprEsHiyEFGDAmFiRodHRwOi8vbG9nby52ZXJpc2lnbi5jb20vdnNsb2dv MS5naWYwLgYDVR0RBCcwJaQjMCExHzAdBgNVBAMTFlByaXZhdGVMYWJlbDQtMjA0OC0xMTgw HQYDVR0OBBYEFHlHYQhB/TgEokvntcz1Q/ZJKxH4MIHxBgNVHSMEgekwgeahgdCkgc0wgcox CzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVyaVNp Z24gVHJ1c3QgTmV0d29yazE6MDgGA1UECxMxKGMpIDE5OTkgVmVyaVNpZ24sIEluYy4gLSBG b3IgYXV0aG9yaXplZCB1c2Ugb25seTFFMEMGA1UEAxM8VmVyaVNpZ24gQ2xhc3MgMSBQdWJs aWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEczghEAi1t1VoRUhQsAz684 SM6xpDANBgkqhkiG9w0BAQUFAAOCAQEAOU3PQZmBtakFtVI46TmEiWzkNKha59hsCUwkGrpZ pIc7cyHxk4HPv2hjWmf+NYUrocNdo0rCOhndMNbMTe/x0oGXylRaQ783i3qOGY0PQ6iM8q9g sxWKs5WcPOCesyeYpDVyF+X8Kl2H04oNwtFFKvjA9KwqkzrVrhJwCOv7O+J37OgrZDV2zbra 4NHLFNZxWJu+1T59ttnoJMUkZkxdkR92sxc+fw3GIYkvsze4of9csm1J3mVSQvsOiNLtSh2/ S+P4zHL6SA5ljknI1viZmDu3lD4xcQaH+mxZUy7X3yvtX2MArBXtA7hVFozGaAPnIqhzC7G8 oNpSWN0KDn/BgjGCBOwwggToAgEBMIHyMIHdMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVy aVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsxOzA5BgNVBAsT MlRlcm1zIG9mIHVzZSBhdCBodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBhIChjKTA5MR4w HAYDVQQLExVQZXJzb25hIE5vdCBWYWxpZGF0ZWQxNzA1BgNVBAMTLlZlcmlTaWduIENsYXNz IDEgSW5kaXZpZHVhbCBTdWJzY3JpYmVyIENBIC0gRzMCEAqzP+sBemOzul4+4fzvl/kwCQYF Kw4DAhoFAKCCAs4wGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcN MTMwMTA5MTYzNjUxWjAjBgkqhkiG9w0BCQQxFgQUz9ji15HJ4cOV5x7/ntlXOfCTvxowXwYJ KoZIhvcNAQkPMVIwUDALBglghkgBZQMEAQIwCgYIKoZIhvcNAwcwDgYIKoZIhvcNAwICAgCA MA0GCCqGSIb3DQMCAgFAMAcGBSsOAwIHMA0GCCqGSIb3DQMCAgEoMIIBAwYJKwYBBAGCNxAE MYH1MIHyMIHdMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNV BAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsxOzA5BgNVBAsTMlRlcm1zIG9mIHVzZSBhdCBo dHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBhIChjKTA5MR4wHAYDVQQLExVQZXJzb25hIE5v dCBWYWxpZGF0ZWQxNzA1BgNVBAMTLlZlcmlTaWduIENsYXNzIDEgSW5kaXZpZHVhbCBTdWJz Y3JpYmVyIENBIC0gRzMCEAqzP+sBemOzul4+4fzvl/kwggEFBgsqhkiG9w0BCRACCzGB9aCB 8jCB3TELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2UgYXQgaHR0cHM6 Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykwOTEeMBwGA1UECxMVUGVyc29uYSBOb3QgVmFs aWRhdGVkMTcwNQYDVQQDEy5WZXJpU2lnbiBDbGFzcyAxIEluZGl2aWR1YWwgU3Vic2NyaWJl ciBDQSAtIEczAhAKsz/rAXpjs7pePuH875f5MA0GCSqGSIb3DQEBAQUABIIBACY3FYKouXa6 U+jqlwqZ3Ln6ZghnxiaeAYgKNbcrdfzYW0HtiEHyWyM4JePzE6PqQSVxza0orJ+6cLkN4b/0 SQUPoEaONs653BuXmvq5I+3VzydwNa1gCKFwjNJaknHVpB4CZfqIdJOL49NzFtibKO0uvoYT hFUjjB4ThtZu5yfIz9B2hEJsIPKPVVkQKNexZZAD2XR7lr4tHo02/blb4h43xEcyf7IvV3Qc Z4Oi+DRe+gAMKjA4BrELiwOYARDOxg9ApGn5HTjz751nXfCW+2k4rzDOWwg6Oe2vS9jqYInU pipzNIb9r3ZIg+vq04e4bebgzKOpiiki+DR0/YdcQjMAAAAAAAA= --------------ms030501080407080304050007--