Sha256: 5cc50fc6fd92f785e65c09397085fb8467e5c8fb82fb6aea76017b1ee8361140

Contents?: true

Size: 919 Bytes

Versions: 6

Compression:

Stored size: 919 Bytes

Contents

# frozen_string_literal: true

module Srx
  module Format
    # Interface definition for format support
    class BaseFormat
      # @abstract
      # @param str [String]
      # @return [Array(String,Array<Array(Integer,String)>)] two items: 1) input
      #   +str+ with markups removed, and 2) a list of markups, i.e. +[pos,
      #   string]+ pairs
      def extract_markups(str)
        raise(NotImplementedError)
      end

      # @abstract
      # @param markup [String]
      # @return [Boolean]
      def start_formatting?(markup)
        raise(NotImplementedError)
      end

      # @abstract
      # @param markup [String]
      # @return [Boolean]
      def end_formatting?(markup)
        raise(NotImplementedError)
      end

      # @abstract
      # @param markup [String]
      # @return [Boolean]
      def isolated_formatting?(markup)
        raise(NotImplementedError)
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
srx-0.6.0 lib/srx/format/base_format.rb
srx-0.5.0 lib/srx/format/base_format.rb
srx-0.4.0 lib/srx/format/base_format.rb
srx-0.3.0 lib/srx/format/base_format.rb
srx-0.2.0 lib/srx/format/base_format.rb
srx-0.1.0 lib/srx/format/base_format.rb