From 2e042e62417c0d9e22a1779c75b9e09e4fc4d79d Mon Sep 17 00:00:00 2001 From: guilherme silveira Date: Thu, 21 Oct 2010 11:49:44 -0200 Subject: [PATCH] moving base file --- lib/restfulie/client/feature.rb | 97 +----------------- lib/restfulie/client/feature/base.rb | 97 ++++++++++++++++++ restfulie-0.9.3.gem | Bin 23077 -> 0 bytes .../requests/{base_spec.rb => base_spec.rb2} | 0 .../{adapter_spec.rb => adapter_spec.rb2} | 0 tests/spec/requests/http/builder_spec.rb | 6 +- .../{marshal_spec.rb => marshal_spec.rb2} | 0 7 files changed, 102 insertions(+), 98 deletions(-) create mode 100644 lib/restfulie/client/feature/base.rb delete mode 100644 restfulie-0.9.3.gem rename tests/spec/requests/{base_spec.rb => base_spec.rb2} (100%) rename tests/spec/requests/http/{adapter_spec.rb => adapter_spec.rb2} (100%) rename tests/spec/requests/http/{marshal_spec.rb => marshal_spec.rb2} (100%) diff --git a/lib/restfulie/client/feature.rb b/lib/restfulie/client/feature.rb index bb472ac1..37c2ae8a 100644 --- a/lib/restfulie/client/feature.rb +++ b/lib/restfulie/client/feature.rb @@ -1,107 +1,12 @@ module Restfulie::Client module Feature autoload :EnhanceResponse, 'restfulie/client/feature/enhance_response' + autoload :Base, 'restfulie/client/feature/base' end end module Restfulie::Client::Feature - - module Base - - attr_reader :default_headers - - def cookies - @cookies - end - - def verb - @method - end - - def get - @method = :get - request_flow - end - - #Set host - def at(url) - if self.host.nil? - self.host= url - else - self.host= self.host + url - end - self - end - - #Set Content-Type and Accept headers - def as(content_type) - headers['Content-Type'] = content_type - accepts(content_type) - end - - #Set Accept headers - def accepts(content_type) - headers['Accept'] = content_type - self - end - - # Merge internal header - # - # * headers (e.g. {'Cache-control' => 'no-cache'}) - # - def with(headers) - headers.merge!(headers) - self - end - - # Path (e.g. http://restfulie.com/posts => /posts) - def path - host.path - end - - def host - @host - end - - def host=(host) - if host.is_a?(::URI) - @host = host - else - @host = ::URI.parse(host) - end - end - - def default_headers - @default_headers ||= {} - end - - def headers - @headers ||= {} - end - - def http_to_s(method, path, *args) - result = ["#{method.to_s.upcase} #{path}"] - - arguments = args.dup - headers = arguments.extract_options! - if [:post, :put].include?(method) - body = arguments.shift - end - - result << headers.collect { |key, value| "#{key}: #{value}" }.join("\n") - - (result + [body ? (body.inspect + "\n") : nil]).compact.join("\n") << "\n" - end - - protected - - def headers=(h) - @headers = h - end - - end - class BaseRequest def execute(flow, request, response) diff --git a/lib/restfulie/client/feature/base.rb b/lib/restfulie/client/feature/base.rb new file mode 100644 index 00000000..7917ebe5 --- /dev/null +++ b/lib/restfulie/client/feature/base.rb @@ -0,0 +1,97 @@ +module Restfulie::Client::Feature + module Base + + attr_reader :default_headers + + def cookies + @cookies + end + + def verb + @method + end + + def get + @method = :get + request_flow + end + + #Set host + def at(url) + if self.host.nil? + self.host= url + else + self.host= self.host + url + end + self + end + + #Set Content-Type and Accept headers + def as(content_type) + headers['Content-Type'] = content_type + accepts(content_type) + end + + #Set Accept headers + def accepts(content_type) + headers['Accept'] = content_type + self + end + + # Merge internal header + # + # * headers (e.g. {'Cache-control' => 'no-cache'}) + # + def with(headers) + headers.merge!(headers) + self + end + + # Path (e.g. http://restfulie.com/posts => /posts) + def path + host.path + end + + def host + @host + end + + def host=(host) + if host.is_a?(::URI) + @host = host + else + @host = ::URI.parse(host) + end + end + + def default_headers + @default_headers ||= {} + end + + def headers + @headers ||= {} + end + + def http_to_s(method, path, *args) + result = ["#{method.to_s.upcase} #{path}"] + + arguments = args.dup + headers = arguments.extract_options! + + if [:post, :put].include?(method) + body = arguments.shift + end + + result << headers.collect { |key, value| "#{key}: #{value}" }.join("\n") + + (result + [body ? (body.inspect + "\n") : nil]).compact.join("\n") << "\n" + end + + protected + + def headers=(h) + @headers = h + end + + end +end \ No newline at end of file diff --git a/restfulie-0.9.3.gem b/restfulie-0.9.3.gem deleted file mode 100644 index 051526a28319a1933bee9e062274b4cb70fc09ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23077 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 "bar", :bar => "foo") + @result = Restfulie.at('http://localhost:4567/request_with_querystring').get(:foo => "bar", :bar => "foo") params = JSON.parse(@result) params["foo"].should == "bar" params["bar"].should == "foo" end end + end \ No newline at end of file diff --git a/tests/spec/requests/http/marshal_spec.rb b/tests/spec/requests/http/marshal_spec.rb2 similarity index 100% rename from tests/spec/requests/http/marshal_spec.rb rename to tests/spec/requests/http/marshal_spec.rb2