Class: Cyberweb::Tooltips

Inherits:
Object
  • Object
show all
Defined in:
lib/cyberweb/classes/tooltips.rb

Overview

Cyberweb::Tooltips

Instance Method Summary collapse

Constructor Details

#initialize(optional_hash = {}, run_already = true) ⇒ Tooltips

#

initialize

#


32
33
34
35
36
37
38
39
# File 'lib/cyberweb/classes/tooltips.rb', line 32

def initialize(
    optional_hash = {},
    run_already = true
  )
  reset
  set_data(optional_hash)
  run if run_already
end

Instance Method Details

#add(i) ⇒ Object

#

add

#


106
107
108
# File 'lib/cyberweb/classes/tooltips.rb', line 106

def add(i)
  @_ << i
end

#append_css_style_stringObject

#

append_css_style_string

#


113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
# File 'lib/cyberweb/classes/tooltips.rb', line 113

def append_css_style_string
  add "span.tooltip {
background: none repeat scroll 0 0 #F8F8F8;
border: 5px solid #{@colour_of_border};
color: #717171;
font-size: 13px;
height: 30px;
letter-spacing: 1px;
line-height: 30px;
margin: 0 auto;
position: relative;
text-align: center;
text-transform: uppercase;
top: -75px;
left:-45px;
display:none;
padding:0 #{@padding_of_the_box}px;
}

span.tooltip:after{
content:'';
position:absolute;
bottom: -10px;
width:   10px;
height:  10px;
border-bottom:5px solid #{@colour_of_border};
border-right: 5px solid #{@colour_of_border};
background:#f8f8f8;
left:50%;
margin-left:-5px;
-moz-transform:rotate(45deg);
-webkit-transform:rotate(45deg);
transform:rotate(45deg);
}
p {
margin:100px;
float:left;
position:relative;
cursor:pointer;
}

p:hover span {
display:block;
}"
end

#key?(i) ⇒ Boolean

#

key?

#

Returns:

  • (Boolean)


71
72
73
# File 'lib/cyberweb/classes/tooltips.rb', line 71

def key?(i)
  @data.has_key?(i)
end

#process_main_hashObject

#

process_main_hash

#


85
86
87
88
89
90
91
92
93
# File 'lib/cyberweb/classes/tooltips.rb', line 85

def process_main_hash
  @data = Hash[@data.map{ |key, value| [key.to_s, value] }] # We wish to have strings.
  if key? 'colour_of_border'
    set_colour @data.delete('colour_of_border').to_s
  end
  if key? 'padding'
    set_padding @data.delete('padding').to_s
  end
end

#resetObject

#

reset (reset tag)

#


44
45
46
47
48
49
50
51
# File 'lib/cyberweb/classes/tooltips.rb', line 44

def reset
  @_ = ''.dup
  set_padding
  # ======================================================================= #
  # === @colour_of_border
  # ======================================================================= #
  @colour_of_border = '#dfdfdf'
end

#runObject

#

run (run tag)

#


162
163
164
165
# File 'lib/cyberweb/classes/tooltips.rb', line 162

def run
  process_main_hash
  append_css_style_string
end

#set_colour(i) ⇒ Object

#

set_colour

#


78
79
80
# File 'lib/cyberweb/classes/tooltips.rb', line 78

def set_colour(i)
  @colour_of_border = i
end

#set_data(i = {}) ⇒ Object

#

set_data

#


56
57
58
# File 'lib/cyberweb/classes/tooltips.rb', line 56

def set_data(i = {})
  @data = i
end

#set_padding(i = 70) ⇒ Object

#

set_padding

#


63
64
65
66
# File 'lib/cyberweb/classes/tooltips.rb', line 63

def set_padding(i = 70)
  i = i.to_i # Should be an Integer.
  @padding_of_the_box = i
end

#string?Boolean Also known as: result, string

#

string?

#

Returns:

  • (Boolean)


98
99
100
# File 'lib/cyberweb/classes/tooltips.rb', line 98

def string?
  @_
end