class Toast::ConfigDSL::Association

Public Instance Methods

max_window(size) click to toggle source
# File lib/toast/config_dsl/association.rb, line 61
def max_window size
  stack_push 'max_window' do
    if size.is_a?(Integer) and size > 0
      @config_data.max_window = size
    elsif size == :unlimited
      @config_data.max_window = 10**6 # yes that's inifinity
    else
      raise_config_error 'max_window must a positive integer or :unlimited'
    end
  end
end
via_get(&block) click to toggle source
# File lib/toast/config_dsl/association.rb, line 8
def via_get &block
  stack_push 'via_get' do
    @config_data.via_get =
      OpenStruct.new(permissions: [],
                     handler: (@config_data.singular ?
                                 singular_assoc_get_handler(@config_data.assoc_name) :
                                 plural_assoc_get_handler(@config_data.assoc_name)))

    Toast::ConfigDSL::ViaVerb.new(@config_data.via_get).instance_eval &block


  end
end
via_post(&block) click to toggle source
# File lib/toast/config_dsl/association.rb, line 22
def via_post &block
  stack_push 'via_post' do
    if @config_data.singular
      raise_config_error "`via_post' is not allowed for singular associations"
    end

    @config_data.via_post = OpenStruct.new(permissions: [],
                                           handler: plural_assoc_post_handler(@config_data.assoc_name))

    Toast::ConfigDSL::ViaVerb.new(@config_data.via_post).instance_eval &block


  end
end