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) ⇒ Property
Returns a new instance of Property.
8
9
10
11
12
|
# File 'lib/less/engine/nodes/property.rb', line 8
def initialize key, value = nil
super key
@value = Expression.new(value ? [value].flatten : [])
@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
14
15
16
17
18
|
# File 'lib/less/engine/nodes/property.rb', line 14
def << token
token = Node::Anonymous.new(*token) unless token.is_a? Entity or token.is_a? Operator
token.parent = self if token.respond_to? :parent
@value << token
end
|
#empty? ⇒ Boolean
20
|
# File 'lib/less/engine/nodes/property.rb', line 20
def empty?; !@value || @value.empty? end
|
#eval? ⇒ Boolean
21
|
# File 'lib/less/engine/nodes/property.rb', line 21
def eval?; @eval end
|
TODO: @eval and @value should be merged
36
37
38
|
# File 'lib/less/engine/nodes/property.rb', line 36
def evaluate
@eval ||= value.evaluate
end
|
23
24
25
|
# File 'lib/less/engine/nodes/property.rb', line 23
def inspect
self + (empty?? "" : ": `#{value.map {|i| i.to_s } * ' | '}`")
end
|
#nearest(node) ⇒ Object
31
32
33
|
# File 'lib/less/engine/nodes/property.rb', line 31
def nearest node
parent.nearest node
end
|
40
41
42
|
# File 'lib/less/engine/nodes/property.rb', line 40
def to_css
"#{self}: #{evaluate.to_css};"
end
|
27
28
29
|
# File 'lib/less/engine/nodes/property.rb', line 27
def to_s
super
end
|