class DYI::Animation::PaintingAnimation

Class representing an animation of a painting

Public Instance Methods

animation_attributes() click to toggle source
# File lib/dyi/animation.rb, line 227
def animation_attributes
  DYI::Painting::IMPLEMENT_ATTRIBUTES.inject({}) do |result, attr|
    from_attr, to_attr = @from && @from.__send__(attr), @to.__send__(attr)
    relay_attrs = @relays.map{|relay| relay.__send__(attr)}
    if to_attr && (from_attr != to_attr || relay_attrs.any?{|relay_attr| from_attr != relay_attrs || relay_attr != to_attr})
      result[attr] = [from_attr].push(*relay_attrs).push(to_attr)
    end
    result
  end
end
from=(painting) click to toggle source

@attribute [rw] from Returns a starting value of the animation. @return [Painting] a starting value of the animation

# File lib/dyi/animation.rb, line 212
def from=(painting)
  @from = painting && DYI::Painting.new(painting)
end
relays=(paintings) click to toggle source

@attribute relays @return [Array<Painting>] @since 1.3.0

# File lib/dyi/animation.rb, line 223
def relays=(paintings)
  @relays = paintings.map{|painting| DYI::Painting.new(painting)}
end
to=(painting) click to toggle source
# File lib/dyi/animation.rb, line 216
def to=(painting)
  @to = DYI::Painting.new(painting)
end
write_as(formatter, shape, io=$>) click to toggle source
# File lib/dyi/animation.rb, line 238
def write_as(formatter, shape, io=$>)
  formatter.write_painting_animation(self, shape, io,
                                     &(block_given? ? Proc.new : nil))
end