diff --git a/lib/jekyll/filters.rb b/lib/jekyll/filters.rb index f92c02b1..17a4142b 100644 --- a/lib/jekyll/filters.rb +++ b/lib/jekyll/filters.rb @@ -10,7 +10,7 @@ module Jekyll # Returns the HTML formatted String. def textilize(input) site = @context.registers[:site] - converter = site.getConverterImpl(Jekyll::Converters::Textile) + converter = site.find_converter_instance(Jekyll::Converters::Textile) converter.convert(input) end @@ -21,7 +21,7 @@ module Jekyll # Returns the HTML formatted String. def markdownify(input) site = @context.registers[:site] - converter = site.getConverterImpl(Jekyll::Converters::Markdown) + converter = site.find_converter_instance(Jekyll::Converters::Markdown) converter.convert(input) end @@ -32,7 +32,7 @@ module Jekyll # Returns the CSS formatted String. def sassify(input) site = @context.registers[:site] - converter = site.getConverterImpl(Jekyll::Converters::Sass) + converter = site.find_converter_instance(Jekyll::Converters::Sass) converter.convert(input) end @@ -43,7 +43,7 @@ module Jekyll # Returns the CSS formatted String. def scssify(input) site = @context.registers[:site] - converter = site.getConverterImpl(Jekyll::Converters::Scss) + converter = site.find_converter_instance(Jekyll::Converters::Scss) converter.convert(input) end diff --git a/lib/jekyll/site.rb b/lib/jekyll/site.rb index 85c479bf..83ab283c 100644 --- a/lib/jekyll/site.rb +++ b/lib/jekyll/site.rb @@ -414,13 +414,8 @@ module Jekyll # klass - The Class of the Converter to fetch. # # Returns the Converter instance implementing the given Converter. - def getConverterImpl(klass) - matches = converters.select { |c| c.class == klass } - if impl = matches.first - impl - else - raise "Converter implementation not found for #{klass}" - end + def find_converter_instance(klass) + converters.find { |c| c.class == klass } || proc { raise "No converter for #{klass}" }.call end # Create array of instances of the subclasses of the class or module diff --git a/test/test_sass.rb b/test/test_sass.rb index 102815a0..50d174ba 100644 --- a/test/test_sass.rb +++ b/test/test_sass.rb @@ -16,11 +16,11 @@ class TestSass < Test::Unit::TestCase end should "register the SCSS converter" do - assert !!@site.getConverterImpl(Jekyll::Converters::Scss), "SCSS converter implementation should exist." + assert !!@site.find_converter_instance(Jekyll::Converters::Scss), "SCSS converter implementation should exist." end should "register the Sass converter" do - assert !!@site.getConverterImpl(Jekyll::Converters::Sass), "Sass converter implementation should exist." + assert !!@site.find_converter_instance(Jekyll::Converters::Sass), "Sass converter implementation should exist." end end end