module Manacle::Constraint::InstanceMethods

Attributes

actuator[R]

Public Class Methods

new(obj) click to toggle source
# File lib/manacle/constraint.rb, line 12
def initialize(obj)
  if obj.nil?
    raise
  end

  if obj.class < Manacle::Proxy
    raise
  end

  @actuator = if obj.class < Actuator
    obj
  else
    Actuator.build(obj, self)
  end
end

Public Instance Methods

constrain() click to toggle source
# File lib/manacle/constraint.rb, line 43
def constrain
  @actuator.constrain
end
constrainables() click to toggle source
# File lib/manacle/constraint.rb, line 30
def constrainables
  self.class.constrainables
end
klass() click to toggle source
# File lib/manacle/constraint.rb, line 55
def klass
  @actuator.constrain.class
end
levels() click to toggle source
# File lib/manacle/constraint.rb, line 59
def levels
  ["CONSTRAINT #{constraint}"] + @actuator.levels
end
proxy() click to toggle source
# File lib/manacle/constraint.rb, line 47
def proxy
  proxy_class = @actuator.proxy
  unless proxy_class.kind_of?(Class)
    raise "#{@actuator.inspect} is proxying non-classes: #{self.levels}"
  end
  proxy_class.new(self)
end
reconstrain(obj) click to toggle source
# File lib/manacle/constraint.rb, line 34
def reconstrain(obj)
  r = @actuator.reconstrain(obj)
  self.class.new(r)
end
unconstrain() click to toggle source
# File lib/manacle/constraint.rb, line 39
def unconstrain
  @actuator.unconstrain
end