Sha256: 6e23745495723e93d0b7dcdf889cab0594204e3c6353168a772a5c2fadc15c5f

Contents?: true

Size: 1.13 KB

Versions: 21

Compression:

Stored size: 1.13 KB

Contents

module Resourcelogic
  class ActionOptions
    extend Resourcelogic::Accessors
    
    reader_writer  :flash
    reader_writer  :flash_now
    
    block_accessor :after, :before
    
    def initialize
      @collector = Resourcelogic::ResponseCollector.new
    end
    
    def response(*args, &block)
      if !args.empty? || block_given?
        @collector.clear
        args.flatten.each { |symbol| @collector.send(symbol) }
        block.call(@collector) if block_given?
      end
      
      @collector.responses
    end
    alias_method :respond_to,  :response
    alias_method :responds_to, :response
    
    def wants
      @collector
    end
    
    def dup
      returning self.class.new do |duplicate|
        duplicate.instance_variable_set(:@collector, wants.dup)
        duplicate.instance_variable_set(:@before, before.dup)       unless before.nil?
        duplicate.instance_variable_set(:@after, after.dup)         unless after.nil?
        duplicate.instance_variable_set(:@flash, flash.dup)         unless flash.nil?
        duplicate.instance_variable_set(:@flash_now, flash_now.dup) unless flash_now.nil?
      end
    end
  end
end

Version data entries

21 entries across 21 versions & 2 rubygems

Version Path
binarylogic-resourcelogic-0.0.11 lib/resourcelogic/action_options.rb
binarylogic-resourcelogic-0.0.12 lib/resourcelogic/action_options.rb
binarylogic-resourcelogic-0.12.0 lib/resourcelogic/action_options.rb
binarylogic-resourcelogic-0.12.1 lib/resourcelogic/action_options.rb
binarylogic-resourcelogic-0.12.2 lib/resourcelogic/action_options.rb
binarylogic-resourcelogic-0.12.3 lib/resourcelogic/action_options.rb
binarylogic-resourcelogic-0.12.4 lib/resourcelogic/action_options.rb
binarylogic-resourcelogic-0.12.5 lib/resourcelogic/action_options.rb
binarylogic-resourcelogic-0.12.6 lib/resourcelogic/action_options.rb
resourcelogic-0.12.6 lib/resourcelogic/action_options.rb
resourcelogic-0.12.5 lib/resourcelogic/action_options.rb
resourcelogic-0.12.3 lib/resourcelogic/action_options.rb
resourcelogic-0.12.4 lib/resourcelogic/action_options.rb
resourcelogic-0.0.11 lib/resourcelogic/action_options.rb
resourcelogic-0.0.12 lib/resourcelogic/action_options.rb
resourcelogic-0.12.0 lib/resourcelogic/action_options.rb
resourcelogic-0.12.1 lib/resourcelogic/action_options.rb
resourcelogic-0.12.2 lib/resourcelogic/action_options.rb
resourcelogic-0.9.0 lib/resourcelogic/action_options.rb
resourcelogic-0.11.0 lib/resourcelogic/action_options.rb