class Geos::Handle
Attributes
ptr[R]
Public Class Methods
new()
click to toggle source
# File lib/ffi-geos.rb, line 1341 def initialize @ptr = FFI::AutoPointer.new(FFIGeos.GEOS_init_r, self.class.method(:release)) reset_notice_handler reset_error_handler end
release(ptr)
click to toggle source
# File lib/ffi-geos.rb, line 1348 def self.release(ptr) FFIGeos.GEOS_finish_r(ptr) end
Public Instance Methods
error_handler(&block)
click to toggle source
# File lib/ffi-geos.rb, line 1367 def error_handler(&block) self.error_handler = block if block_given? @error_handler end
error_handler=(method_or_block)
click to toggle source
# File lib/ffi-geos.rb, line 1357 def error_handler=(method_or_block) @error_handler = method_or_block FFIGeos.GEOSContext_setErrorMessageHandler_r(@ptr, @error_handler, nil) end
notice_handler(&block)
click to toggle source
# File lib/ffi-geos.rb, line 1362 def notice_handler(&block) self.notice_handler = block if block_given? @notice_handler end
notice_handler=(method_or_block)
click to toggle source
# File lib/ffi-geos.rb, line 1352 def notice_handler=(method_or_block) @notice_handler = method_or_block FFIGeos.GEOSContext_setNoticeMessageHandler_r(@ptr, @notice_handler, nil) end
reset_error_handler()
click to toggle source
# File lib/ffi-geos.rb, line 1376 def reset_error_handler self.error_handler = method(:default_error_handler) end
reset_notice_handler()
click to toggle source
# File lib/ffi-geos.rb, line 1372 def reset_notice_handler self.notice_handler = method(:default_notice_handler) end
Private Instance Methods
default_error_handler(*args)
click to toggle source
# File lib/ffi-geos.rb, line 1407 def default_error_handler(*args) raise Geos::GEOSException, sprintf(args[0], *args[1]) end
default_notice_handler(*args)
click to toggle source
# File lib/ffi-geos.rb, line 1403 def default_notice_handler(*args) # no-op end