Sha256: 04a7d07d23dfa5f4677523b5d72eb98854929e5d6baca7afe0009b711a6c31f6
Contents?: true
Size: 1.11 KB
Versions: 2
Compression:
Stored size: 1.11 KB
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.fetch(:title, '') @body = page.fetch(:body, '') @syntax = page[:markup] @latest = page[:latest] || false @time = page.fetch(:time, Time.now) @message = page.fetch(: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 path return @title unless @title.index('/') @title.split('/').first + '/' + @title.split('/').last.downcase end def set_latest @latest = true end def to_s @title end def commit_message return "Edit in page #{title}" if message.empty? message end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
caramelize-1.1.1 | lib/caramelize/page.rb |
caramelize-1.1.0 | lib/caramelize/page.rb |