Module: GollumRails::Core
Defined Under Namespace
Modules: ClassMethods
Constant Summary collapse
- ATTR_READERS =
[]
- ATTR_WRITERS =
[:name, :content, :format]
- ATTR_ACCESSORS =
[:commit, :gollum_page]
Instance Method Summary collapse
-
#canonicalized_filename ⇒ Object
Gets a canonicalized filename of the page.
-
#cname ⇒ Object
:nodoc:.
-
#compare_commits(sha1, sha2 = nil) ⇒ Object
Compare 2 Commits.
- #content ⇒ Object
-
#current_version(long = false) ⇒ Object
Gets the version of current commit.
-
#file_name ⇒ Object
:nodoc:.
-
#filename(ext = true) ⇒ Object
Outputs the pages filename on disc.
-
#format ⇒ Object
Gets the pages format.
-
#full_path ⇒ Object
:nodoc:.
-
#history ⇒ Object
Gets the history of current gollum_page.
-
#html_data ⇒ Object
Gets formatted_data for current Gollum::Page.
-
#initialize(attrs = {}) {|_self| ... } ⇒ Object
Initializes a new Page.
-
#last_changed_by ⇒ Object
Gets the last modified by Gollum::Committer.
- #name ⇒ Object
-
#path_name ⇒ Object
:nodoc:.
-
#preview(format = :markdown) ⇒ Object
Previews the page - Mostly used if you want to see what you do before saving.
-
#raw_data ⇒ Object
Gets raw_data for current Gollum::Page.
-
#sub_page? ⇒ Boolean
Checks if current page is a subpage.
-
#title ⇒ Object
Gets the title for current Gollum::Page.
- #to_param ⇒ Object
-
#url ⇒ Object
Gets the url for current page from Gollum::Page.
-
#url_path ⇒ Object
:nodoc:.
Instance Method Details
#canonicalized_filename ⇒ Object
Gets a canonicalized filename of the page
86 87 88 |
# File 'lib/gollum_rails/core.rb', line 86 def canonicalized_filename Gollum::Page.canonicalize_filename(name) end |
#cname ⇒ Object
:nodoc:
81 82 83 |
# File 'lib/gollum_rails/core.rb', line 81 def cname #:nodoc: Gollum::Page.cname(self.name) end |
#compare_commits(sha1, sha2 = nil) ⇒ Object
Compare 2 Commits.
sha1 - SHA1 sha2 - SHA1
154 155 156 |
# File 'lib/gollum_rails/core.rb', line 154 def compare_commits(sha1,sha2=nil) Page.wiki.full_reverse_diff_for(@gollum_page,sha1,sha2) end |
#content ⇒ Object
192 193 194 |
# File 'lib/gollum_rails/core.rb', line 192 def content @content ||= (@gollum_page.content || "") end |
#current_version(long = false) ⇒ Object
Gets the version of current commit
166 167 168 169 170 171 172 173 174 |
# File 'lib/gollum_rails/core.rb', line 166 def current_version(long=false) return nil unless persisted? unless long @gollum_page.version_short else @gollum_page.version.to_s end end |
#file_name ⇒ Object
:nodoc:
77 78 79 |
# File 'lib/gollum_rails/core.rb', line 77 def file_name #:nodoc: full_path.last end |
#filename(ext = true) ⇒ Object
Outputs the pages filename on disc
ext - Wether to output extension or not
188 189 190 |
# File 'lib/gollum_rails/core.rb', line 188 def filename(ext=true) @filename ||= (ext) ? @gollum_page.filename : @gollum_page.filename_stripped end |
#format ⇒ Object
Gets the pages format
177 178 179 |
# File 'lib/gollum_rails/core.rb', line 177 def format (@format || (@gollum_page.format||:markdown)).to_sym end |
#full_path ⇒ Object
:nodoc:
73 74 75 |
# File 'lib/gollum_rails/core.rb', line 73 def full_path #:nodoc: File.split(name) end |
#history ⇒ Object
Gets the history of current gollum_page
Returns an Array
138 139 140 141 |
# File 'lib/gollum_rails/core.rb', line 138 def history return nil unless persisted? gollum_page.versions end |
#html_data ⇒ Object
Gets formatted_data for current Gollum::Page
Returns a String
125 126 127 |
# File 'lib/gollum_rails/core.rb', line 125 def html_data gollum_page.formatted_data end |
#initialize(attrs = {}) {|_self| ... } ⇒ Object
Initializes a new Page
attrs - Hash of attributes
commit must be given to perform any page action!
56 57 58 59 60 61 |
# File 'lib/gollum_rails/core.rb', line 56 def initialize(attrs = {}) assign_attributes(attrs) _update_page_attributes if attrs[:gollum_page] yield self if block_given? run_callbacks :initialize unless _initialize_callbacks.empty? end |
#last_changed_by ⇒ Object
Gets the last modified by Gollum::Committer
Returns a String
146 147 148 |
# File 'lib/gollum_rails/core.rb', line 146 def last_changed_by "%s <%s>" % [history.first..name, history.first..email] end |
#name ⇒ Object
181 182 183 |
# File 'lib/gollum_rails/core.rb', line 181 def name @name ||= (@gollum_page.name || "") end |
#path_name ⇒ Object
:nodoc:
67 68 69 70 71 |
# File 'lib/gollum_rails/core.rb', line 67 def path_name #:nodoc: f = full_path.first return '/' if f == '.' f end |
#preview(format = :markdown) ⇒ Object
Previews the page - Mostly used if you want to see what you do before saving
This is an extremely fast method! 1 rendering attempt take depending on the content about 0.001 (simple markdown) upto 0.004 (1000 chars markdown) seconds, which is quite good
format - Specify the format you want to render with see GollumRails::Core.selfself.format_supported?
for formats
Returns a String
101 102 103 104 |
# File 'lib/gollum_rails/core.rb', line 101 def preview(format=:markdown) require 'active_support/core_ext/string/output_safety' wiki.preview_page(name, content, format).formatted_data.html_safe end |
#raw_data ⇒ Object
Gets raw_data for current Gollum::Page
Returns a String
131 132 133 |
# File 'lib/gollum_rails/core.rb', line 131 def raw_data gollum_page.raw_data end |
#sub_page? ⇒ Boolean
Checks if current page is a subpage
159 160 161 162 |
# File 'lib/gollum_rails/core.rb', line 159 def sub_page? return nil unless persisted? @gollum_page.sub_page end |
#title ⇒ Object
Gets the title for current Gollum::Page
Returns a String
118 119 120 |
# File 'lib/gollum_rails/core.rb', line 118 def title gollum_page.title end |
#to_param ⇒ Object
196 197 198 |
# File 'lib/gollum_rails/core.rb', line 196 def to_param name end |
#url ⇒ Object
Gets the url for current page from Gollum::Page
Returns a String
109 110 111 112 113 |
# File 'lib/gollum_rails/core.rb', line 109 def url if gollum_page gollum_page.url_path end end |
#url_path ⇒ Object
:nodoc:
63 64 65 |
# File 'lib/gollum_rails/core.rb', line 63 def url_path #:nodoc: File.split(url) end |