1
0
mirror of https://github.com/erusev/parsedown.git synced 2023-08-10 21:13:06 +03:00

Break out method_exists checks into extendable methods to allow for better pluggability

This commit is contained in:
Andy Miller 2015-12-17 10:46:44 -07:00
parent b166cab9a2
commit 5ad15b87fa

View File

@ -175,7 +175,7 @@ class Parsedown
} }
else else
{ {
if (method_exists($this, 'block'.$CurrentBlock['type'].'Complete')) if ($this->isBlockCompleteable($CurrentBlock['type']))
{ {
$CurrentBlock = $this->{'block'.$CurrentBlock['type'].'Complete'}($CurrentBlock); $CurrentBlock = $this->{'block'.$CurrentBlock['type'].'Complete'}($CurrentBlock);
} }
@ -216,7 +216,7 @@ class Parsedown
$Block['identified'] = true; $Block['identified'] = true;
} }
if (method_exists($this, 'block'.$blockType.'Continue')) if ($this->isBlockContinueable($blockType))
{ {
$Block['continuable'] = true; $Block['continuable'] = true;
} }
@ -245,7 +245,7 @@ class Parsedown
# ~ # ~
if (isset($CurrentBlock['continuable']) and method_exists($this, 'block'.$CurrentBlock['type'].'Complete')) if (isset($CurrentBlock['continuable']) and $this->isBlockCompleteable($CurrentBlock['type']))
{ {
$CurrentBlock = $this->{'block'.$CurrentBlock['type'].'Complete'}($CurrentBlock); $CurrentBlock = $this->{'block'.$CurrentBlock['type'].'Complete'}($CurrentBlock);
} }
@ -278,6 +278,19 @@ class Parsedown
return $markup; return $markup;
} }
#
# Allow for plugin extensibility
#
protected function isBlockContinueable($Type)
{
return method_exists($this, 'block'.$Type.'Continue');
}
protected function isBlockCompleteable($Type)
{
return method_exists($this, 'block'.$Type.'Complete');
}
# #
# Code # Code
@ -1521,8 +1534,8 @@ class Parsedown
'q', 'rt', 'ins', 'font', 'strong', 'q', 'rt', 'ins', 'font', 'strong',
's', 'tt', 'sub', 'mark', 's', 'tt', 'sub', 'mark',
'u', 'xm', 'sup', 'nobr', 'u', 'xm', 'sup', 'nobr',
'var', 'ruby', 'var', 'ruby',
'wbr', 'span', 'wbr', 'span',
'time', 'time',
); );
} }