Class: VectorSalad::StandardShapes::Flip

Inherits:
Transform
  • Object
show all
Defined in:
lib/vector_salad/standard_shapes/flip.rb

Overview

Flip the contained shapes.

Instance Method Summary (collapse)

Constructor Details

- (Any) initialize(axis, canvas:, **_options, &block)

Flip the contained shapes on the specified axis.

Examples:

Flip.new(:x) do
  canvas << Triangle.new(30, at: [50, -50])
  canvas << Pentagon.new(40, at: [50, -100])
end

Using DSL:

flip(:x) do
  triangle(30, at: [50, -50])
  pentagon(40, at: [50, -100])
end

Parameters:

  • axis (Or[:x, :y])
  • canvas ([])
  • _options ([])
  • block (Proc)


22
23
24
25
26
27
28
# File 'lib/vector_salad/standard_shapes/flip.rb', line 22

def initialize(axis, canvas:, **_options, &block)
  instance_eval(&block) # inner_canvas is populated

  @canvas.each do |shape|
    canvas << shape.flip(axis)
  end
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class VectorSalad::DSL