Class: Deplate::Listings
- Inherits:
-
Object
- Object
- Deplate::Listings
- Defined in:
- lib/deplate/counters.rb
Instance Attribute Summary collapse
-
#listings ⇒ Object
Returns the value of attribute listings.
Instance Method Summary collapse
- #def_listing(name, init = nil, props = nil) ⇒ Object
- #each ⇒ Object
- #get(name, compound = false) ⇒ Object
- #get_prop(name, prop) ⇒ Object
-
#initialize(deplate) ⇒ Listings
constructor
A new instance of Listings.
- #is_defined?(name) ⇒ Boolean
- #push(name, value) ⇒ Object
- #reset(name = nil) ⇒ Object
- #set(name, value, compound = false) ⇒ Object
Constructor Details
#initialize(deplate) ⇒ Listings
Returns a new instance of Listings.
192 193 194 195 |
# File 'lib/deplate/counters.rb', line 192 def initialize(deplate) @deplate = deplate @listings = {} end |
Instance Attribute Details
#listings ⇒ Object
Returns the value of attribute listings.
190 191 192 |
# File 'lib/deplate/counters.rb', line 190 def listings @listings end |
Instance Method Details
#def_listing(name, init = nil, props = nil) ⇒ Object
197 198 199 200 201 202 203 204 205 |
# File 'lib/deplate/counters.rb', line 197 def def_listing(name, init=nil, props=nil) init ||= [] props ||= {} @listings[name] = { :value => init, :init => init, :props => props, } end |
#each ⇒ Object
211 212 213 214 215 |
# File 'lib/deplate/counters.rb', line 211 def each @listings.each do |key, val| yield(key, val) end end |
#get(name, compound = false) ⇒ Object
217 218 219 220 221 222 223 224 225 226 227 228 229 |
# File 'lib/deplate/counters.rb', line 217 def get(name, compound=false) c = @listings[name] if c if compound c else c[:value] end else Deplate::Core.log(['Unknown list', name], :error) nil end end |
#get_prop(name, prop) ⇒ Object
239 240 241 242 243 244 245 246 247 |
# File 'lib/deplate/counters.rb', line 239 def get_prop(name, prop) c = @listings[name] if c c[:props][prop] else Deplate::Core.log(['Unknown list', name], :error) nil end end |
#is_defined?(name) ⇒ Boolean
207 208 209 |
# File 'lib/deplate/counters.rb', line 207 def is_defined?(name) @listings.keys.include?(name) end |
#push(name, value) ⇒ Object
249 250 251 252 253 254 |
# File 'lib/deplate/counters.rb', line 249 def push(name, value) c = get(name) if c c << value end end |
#reset(name = nil) ⇒ Object
256 257 258 259 260 261 262 263 264 265 266 267 |
# File 'lib/deplate/counters.rb', line 256 def reset(name=nil) if name c = get(name, true) if c set(name, c[:init]) end else for name in @listings.keys reset(name) end end end |
#set(name, value, compound = false) ⇒ Object
231 232 233 234 235 236 237 |
# File 'lib/deplate/counters.rb', line 231 def set(name, value, compound=false) if compound @listings[name] = value else @listings[name][:value] = value end end |