Class: Footnotes::Notes::AbstractNote

Inherits:
Object
  • Object
show all
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.

Class Method Summary collapse

Instance Method Summary collapse

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.

Returns:

  • (Boolean)


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

.titleObject

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_symObject

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.

Returns:

  • (Boolean)


120
121
122
# File 'lib/sinatra-footnotes/notes/abstract_note.rb', line 120

def has_fieldset?
  self.respond_to?(:content)
end

#javascriptObject

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

#legendObject

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

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

#onclickObject

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

#rowObject

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

#stylesheetObject

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

#titleObject

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_symObject

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.

Returns:

  • (Boolean)


114
115
116
# File 'lib/sinatra-footnotes/notes/abstract_note.rb', line 114

def valid?
  true
end