@@ -20,50 +20,49 @@ module Markups
2020 MARKUP_RST = :rst
2121 MARKUP_TEXTILE = :textile
2222 end
23-
23+
2424 module Markup
2525 extend self
26-
26+
2727 @@markups = { }
2828
2929 def markups
3030 @@markups
3131 end
32-
32+
3333 def markup_impls
3434 markups . values
3535 end
3636
3737 def preload!
38- markup_impls . each do |markup |
39- markup . load
40- end
38+ markup_impls . each ( &:load )
4139 end
4240
43- def render ( filename , content , symlink = false )
44- if impl = renderer ( filename , content , symlink )
45- impl . render ( filename , content )
41+ def render ( filename , content , symlink : false , options : { } )
42+ if ( impl = renderer ( filename , content , symlink : symlink ) )
43+ impl . render ( filename , content , options : options )
4644 else
4745 content
4846 end
4947 end
50-
48+
5149 def render_s ( symbol , content )
52- if content . nil?
53- raise ArgumentError , 'Can not render a nil.'
54- elsif markups . has_key ?( symbol )
50+ raise ArgumentError , 'Can not render a nil.' if content . nil?
51+
52+ if markups . key ?( symbol )
5553 markups [ symbol ] . render ( nil , content )
5654 else
5755 content
5856 end
5957 end
6058
6159 def markup ( symbol , gem_name , regexp , languages , opts = { } , &block )
62- markup_impl ( symbol , GemImplementation . new ( regexp , languages , gem_name , &block ) )
60+ impl = GemImplementation . new ( regexp , languages , gem_name , &block )
61+ markup_impl ( symbol , impl )
6362 end
64-
63+
6564 def markup_impl ( symbol , impl )
66- if markups . has_key ?( symbol )
65+ if markups . key ?( symbol )
6766 raise ArgumentError , "The '#{ symbol } ' symbol is already defined."
6867 end
6968 markups [ symbol ] = impl
@@ -74,25 +73,26 @@ def command(symbol, command, regexp, languages, name, &block)
7473 command = file
7574 end
7675
77- markup_impl ( symbol , CommandImplementation . new ( regexp , languages , command , name , &block ) )
76+ impl = CommandImplementation . new ( regexp , languages , command , name , &block )
77+ markup_impl ( symbol , impl )
7878 end
7979
80- def can_render? ( filename , content , symlink = false )
81- !! renderer ( filename , content , symlink )
80+ def can_render? ( filename , content , symlink : false )
81+ renderer ( filename , content , symlink : symlink ) != nil
8282 end
8383
84- def renderer ( filename , content , symlink = false )
85- language = language ( filename , content , symlink )
86- markup_impls . find { |impl |
84+ def renderer ( filename , content , symlink : false )
85+ language = language ( filename , content , symlink : symlink )
86+ markup_impls . find do |impl |
8787 impl . match? ( filename , language )
88- }
88+ end
8989 end
9090
91- def language ( filename , content , symlink = false )
92- if defined? ( ::Linguist )
93- blob = Linguist :: Blob . new ( filename , content , symlink : symlink )
94- return Linguist . detect ( blob , allow_empty : true )
95- end
91+ def language ( filename , content , symlink : false )
92+ return unless defined? ( ::Linguist )
93+
94+ blob = Linguist :: Blob . new ( filename , content , symlink : symlink )
95+ Linguist . detect ( blob , allow_empty : true )
9696 end
9797
9898 # Define markups
0 commit comments