Class: Footnotes::Notes::AbstractNote
- Inherits:
-
Object
- Object
- Footnotes::Notes::AbstractNote
- Defined in:
- lib/sinatra-footnotes/notes/abstract_note.rb
Overview
This is the abstract class for notes. You can overwrite all instance public methods to create your notes.
Direct Known Subclasses
AssignsNote, CookiesNote, EnvNote, FlashNote, ParamsNote, SessionNote, SinatraRoutesNote
Class Method Summary collapse
-
.close!(controller = nil) ⇒ Object
Action to be called after the Note was used.
-
.included? ⇒ Boolean
Return true if Note is included in notes array.
-
.start!(controller = nil) ⇒ Object
Action to be called to start the Note.
-
.title ⇒ Object
Returns the title that represents this note.
-
.to_sym ⇒ Object
Returns the symbol that represents this note.
Instance Method Summary collapse
-
#has_fieldset? ⇒ Boolean
Specifies when should create a fieldset for it, considering it’s valid.
-
#initialize(controller = nil) ⇒ AbstractNote
constructor
Initialize notes.
-
#javascript ⇒ Object
Insert here any additional javascript.
-
#legend ⇒ Object
If has_fieldset? is true, create a fieldset with the value returned as legend.
-
#link ⇒ Object
Set href field for Footnotes links.
-
#onclick ⇒ Object
Set onclick field for Footnotes links.
-
#row ⇒ Object
Specifies in which row should appear the title.
-
#stylesheet ⇒ Object
Insert here any additional stylesheet.
-
#title ⇒ Object
Returns the title to be used as link.
-
#to_sym ⇒ Object
Returns the symbol that represents this note.
-
#valid? ⇒ Boolean
Specifies when should create a note for it.
Constructor Details
#initialize(controller = nil) ⇒ AbstractNote
Initialize notes. Always receives a controller.
51 52 |
# File 'lib/sinatra-footnotes/notes/abstract_note.rb', line 51 def initialize(controller = nil) end |
Class Method Details
.close!(controller = nil) ⇒ Object
Action to be called after the Note was used. This is applied as an after_filter.
44 45 |
# File 'lib/sinatra-footnotes/notes/abstract_note.rb', line 44 def close!(controller = nil) end |
.included? ⇒ Boolean
Return true if Note is included in notes array.
31 32 33 |
# File 'lib/sinatra-footnotes/notes/abstract_note.rb', line 31 def included? Footnotes::Filter.notes.include?(self.to_sym) end |
.start!(controller = nil) ⇒ Object
Action to be called to start the Note. This is applied as a before_filter.
38 39 |
# File 'lib/sinatra-footnotes/notes/abstract_note.rb', line 38 def start!(controller = nil) end |
.title ⇒ Object
Returns the title that represents this note. It’s the name of the class without Note.
For example, for ControllerNote it will return Controller.
25 26 27 |
# File 'lib/sinatra-footnotes/notes/abstract_note.rb', line 25 def title @note_title ||= self.name.match(/^Footnotes::Notes::(\w+)Note$/)[1] end |
.to_sym ⇒ Object
Returns the symbol that represents this note. It’s the name of the class, underscored and without _note.
For example, for ControllerNote it will return :controller.
16 17 18 |
# File 'lib/sinatra-footnotes/notes/abstract_note.rb', line 16 def to_sym @note_sym ||= self.title.underscore.to_sym end |
Instance Method Details
#has_fieldset? ⇒ Boolean
Specifies when should create a fieldset for it, considering it’s valid.
120 121 122 |
# File 'lib/sinatra-footnotes/notes/abstract_note.rb', line 120 def has_fieldset? self.respond_to?(:content) end |
#javascript ⇒ Object
Insert here any additional javascript. This is directly inserted into a <script> tag.
108 109 |
# File 'lib/sinatra-footnotes/notes/abstract_note.rb', line 108 def javascript end |
#legend ⇒ Object
If has_fieldset? is true, create a fieldset with the value returned as legend. By default, returns the title of the class (defined above).
77 78 79 |
# File 'lib/sinatra-footnotes/notes/abstract_note.rb', line 77 def legend self.class.title end |
#link ⇒ Object
Set href field for Footnotes links. If it’s nil, Footnotes will use ‘#’.
90 91 |
# File 'lib/sinatra-footnotes/notes/abstract_note.rb', line 90 def link end |
#onclick ⇒ Object
Set onclick field for Footnotes links. If it’s nil, Footnotes will make it open the fieldset.
96 97 |
# File 'lib/sinatra-footnotes/notes/abstract_note.rb', line 96 def onclick end |
#row ⇒ Object
Specifies in which row should appear the title. The default is :show.
63 64 65 |
# File 'lib/sinatra-footnotes/notes/abstract_note.rb', line 63 def row :show end |
#stylesheet ⇒ Object
Insert here any additional stylesheet. This is directly inserted into a <style> tag.
102 103 |
# File 'lib/sinatra-footnotes/notes/abstract_note.rb', line 102 def stylesheet end |
#title ⇒ Object
Returns the title to be used as link. The default is the note title.
70 71 72 |
# File 'lib/sinatra-footnotes/notes/abstract_note.rb', line 70 def title self.class.title end |
#to_sym ⇒ Object
Returns the symbol that represents this note.
56 57 58 |
# File 'lib/sinatra-footnotes/notes/abstract_note.rb', line 56 def to_sym self.class.to_sym end |
#valid? ⇒ Boolean
Specifies when should create a note for it. By default, it’s valid.
114 115 116 |
# File 'lib/sinatra-footnotes/notes/abstract_note.rb', line 114 def valid? true end |