Skip to content

Commit

Permalink
Add a simple FILTERS pragma example.
Browse files Browse the repository at this point in the history
This includes examples of both section and interpolation filters.
  • Loading branch information
bobthecow committed Aug 23, 2014
1 parent a8d174a commit 3f492a1
Show file tree
Hide file tree
Showing 3 changed files with 142 additions and 0 deletions.
88 changes: 88 additions & 0 deletions test/fixtures/examples/filters/Filters.php
@@ -0,0 +1,88 @@
<?php

class Filters
{
public $states = array(
'al' => 'Alabama',
'ak' => 'Alaska',
'az' => 'Arizona',
'ar' => 'Arkansas',
'ca' => 'California',
'co' => 'Colorado',
'ct' => 'Connecticut',
'de' => 'Delaware',
'fl' => 'Florida',
'ga' => 'Georgia',
'hi' => 'Hawaii',
'id' => 'Idaho',
'il' => 'Illinois',
'in' => 'Indiana',
'ia' => 'Iowa',
'ks' => 'Kansas',
'ky' => 'Kentucky',
'la' => 'Louisiana',
'me' => 'Maine',
'md' => 'Maryland',
'ma' => 'Massachusetts',
'mi' => 'Michigan',
'mn' => 'Minnesota',
'ms' => 'Mississippi',
'mo' => 'Missouri',
'mt' => 'Montana',
'ne' => 'Nebraska',
'nv' => 'Nevada',
'nh' => 'New Hampshire',
'nj' => 'New Jersey',
'nm' => 'New Mexico',
'ny' => 'New York',
'nc' => 'North Carolina',
'nd' => 'North Dakota',
'oh' => 'Ohio',
'ok' => 'Oklahoma',
'or' => 'Oregon',
'pa' => 'Pennsylvania',
'ri' => 'Rhode Island',
'sc' => 'South Carolina',
'sd' => 'South Dakota',
'tn' => 'Tennessee',
'tx' => 'Texas',
'ut' => 'Utah',
'vt' => 'Vermont',
'va' => 'Virginia',
'wa' => 'Washington',
'wv' => 'West Virginia',
'wi' => 'Wisconsin',
'wy' => 'Wyoming',
);

// The next few functions are ugly, because they have to work in PHP 5.2...
// for everyone who doesn't have to support 5.2, please, for the love, make
// your ViewModel return closures rather than `array($this, '...')`
//
// :)

public function upcase()
{
return array($this, '_upcase');
}

public function _upcase($val)
{
return strtoupper($val);
}

public function eachPair()
{
return array($this, '_eachPair');
}

public function _eachPair($val)
{
$ret = array();
foreach ($val as $key => $value) {
array_push($ret, compact('key', 'value'));
}

return $ret;
}
}
4 changes: 4 additions & 0 deletions test/fixtures/examples/filters/filters.mustache
@@ -0,0 +1,4 @@
{{%FILTERS}}
{{# states | eachPair }}
{{ key | upcase }}: {{ value }}
{{/ states }}
50 changes: 50 additions & 0 deletions test/fixtures/examples/filters/filters.txt
@@ -0,0 +1,50 @@
AL: Alabama
AK: Alaska
AZ: Arizona
AR: Arkansas
CA: California
CO: Colorado
CT: Connecticut
DE: Delaware
FL: Florida
GA: Georgia
HI: Hawaii
ID: Idaho
IL: Illinois
IN: Indiana
IA: Iowa
KS: Kansas
KY: Kentucky
LA: Louisiana
ME: Maine
MD: Maryland
MA: Massachusetts
MI: Michigan
MN: Minnesota
MS: Mississippi
MO: Missouri
MT: Montana
NE: Nebraska
NV: Nevada
NH: New Hampshire
NJ: New Jersey
NM: New Mexico
NY: New York
NC: North Carolina
ND: North Dakota
OH: Ohio
OK: Oklahoma
OR: Oregon
PA: Pennsylvania
RI: Rhode Island
SC: South Carolina
SD: South Dakota
TN: Tennessee
TX: Texas
UT: Utah
VT: Vermont
VA: Virginia
WA: Washington
WV: West Virginia
WI: Wisconsin
WY: Wyoming

0 comments on commit 3f492a1

Please sign in to comment.