Module: Three::Dirty
- Included in:
- BufferAttribute, BufferGeometry, Material, Object3D, Texture
- Defined in:
- lib/three/dirty.rb
Instance Method Summary collapse
- #add_dirty_dependent(dependent) ⇒ Object
- #dirty? ⇒ Boolean
- #dirty_dependents ⇒ Object
- #dirty_field?(field) ⇒ Boolean
- #dirty_fields ⇒ Object
- #mark_clean!(*fields) ⇒ Object
- #mark_dirty!(field = :all) ⇒ Object
- #remove_dirty_dependent(dependent) ⇒ Object
Instance Method Details
#add_dirty_dependent(dependent) ⇒ Object
21 22 23 24 |
# File 'lib/three/dirty.rb', line 21 def add_dirty_dependent(dependent) dirty_dependents << dependent unless dirty_dependents.include?(dependent) self end |
#dirty? ⇒ Boolean
5 6 7 |
# File 'lib/three/dirty.rb', line 5 def dirty? !dirty_fields.empty? end |
#dirty_dependents ⇒ Object
17 18 19 |
# File 'lib/three/dirty.rb', line 17 def dirty_dependents @dirty_dependents ||= [] end |
#dirty_field?(field) ⇒ Boolean
13 14 15 |
# File 'lib/three/dirty.rb', line 13 def dirty_field?(field) dirty_fields.key?(:all) || dirty_fields.key?(field) end |
#dirty_fields ⇒ Object
9 10 11 |
# File 'lib/three/dirty.rb', line 9 def dirty_fields @dirty_fields ||= {} end |
#mark_clean!(*fields) ⇒ Object
37 38 39 40 41 42 43 44 |
# File 'lib/three/dirty.rb', line 37 def mark_clean!(*fields) if fields.empty? || fields.include?(:all) dirty_fields.clear else fields.each { |field| dirty_fields.delete(field) } end self end |
#mark_dirty!(field = :all) ⇒ Object
31 32 33 34 35 |
# File 'lib/three/dirty.rb', line 31 def mark_dirty!(field = :all) dirty_fields[field] = true notify_dirty_dependents(field) self end |
#remove_dirty_dependent(dependent) ⇒ Object
26 27 28 29 |
# File 'lib/three/dirty.rb', line 26 def remove_dirty_dependent(dependent) dirty_dependents.delete(dependent) self end |