document.write('<link rel="stylesheet" href="http://gist.github.com/stylesheets/gist/embed.css"/>')





document.write('<div id=\"gist-209482\" class=\"gist\">\n  \n  \n    \n            \n\n      <div class=\"gist-file\">\n        <div class=\"gist-data gist-syntax\">\n          \n          \n          \n            <div class=\"gist-highlight\"><pre><div class=\"line\" id=\"LC1\"><span class=\"n\">has_field<\/span> <span class=\"s\">&#39;date_time&#39;<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">(<\/span><\/div><div class=\"line\" id=\"LC2\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">type<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"s\">&#39;Compound&#39;<\/span><span class=\"p\">,<\/span><\/div><div class=\"line\" id=\"LC3\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">apply<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">[<\/span> <\/div><div class=\"line\" id=\"LC4\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">{<\/span><\/div><div class=\"line\" id=\"LC5\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">transform<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"k\">sub <\/span><span class=\"p\">{<\/span> <span class=\"n\">DateTime<\/span><span class=\"o\">-&gt;<\/span><span class=\"k\">new<\/span><span class=\"p\">(<\/span> <span class=\"nb\">shift<\/span> <span class=\"p\">)<\/span> <span class=\"p\">},<\/span><\/div><div class=\"line\" id=\"LC6\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">message<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"s\">&#39;This is not a correct date&#39;<\/span><span class=\"p\">,<\/span><\/div><div class=\"line\" id=\"LC7\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">}<\/span><\/div><div class=\"line\" id=\"LC8\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">{<\/span><\/div><div class=\"line\" id=\"LC9\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">check<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"k\">sub <\/span><span class=\"p\">{<\/span> <span class=\"nb\">shift<\/span><span class=\"o\">-&gt;<\/span><span class=\"n\">day_of_week<\/span> <span class=\"o\">==<\/span> <span class=\"mi\">1<\/span> <span class=\"p\">},<\/span><\/div><div class=\"line\" id=\"LC10\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">message<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"s\">&#39;Only Mondays allowed&#39;<\/span><span class=\"p\">,<\/span><\/div><div class=\"line\" id=\"LC11\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">}<\/span><\/div><div class=\"line\" id=\"LC12\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">],<\/span><\/div><div class=\"line\" id=\"LC13\"><span class=\"p\">);<\/span><\/div><div class=\"line\" id=\"LC14\"><span class=\"n\">has_field<\/span> <span class=\"s\">&#39;date_time.year&#39;<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">(<\/span> <\/div><div class=\"line\" id=\"LC15\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">type<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"s\">&#39;Integer&#39;<\/span><span class=\"p\">,<\/span><\/div><div class=\"line\" id=\"LC16\"><span class=\"p\">);<\/span><\/div><div class=\"line\" id=\"LC17\"><span class=\"n\">has_field<\/span> <span class=\"s\">&#39;date_time.month&#39;<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">(<\/span> <\/div><div class=\"line\" id=\"LC18\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">type<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"s\">&#39;Integer&#39;<\/span><span class=\"p\">,<\/span>  <\/div><div class=\"line\" id=\"LC19\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">apply<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">[<\/span> <span class=\"p\">{<\/span> <span class=\"n\">check<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"k\">sub <\/span><span class=\"p\">{<\/span> <span class=\"k\">my<\/span> <span class=\"nv\">$month<\/span> <span class=\"o\">=<\/span> <span class=\"nb\">shift<\/span><span class=\"p\">;<\/span> <span class=\"k\">return<\/span> <span class=\"nv\">$month<\/span> <span class=\"o\">&gt;<\/span> <span class=\"mi\">0<\/span> <span class=\"o\">&amp;&amp;<\/span> <span class=\"nv\">$month<\/span> <span class=\"o\">&lt;=<\/span> <span class=\"mi\">12<\/span> <span class=\"p\">}<\/span> <span class=\"p\">]<\/span> <\/div><div class=\"line\" id=\"LC20\"><span class=\"p\">);<\/span><\/div><div class=\"line\" id=\"LC21\"><span class=\"n\">has_field<\/span> <span class=\"s\">&#39;date_time.day&#39;<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">(<\/span> <\/div><div class=\"line\" id=\"LC22\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">type<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"s\">&#39;Integer&#39;<\/span><span class=\"p\">,<\/span><\/div><div class=\"line\" id=\"LC23\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">apply<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">[<\/span> <span class=\"p\">{<\/span> <span class=\"n\">check<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"k\">sub <\/span><span class=\"p\">{<\/span> <span class=\"k\">my<\/span> <span class=\"nv\">$day<\/span> <span class=\"o\">=<\/span> <span class=\"nb\">shift<\/span><span class=\"p\">;<\/span> <span class=\"k\">return<\/span> <span class=\"nv\">$day<\/span> <span class=\"o\">&gt;<\/span> <span class=\"mi\">0<\/span> <span class=\"o\">&amp;&amp;<\/span> <span class=\"nv\">$day<\/span> <span class=\"o\">&lt;=<\/span> <span class=\"mi\">31<\/span> <span class=\"p\">}<\/span> <span class=\"p\">]<\/span><\/div><div class=\"line\" id=\"LC24\"><span class=\"p\">);<\/span><\/div><\/pre><\/div>\n          \n        <\/div>\n\n        <div class=\"gist-meta\">\n          <a href=\"http://gist.github.com/raw/209482/f3438d36fa3551902c93c0e1f391b21675a5f2de/gistfile1.pl\" style=\"float:right;\">view raw<\/a>\n          <a href=\"http://gist.github.com/209482#file_gistfile1.pl\" style=\"float:right;margin-right:10px;color:#666\">gistfile1.pl<\/a>\n          <a href=\"http://gist.github.com/209482\">This Gist<\/a> brought to you by <a href=\"http://github.com\">GitHub<\/a>.\n        <\/div>\n      <\/div>\n    \n  \n<\/div>\n')
