def due_process(spec_info, spec_str)
      format_spec = get_spec(spec_str)

      spec_info.instance_exec(&self[:before])

      format_spec.specs.each do |format|
        break if yield(format) == :break
      end

      spec_info.instance_exec(&self[:after])

      spec_info.dst
    end
def due_process(spec_info, spec_str)
      format_spec = get_spec(spec_str)

      spec_info.instance_exec(&self[:before])

      format_spec.specs.each do |format|
        break if yield(format) == :break
      end

      spec_info.instance_exec(&self[:after])

      spec_info.dst
    end
Do the actual work of parsing the formatted input.
<br>Parameters
* spec_info - The state of the process.
* spec_str - The format specification string.
* block - A code block performed for each format specification.