Class: Sass::Value::Map
Overview
Instance Attribute Summary collapse
Instance Method Summary
collapse
#[], #assert_boolean, #assert_calculation, #assert_color, #assert_function, #assert_mixin, #assert_number, #assert_string, #bracketed?, #eql?, #sass_index_to_array_index, #to_bool, #to_nil
Constructor Details
#initialize(contents = {}) ⇒ Map
Returns a new instance of Map.
12
13
14
|
# File 'lib/sass/value/map.rb', line 12
def initialize(contents = {})
@contents = contents.freeze
end
|
Instance Attribute Details
17
18
19
|
# File 'lib/sass/value/map.rb', line 17
def contents
@contents
end
|
Instance Method Details
#==(other) ⇒ ::Boolean
25
26
27
28
|
# File 'lib/sass/value/map.rb', line 25
def ==(other)
(other.is_a?(Sass::Value::Map) && other.contents == contents) ||
(contents.empty? && other.is_a?(Sass::Value::List) && other.to_a.empty?)
end
|
#assert_map(_name = nil) ⇒ Map
60
61
62
|
# File 'lib/sass/value/map.rb', line 60
def assert_map(_name = nil)
self
end
|
32
33
34
35
36
37
38
39
40
41
42
|
# File 'lib/sass/value/map.rb', line 32
def at(index)
if index.is_a?(Numeric)
index = index.floor
index = to_a_length + index if index.negative?
return nil if index.negative? || index >= to_a_length
Sass::Value::List.new(contents.to_a[index], separator: ' ')
else
contents[index]
end
end
|
#hash ⇒ Integer
45
46
47
|
# File 'lib/sass/value/map.rb', line 45
def hash
@hash ||= contents.hash
end
|
#separator ⇒ ::String?
20
21
22
|
# File 'lib/sass/value/map.rb', line 20
def separator
contents.empty? ? nil : ','
end
|
50
51
52
|
# File 'lib/sass/value/map.rb', line 50
def to_a
contents.map { |key, value| Sass::Value::List.new([key, value], separator: ' ') }
end
|
#to_map ⇒ Map
55
56
57
|
# File 'lib/sass/value/map.rb', line 55
def to_map
self
end
|