Sha256: cfb30eabcb552bd188a51378155423a2748fef2f5f118391f480e1414af1a67a

Contents?: true

Size: 1.31 KB

Versions: 4

Compression:

Stored size: 1.31 KB

Contents

# This file is part of CPEE.
# 
# CPEE is free software: you can redistribute it and/or modify it under the terms
# of the GNU General Public License as published by the Free Software Foundation,
# either version 3 of the License, or (at your option) any later version.
# 
# CPEE is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.  See the GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License along with
# CPEE (file COPYING in the main directory).  If not, see
# <http://www.gnu.org/licenses/>.

module CPEE

  class Callback
    def initialize(info,handler,method,event,key,protocol,*data)
      @info = info
      @event = event
      @key = key
      @data = data
      @handler = handler
      @protocol = protocol
      @method = method.class == Symbol ? method : :callback
    end

    attr_reader :info, :protocol, :method

    def delete_if!(event,key)
      @handler.send @method, :DELETE, *@data if @key == key && @event == event
      nil
    end

    def callback(result=nil,options=nil)
      if options
        @handler.send @method, result, options, *@data
      else  
        @handler.send @method, result, *@data
      end 
    end
  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
cpee-1.3.179 lib/cpee/callback.rb
cpee-1.3.178 lib/cpee/callback.rb
cpee-1.3.177 lib/cpee/callback.rb
cpee-1.3.176 lib/cpee/callback.rb