diff --git a/Rakefile b/Rakefile index 6e0e9ce..46a4f4c 100644 --- a/Rakefile +++ b/Rakefile @@ -12,16 +12,16 @@ require 'rbconfig' include Config EXT_DIR = 'ext/patron' -LIBCURL_SO = "#{EXT_DIR}/libcurl.#{CONFIG['DLEXT']}" -LIBCURL_SRC = "#{EXT_DIR}/libcurl.c" +REQUEST_SO = "#{EXT_DIR}/request.#{CONFIG['DLEXT']}" +REQUEST_SRC = "#{EXT_DIR}/request.c" CLEAN.include FileList["#{EXT_DIR}/*"].exclude(/^.*\.(rb|c)$/) CLOBBER.include %w( doc coverage pkg ) desc "Compile extension" -task :compile => LIBCURL_SO +task :compile => REQUEST_SO -file LIBCURL_SO => LIBCURL_SRC do +file REQUEST_SO => REQUEST_SRC do cd EXT_DIR do ruby 'extconf.rb' sh 'make' diff --git a/ext/patron/extconf.rb b/ext/patron/extconf.rb index f5db8c3..75e64cf 100644 --- a/ext/patron/extconf.rb +++ b/ext/patron/extconf.rb @@ -17,4 +17,4 @@ $CFLAGS << ' -Wall' end -create_makefile 'patron/libcurl' +create_makefile 'patron/request' diff --git a/ext/patron/libcurl.c b/ext/patron/request.c similarity index 84% rename from ext/patron/libcurl.c rename to ext/patron/request.c index 552f744..e888e04 100644 --- a/ext/patron/libcurl.c +++ b/ext/patron/request.c @@ -2,7 +2,7 @@ #include static VALUE mPatron = Qnil; -static VALUE cLibcurl = Qnil; +static VALUE cRequest = Qnil; static VALUE mCurlOpts = Qnil; static VALUE mCurlInfo = Qnil; @@ -15,13 +15,13 @@ struct curl_state { // Callback support // -static size_t libcurl_write_shim(char* stream, size_t size, size_t nmemb, VALUE proc) { +static size_t request_write_shim(char* stream, size_t size, size_t nmemb, VALUE proc) { size_t result = size * nmemb; rb_funcall(proc, rb_intern("call"), 1, rb_str_new(stream, result)); return result; } -static size_t libcurl_read_shim(char* stream, size_t size, size_t nmemb, VALUE proc) { +static size_t request_read_shim(char* stream, size_t size, size_t nmemb, VALUE proc) { size_t result = size * nmemb; VALUE string = rb_funcall(proc, rb_intern("call"), 1, result); size_t len = RSTRING(string)->len; @@ -34,14 +34,14 @@ static size_t libcurl_read_shim(char* stream, size_t size, size_t nmemb, VALUE p // Object allocation // -void libcurl_free(struct curl_state *curl) { +void request_free(struct curl_state *curl) { curl_easy_cleanup(curl->handle); free(curl); } -VALUE libcurl_alloc(VALUE klass) { +VALUE request_alloc(VALUE klass) { struct curl_state* curl; - VALUE obj = Data_Make_Struct(klass, struct curl_state, NULL, libcurl_free, curl); + VALUE obj = Data_Make_Struct(klass, struct curl_state, NULL, request_free, curl); return obj; } @@ -50,12 +50,12 @@ VALUE libcurl_alloc(VALUE klass) { // Method implementations // -VALUE libcurl_version(VALUE klass) { +VALUE request_version(VALUE klass) { char* value = curl_version(); return rb_str_new2(value); } -VALUE libcurl_initialize(VALUE self) { +VALUE request_initialize(VALUE self) { struct curl_state *curl; Data_Get_Struct(self, struct curl_state, curl); @@ -64,7 +64,7 @@ VALUE libcurl_initialize(VALUE self) { return self; } -VALUE libcurl_escape(VALUE self, VALUE value) { +VALUE request_escape(VALUE self, VALUE value) { struct curl_state *curl; Data_Get_Struct(self, struct curl_state, curl); @@ -79,7 +79,7 @@ VALUE libcurl_escape(VALUE self, VALUE value) { return retval; } -VALUE libcurl_unescape(VALUE self, VALUE value) { +VALUE request_unescape(VALUE self, VALUE value) { struct curl_state *curl; Data_Get_Struct(self, struct curl_state, curl); @@ -95,24 +95,24 @@ VALUE libcurl_unescape(VALUE self, VALUE value) { return retval; } -VALUE libcurl_setopt(VALUE self, VALUE optval, VALUE parameter) { +VALUE request_setopt(VALUE self, VALUE optval, VALUE parameter) { struct curl_state *curl; Data_Get_Struct(self, struct curl_state, curl); int option = FIX2INT(optval); switch (option) { case CURLOPT_READFUNCTION: - curl_easy_setopt(curl, CURLOPT_READFUNCTION, &libcurl_read_shim); + curl_easy_setopt(curl, CURLOPT_READFUNCTION, &request_read_shim); curl_easy_setopt(curl, CURLOPT_READDATA, parameter); break; case CURLOPT_WRITEFUNCTION: - curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, &libcurl_write_shim); + curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, &request_write_shim); curl_easy_setopt(curl, CURLOPT_WRITEDATA, parameter); break; case CURLOPT_HEADERFUNCTION: - curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION, &libcurl_write_shim); + curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION, &request_write_shim); curl_easy_setopt(curl, CURLOPT_HEADERDATA, parameter); break; @@ -134,7 +134,7 @@ VALUE libcurl_setopt(VALUE self, VALUE optval, VALUE parameter) { return Qnil; } -VALUE libcurl_getinfo(VALUE self, VALUE infoval) { +VALUE request_getinfo(VALUE self, VALUE infoval) { struct curl_state *curl; Data_Get_Struct(self, struct curl_state, curl); @@ -189,7 +189,7 @@ VALUE libcurl_getinfo(VALUE self, VALUE infoval) { } } -VALUE libcurl_perform(VALUE self) { +VALUE request_perform(VALUE self) { struct curl_state *curl; Data_Get_Struct(self, struct curl_state, curl); @@ -203,7 +203,7 @@ VALUE libcurl_perform(VALUE self) { // Extension initialization // -void Init_libcurl() { +void Init_request() { curl_global_init(CURL_GLOBAL_NOTHING); mPatron = rb_define_module("Patron"); @@ -301,17 +301,17 @@ void Init_libcurl() { define_curl_info(FTP_ENTRY_PATH); - // Libcurl class - cLibcurl = rb_define_class_under(mPatron, "Libcurl", rb_cObject); + // Request class + cRequest = rb_define_class_under(mPatron, "Request", rb_cObject); - rb_define_alloc_func(cLibcurl, libcurl_alloc); + rb_define_alloc_func(cRequest, request_alloc); - rb_define_singleton_method(cLibcurl, "version", libcurl_version, 0); + rb_define_singleton_method(cRequest, "version", request_version, 0); - rb_define_method(cLibcurl, "initialize", libcurl_initialize, 0); - rb_define_method(cLibcurl, "escape", libcurl_escape, 1); - rb_define_method(cLibcurl, "unescape", libcurl_unescape, 1); - rb_define_method(cLibcurl, "setopt", libcurl_setopt, 2); - rb_define_method(cLibcurl, "getinfo", libcurl_getinfo, 1); - rb_define_method(cLibcurl, "perform", libcurl_perform, 0); + rb_define_method(cRequest, "initialize", request_initialize, 0); + rb_define_method(cRequest, "escape", request_escape, 1); + rb_define_method(cRequest, "unescape", request_unescape, 1); + rb_define_method(cRequest, "setopt", request_setopt, 2); + rb_define_method(cRequest, "getinfo", request_getinfo, 1); + rb_define_method(cRequest, "perform", request_perform, 0); } diff --git a/spec/libcurl_spec.rb b/spec/request_spec.rb similarity index 81% rename from spec/libcurl_spec.rb rename to spec/request_spec.rb index d7d534a..9d3a6c9 100644 --- a/spec/libcurl_spec.rb +++ b/spec/request_spec.rb @@ -1,14 +1,14 @@ require File.dirname(__FILE__) + '/spec_helper.rb' -require 'patron/libcurl' +require 'patron/request' -describe Patron::Libcurl, "SPI" do +describe Patron::Request do before(:each) do - @curl = Patron::Libcurl.new + @curl = Patron::Request.new end - it "should return the version number of the libcurl library" do - version = Patron::Libcurl.version + it "should return the version number of the request library" do + version = Patron::Request.version version.should be_kind_of(String) end