lib/asciidoctor/extensions.rb in asciidoctor-1.5.4 vs lib/asciidoctor/extensions.rb in asciidoctor-1.5.5

- old
+ new

@@ -104,20 +104,20 @@ Inline.new parent, context, text, opts end # Public: Parses blocks in the content and attaches the block to the parent. # - # Returns nothing + # Returns The parent node into which the blocks are parsed. #-- # QUESTION is parse_content the right method name? should we wrap in open block automatically? - def parse_content parent, content, attributes = {} - reader = (content.is_a? Reader) ? content : (Reader.new content) + def parse_content parent, content, attributes = nil + reader = Reader === content ? content : (Reader.new content) while reader.has_more_lines? - block = Parser.next_block reader, parent, attributes + block = Parser.next_block reader, parent, (attributes ? attributes.dup : {}) parent << block if block end - nil + parent end # TODO fill out remaining methods [ [:create_paragraph, :create_block, :paragraph], @@ -143,11 +143,11 @@ end def process *args, &block # need to check for both block/proc and lambda # TODO need test for this! - #if block_given? || (args.size == 1 && ((block = args[0]).is_a? ::Proc)) + #if block_given? || (args.size == 1 && ::Proc === (block = args[0])) if block_given? @process_block = block elsif @process_block # NOTE Proc automatically expands a single array argument # ...but lambda doesn't (and we want to accept lambdas too) @@ -324,11 +324,11 @@ module BlockProcessorDsl include ProcessorDsl # FIXME this isn't the prettiest thing def named value - if self.is_a? Processor + if Processor === self @name = value else option :name, value end end @@ -377,11 +377,11 @@ module MacroProcessorDsl include ProcessorDsl # QUESTION perhaps include a SyntaxDsl? def named value - if self.is_a? Processor + if Processor === self @name = value else option :name, value end end @@ -801,11 +801,11 @@ # # Returns a [Boolean] indicating whether any DocinfoProcessor extensions are registered. def docinfo_processors? location = nil if @docinfo_processor_extensions if location - @docinfo_processor_extensions.find {|ext| ext.config[:location] == location } + @docinfo_processor_extensions.any? {|ext| ext.config[:location] == location } else true end else false @@ -1131,19 +1131,19 @@ end ProcessorExtension.new kind, processor else processor, config = resolve_args args, 2 # style 2: specified as class or class name - if (processor.is_a? ::Class) || ((processor.is_a? ::String) && (processor = Extensions.class_for_name processor)) + if ::Class === processor || (::String === processor && (processor = Extensions.class_for_name processor)) unless processor < kind_class || (kind_java_class && processor < kind_java_class) raise ::ArgumentError.new %(Invalid type for #{kind_name} extension: #{processor}) end processor_instance = processor.new config processor_instance.freeze ProcessorExtension.new kind, processor_instance # style 3: specified as instance - elsif (processor.is_a? kind_class) || (kind_java_class && (processor.is_a? kind_java_class)) + elsif kind_class === processor || (kind_java_class && kind_java_class === processor) processor.update_config config processor.freeze ProcessorExtension.new kind, processor else raise ::ArgumentError.new %(Invalid arguments specified for registering #{kind_name} extension: #{args}) @@ -1188,22 +1188,22 @@ processor.freeze kind_store[name] = ProcessorExtension.new kind, processor else processor, name, config = resolve_args args, 3 # style 2: specified as class or class name - if (processor.is_a? ::Class) || ((processor.is_a? ::String) && (processor = Extensions.class_for_name processor)) + if ::Class === processor || (::String === processor && (processor = Extensions.class_for_name processor)) unless processor < kind_class || (kind_java_class && processor < kind_java_class) raise ::ArgumentError.new %(Class specified for #{kind_name} extension does not inherit from #{kind_class}: #{processor}) end processor_instance = processor.new as_symbol(name), config unless (name = as_symbol processor_instance.name) raise ::ArgumentError.new %(No name specified for #{kind_name} extension: #{processor}) end processor.freeze kind_store[name] = ProcessorExtension.new kind, processor_instance # style 3: specified as instance - elsif (processor.is_a? kind_class) || (kind_java_class && (processor.is_a? kind_java_class)) + elsif kind_class === processor || (kind_java_class && kind_java_class === processor) processor.update_config config # TODO need a test for this override! unless (name = name ? (processor.name = as_symbol name) : (as_symbol processor.name)) raise ::ArgumentError.new %(No name specified for #{kind_name} extension: #{processor}) end @@ -1214,11 +1214,11 @@ end end end def resolve_args args, expect - opts = (args[-1].is_a? ::Hash) ? args.pop : {} + opts = ::Hash === args[-1] ? args.pop : {} return opts if expect == 1 num_args = args.size if (missing = expect - 1 - num_args) > 0 args.fill nil, num_args, missing elsif missing < 0 @@ -1227,11 +1227,11 @@ args << opts args end def as_symbol name - name ? ((name.is_a? ::Symbol) ? name : name.to_sym) : nil + name ? name.to_sym : nil end end class << self def generate_name @@ -1321,10 +1321,10 @@ @groups = {} end # unused atm, but tested def resolve_class object - (object.is_a? ::Class) ? object : (class_for_name object.to_s) + ::Class === object ? object : (class_for_name object.to_s) end # Public: Resolves the Class object for the qualified name. # # Returns Class