Sha256: 07db39b1be376a6c6b5deaafc60daaa39511df9df483956fbee0a4ae09979fb1
Contents?: true
Size: 1.04 KB
Versions: 34
Compression:
Stored size: 1.04 KB
Contents
module Ethon class Easy # This module contains the logic and knowledge about the # available options on easy. module Options attr_reader :url def url=(value) @url = value Curl.set_option(:url, value, handle) end def escape=( b ) @escape = b end def escape? return true if !defined?(@escape) || @escape.nil? @escape end def multipart=(b) @multipart = b end def multipart? !!@multipart end Curl.easy_options(nil).each do |opt, props| method_name = "#{opt}=".freeze unless method_defined? method_name define_method(method_name) do |value| Curl.set_option(opt, value, handle) value end end next if props[:type] != :callback || method_defined?(opt) define_method(opt) do |&block| @procs ||= {} @procs[opt.to_sym] = block Curl.set_option(opt, block, handle) nil end end end end end
Version data entries
34 entries across 33 versions & 7 rubygems