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