Sha256: 81553825c8817967e292a436099fa115b644fade665dbd07790925b3767cdb99

Contents?: true

Size: 860 Bytes

Versions: 1

Compression:

Stored size: 860 Bytes

Contents

module Caramelize
  class Page

    attr_accessor :title, :body, :id, :markup, :latest, :time, :message, :author, :author_name

    def initialize page={}
      @id =      page[:id]
      @title =   page[:title] || ""
      @body =    page[:body] || ""
      @syntax =  page[:markup]
      @latest =  page[:latest] || false
      @time =    page[:time] || Time.now
      @message = page[:message] || ""
      @author =  page[:author]
      @author_name =  page[:author_name]
    end

    def author_email
      author.email
    end

    def author_name
      author.name
    end

    def author
      @author ||= OpenStruct.new(name: @author_name || "Caramelize",
                             email: "mail@example.com")
    end

    def latest?
      @latest
    end

    def set_latest
      @latest = true
    end

    def to_s
      @title
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
caramelize-0.3.0 lib/caramelize/page.rb