Sha256: f3afd07fbbaae91604764cb55590b40b7eff6127b24aee54bed6684e40fa7f1d

Contents?: true

Size: 516 Bytes

Versions: 4

Compression:

Stored size: 516 Bytes

Contents

require 'active_support/concern'

module Annal
  class Document
    def self.find(path)
      fetch = Fetch.new(path)
      new(fetch)
    end

    attr_accessor :raw_string, :fetch

    def initialize(file_or_str)
      if file_or_str.respond_to?(:read)
        self.fetch = file_or_str
      else
        self.raw_string = file_or_str
      end
    end

    def text
      fetch && fetch.read or
      raw_string
    end

    def parse
      Parse.new(text)
    end

    def data
      parse.data
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
annal-0.0.4 lib/annal/document.rb
annal-0.0.3 lib/annal/document.rb
annal-0.0.2 lib/annal/document.rb
annal-0.0.1 lib/annal/document.rb