Class: Less::Node::Property
Instance Attribute Summary collapse
Attributes included from Entity
#parent
Instance Method Summary
collapse
Methods included from Entity
#path, #root
Methods inherited from String
#blank?, #column_of, #indent, #line_of, #tabto, #treetop_camelize
Constructor Details
#initialize(key, value = nil, parent = nil) ⇒ Property
Returns a new instance of Property.
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# File 'lib/less/engine/nodes/property.rb', line 8
def initialize key, value = nil, parent = nil
super key, parent
value = if value.is_a? Array
value.each {|v| v.parent = self if v.respond_to? :parent }
elsif value.nil?
[]
else
value
end
@value = Expression.new(value, self)
@eval = false end
|
Instance Attribute Details
Returns the value of attribute value.
6
7
8
|
# File 'lib/less/engine/nodes/property.rb', line 6
def value
@value
end
|
Instance Method Details
#<<(token) ⇒ Object
23
24
25
26
27
|
# File 'lib/less/engine/nodes/property.rb', line 23
def << token
token = Node::Anonymous.new(*token) unless token.is_a? Entity or token.respond_to? :to_ruby
token.parent = self if token.respond_to? :parent
@value << token
end
|
#empty? ⇒ Boolean
29
|
# File 'lib/less/engine/nodes/property.rb', line 29
def empty?; !@value || @value.empty? end
|
#eval? ⇒ Boolean
30
|
# File 'lib/less/engine/nodes/property.rb', line 30
def eval?; @eval end
|
TODO: @eval and @value should be merged
45
46
47
|
# File 'lib/less/engine/nodes/property.rb', line 45
def evaluate
@eval ||= value.evaluate
end
|
32
33
34
|
# File 'lib/less/engine/nodes/property.rb', line 32
def inspect
self + (empty?? "" : ": `#{value.map {|i| i.to_s } * ' | '}`")
end
|
#nearest(node) ⇒ Object
40
41
42
|
# File 'lib/less/engine/nodes/property.rb', line 40
def nearest node
parent.nearest node
end
|
49
50
51
|
# File 'lib/less/engine/nodes/property.rb', line 49
def to_css
"#{self}: #{evaluate.to_css};"
end
|
36
37
38
|
# File 'lib/less/engine/nodes/property.rb', line 36
def to_s
super
end
|