Class: HashMapper::PathMap
- Inherits:
-
Object
- Object
- HashMapper::PathMap
- Includes:
- Enumerable
- Defined in:
- lib/hash_mapper.rb
Overview
contains array of path segments
Instance Attribute Summary collapse
-
#filter ⇒ Object
writeonly
Sets the attribute filter.
-
#segments ⇒ Object
readonly
Returns the value of attribute segments.
Instance Method Summary collapse
- #apply_filter(value) ⇒ Object
- #each(&blk) ⇒ Object
- #first ⇒ Object
-
#initialize(path) ⇒ PathMap
constructor
A new instance of PathMap.
- #last ⇒ Object
- #size ⇒ Object
Methods included from Enumerable
Constructor Details
#initialize(path) ⇒ PathMap
Returns a new instance of PathMap.
176 177 178 179 180 |
# File 'lib/hash_mapper.rb', line 176 def initialize(path) @path = path.dup @segments = parse(path) @filter = lambda{|value| value}# default filter does nothing end |
Instance Attribute Details
#filter=(value) ⇒ Object (writeonly)
Sets the attribute filter
174 175 176 |
# File 'lib/hash_mapper.rb', line 174 def filter=(value) @filter = value end |
#segments ⇒ Object (readonly)
Returns the value of attribute segments.
173 174 175 |
# File 'lib/hash_mapper.rb', line 173 def segments @segments end |
Instance Method Details
#apply_filter(value) ⇒ Object
182 183 184 |
# File 'lib/hash_mapper.rb', line 182 def apply_filter(value) @filter.call(value) end |
#each(&blk) ⇒ Object
186 187 188 |
# File 'lib/hash_mapper.rb', line 186 def each(&blk) @segments.each(&blk) end |
#first ⇒ Object
190 191 192 |
# File 'lib/hash_mapper.rb', line 190 def first @segments.first end |
#last ⇒ Object
194 195 196 |
# File 'lib/hash_mapper.rb', line 194 def last @segments.last end |
#size ⇒ Object
198 199 200 |
# File 'lib/hash_mapper.rb', line 198 def size @segments.size end |