samuel 0.3.2 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -1,5 +1,6 @@
1
1
  .DS_Store
2
2
  .yardoc
3
+ Gemfile.lock
3
4
  /coverage
4
5
  /doc
5
6
  /pkg
data/Gemfile ADDED
@@ -0,0 +1,6 @@
1
+ source "http://rubygems.org"
2
+ gemspec
3
+
4
+ platforms :jruby do
5
+ gem "jruby-openssl"
6
+ end
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright 2009–2010 Chris Kampmeier
1
+ Copyright 2009–2011 Chris Kampmeier
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
@@ -12,13 +12,12 @@ automatically loading the correct logger for the HTTP client you're using.
12
12
 
13
13
  == Usage
14
14
 
15
- When Rails is loaded, Samuel configures a few things automatically. So all you
16
- need to do is this:
15
+ If you're using Bundler, just add this to your Gemfile:
17
16
 
18
- # config/environment.rb
19
- config.gem "samuel"
17
+ gem "samuel", "~> 0.3"
20
18
 
21
- And Samuel will automatically use Rails's logger and an ActiveRecord-like format.
19
+ When Rails is loaded, Samuel configures itself to use Rails's logger and an
20
+ ActiveRecord-like format automatically, so you don't need to do anything else.
22
21
 
23
22
  For non-Rails projects, you'll have to manually configure logging, like this:
24
23
 
@@ -76,9 +75,9 @@ Right now, there are three configuration changes you can make in either style:
76
75
  these patterns as a substring by replacing the value with
77
76
  <tt>[FILTERED]</tt> in your logs. By default, no filtering is enabled.
78
77
 
79
- Samuel logs successful HTTP requests at the +INFO+ level; Failed requests log at
80
- the +WARN+ level. This isn't currently configurable, but it's on the list.
78
+ Samuel logs successful HTTP requests at the +INFO+ level; Failed requests log
79
+ at the +WARN+ level. This isn't currently configurable, but it's on the list.
81
80
 
82
81
  == License
83
82
 
84
- Copyright 2009–2010 Chris Kampmeier. See +LICENSE+ for details.
83
+ Copyright 2009–2011 Chris Kampmeier. See +LICENSE+ for details.
data/Rakefile CHANGED
@@ -1,6 +1,15 @@
1
1
  require 'rubygems'
2
2
  require 'rake'
3
3
 
4
+ task :check_dependencies do
5
+ begin
6
+ require "bundler"
7
+ rescue LoadError
8
+ abort "Samuel uses Bundler to manage development dependencies. Install it with `gem install bundler`."
9
+ end
10
+ system("bundle check") || abort
11
+ end
12
+
4
13
  require 'rake/testtask'
5
14
  Rake::TestTask.new(:test) do |test|
6
15
  test.libs << 'lib' << 'test'
@@ -9,27 +18,7 @@ Rake::TestTask.new(:test) do |test|
9
18
  test.warning = true
10
19
  end
11
20
 
12
- begin
13
- require 'jeweler'
14
- Jeweler::Tasks.new do |gem|
15
- gem.name = "samuel"
16
- gem.version = "0.3.2"
17
- gem.summary = %Q{An automatic logger for HTTP requests in Ruby}
18
- gem.description = %Q{An automatic logger for HTTP requests in Ruby, supporting the Net::HTTP and HTTPClient client libraries.}
19
- gem.email = "chris@kampers.net"
20
- gem.homepage = "http://github.com/chrisk/samuel"
21
- gem.authors = ["Chris Kampmeier"]
22
- gem.rubyforge_project = "samuel"
23
- gem.add_development_dependency "shoulda"
24
- gem.add_development_dependency "mocha"
25
- gem.add_development_dependency "httpclient"
26
- gem.add_development_dependency "fakeweb"
27
- end
28
-
29
- task :test => :check_dependencies
30
- rescue LoadError
31
- puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
32
- end
21
+ task :default => [:check_dependencies, :test]
33
22
 
34
23
  begin
35
24
  require 'rcov/rcovtask'
@@ -42,18 +31,10 @@ begin
42
31
  test.warning = true
43
32
  end
44
33
  rescue LoadError
45
- task :rcov do
46
- abort "RCov is not available. In order to run rcov, you must: gem install rcov"
47
- end
48
34
  end
49
35
 
50
- task :default => :test
51
-
52
36
  begin
53
37
  require 'yard'
54
38
  YARD::Rake::YardocTask.new
55
39
  rescue LoadError
56
- task :yardoc do
57
- abort "YARD is not available. In order to run yardoc, you must: gem install yard"
58
- end
59
40
  end
@@ -13,7 +13,7 @@ require "samuel/log_entries/net_http"
13
13
  module Samuel
14
14
  extend self
15
15
 
16
- VERSION = "0.3.2"
16
+ VERSION = "0.3.3"
17
17
 
18
18
  attr_writer :logger, :config
19
19
 
@@ -21,8 +21,8 @@ module Samuel
21
21
  @logger = nil if !defined?(@logger)
22
22
  return @logger if !@logger.nil?
23
23
 
24
- if defined?(RAILS_DEFAULT_LOGGER)
25
- @logger = RAILS_DEFAULT_LOGGER
24
+ if defined?(Rails) && Rails.respond_to?(:logger)
25
+ @logger = Rails.logger
26
26
  else
27
27
  @logger = Logger.new(STDOUT)
28
28
  end
@@ -2,18 +2,22 @@ module Samuel
2
2
  module Diary
3
3
  extend self
4
4
 
5
- def record_request(http, request, time_requested)
5
+ def record_request(http, request, time_requested = current_time)
6
6
  @requests ||= []
7
7
  @requests.push({:request => request, :time_requested => time_requested})
8
8
  end
9
9
 
10
- def record_response(http, request, response, time_responded)
10
+ def record_response(http, request, response, time_responded = current_time)
11
11
  time_requested = @requests.detect { |r| r[:request] == request }[:time_requested]
12
12
  @requests.reject! { |r| r[:request] == request }
13
13
  log_request_and_response(http, request, response, time_requested, time_responded)
14
14
  end
15
15
 
16
- private
16
+ def current_time
17
+ Time.now
18
+ end
19
+
20
+ private
17
21
 
18
22
  def log_request_and_response(http, request, response, time_started, time_ended)
19
23
  log_entry_class = case http.class.to_s
@@ -24,6 +28,5 @@ module Samuel
24
28
  log_entry = log_entry_class.new(http, request, response, time_started, time_ended)
25
29
  log_entry.log!
26
30
  end
27
-
28
31
  end
29
32
  end
@@ -1,6 +1,5 @@
1
1
  module Samuel
2
2
  module DriverPatches
3
-
4
3
  module HTTPClient
5
4
  def self.included(klass)
6
5
  methods_to_wrap = %w(initialize do_get_block do_get_stream)
@@ -19,7 +18,7 @@ module Samuel
19
18
  begin
20
19
  do_get_block_without_samuel(req, proxy, conn, &block)
21
20
  rescue Exception => e
22
- Samuel::Diary.record_response(self, req, e, Time.now)
21
+ Samuel::Diary.record_response(self, req, e)
23
22
  raise
24
23
  end
25
24
  end
@@ -28,7 +27,7 @@ module Samuel
28
27
  begin
29
28
  do_get_stream_without_samuel(req, proxy, conn)
30
29
  rescue Exception => e
31
- Samuel::Diary.record_response(self, req, e, Time.now)
30
+ Samuel::Diary.record_response(self, req, e)
32
31
  raise
33
32
  end
34
33
  end
@@ -39,16 +38,14 @@ module Samuel
39
38
  end
40
39
 
41
40
  def filter_request(request)
42
- Samuel::Diary.record_request(@http_client_instance, request, Time.now)
41
+ Samuel::Diary.record_request(@http_client_instance, request)
43
42
  end
44
43
 
45
44
  def filter_response(request, response)
46
- Samuel::Diary.record_response(@http_client_instance, request, response, Time.now)
45
+ Samuel::Diary.record_response(@http_client_instance, request, response)
47
46
  nil # this returns command symbols like :retry, etc.
48
47
  end
49
48
  end
50
49
  end
51
-
52
50
  end
53
51
  end
54
-
@@ -1,6 +1,5 @@
1
1
  module Samuel
2
2
  module DriverPatches
3
-
4
3
  module NetHTTP
5
4
  def self.included(klass)
6
5
  methods_to_wrap = %w(request connect)
@@ -11,16 +10,17 @@ module Samuel
11
10
  end
12
11
 
13
12
  def request_with_samuel(request, body = nil, &block)
14
- Samuel::Diary.record_request(self, request, Time.now)
15
-
16
13
  response, exception_raised = nil, false
14
+ request_time = Samuel::Diary.current_time
15
+
17
16
  begin
18
17
  response = request_without_samuel(request, body, &block)
19
18
  rescue Exception => response
20
19
  exception_raised = true
21
20
  end
22
21
 
23
- Samuel::Diary.record_response(self, request, response, Time.now)
22
+ Samuel::Diary.record_request(self, request, request_time)
23
+ Samuel::Diary.record_response(self, request, response)
24
24
 
25
25
  raise response if exception_raised
26
26
  response
@@ -32,11 +32,10 @@ module Samuel
32
32
  fake_request = Object.new
33
33
  def fake_request.path; ""; end
34
34
  def fake_request.method; "CONNECT"; end
35
- Samuel::Diary.record_request(self, fake_request, Time.now)
36
- Samuel::Diary.record_response(self, fake_request, response, Time.now)
35
+ Samuel::Diary.record_request(self, fake_request)
36
+ Samuel::Diary.record_response(self, fake_request, response)
37
37
  raise
38
38
  end
39
39
  end
40
-
41
40
  end
42
41
  end
@@ -14,6 +14,5 @@ module Samuel
14
14
  apply_driver_patches
15
15
  end
16
16
  end
17
-
18
17
  end
19
- end
18
+ end
@@ -1,6 +1,5 @@
1
1
  module Samuel
2
2
  module LogEntries
3
-
4
3
  class Base
5
4
  def initialize(http, request, response, time_requested, time_responded)
6
5
  @http, @request, @response = http, request, response
@@ -11,8 +10,7 @@ module Samuel
11
10
  Samuel.logger.add(log_level, log_message)
12
11
  end
13
12
 
14
-
15
- protected
13
+ protected
16
14
 
17
15
  def log_message
18
16
  bold = "\e[1m"
@@ -73,6 +71,5 @@ module Samuel
73
71
  end
74
72
  end
75
73
  end
76
-
77
74
  end
78
- end
75
+ end
@@ -1,6 +1,5 @@
1
1
  module Samuel
2
2
  module LogEntries
3
-
4
3
  class HttpClient < Base
5
4
  extend Forwardable
6
5
 
@@ -23,6 +22,5 @@ module Samuel
23
22
  @response.is_a?(Exception) || @response.status.to_s =~ /^(4|5)/
24
23
  end
25
24
  end
26
-
27
25
  end
28
26
  end
@@ -1,6 +1,5 @@
1
1
  module Samuel
2
2
  module LogEntries
3
-
4
3
  class NetHttp < Base
5
4
  def host
6
5
  @http.address
@@ -40,6 +39,5 @@ module Samuel
40
39
  (error_classes & response_ancestors).any?
41
40
  end
42
41
  end
43
-
44
42
  end
45
43
  end
@@ -1,15 +1,12 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
5
2
 
6
3
  Gem::Specification.new do |s|
7
4
  s.name = %q{samuel}
8
- s.version = "0.3.2"
5
+ s.version = "0.3.3"
9
6
 
10
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
8
  s.authors = ["Chris Kampmeier"]
12
- s.date = %q{2010-01-12}
9
+ s.date = %q{2011-11-10}
13
10
  s.description = %q{An automatic logger for HTTP requests in Ruby, supporting the Net::HTTP and HTTPClient client libraries.}
14
11
  s.email = %q{chris@kampers.net}
15
12
  s.extra_rdoc_files = [
@@ -19,6 +16,7 @@ Gem::Specification.new do |s|
19
16
  s.files = [
20
17
  ".document",
21
18
  ".gitignore",
19
+ "Gemfile",
22
20
  "LICENSE",
23
21
  "README.rdoc",
24
22
  "Rakefile",
@@ -52,27 +50,13 @@ Gem::Specification.new do |s|
52
50
  "test/test_helper.rb",
53
51
  "test/thread_test.rb"
54
52
  ]
53
+ s.specification_version = 3
55
54
 
56
- if s.respond_to? :specification_version then
57
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
58
- s.specification_version = 3
59
-
60
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
61
- s.add_development_dependency(%q<shoulda>, [">= 0"])
62
- s.add_development_dependency(%q<mocha>, [">= 0"])
63
- s.add_development_dependency(%q<httpclient>, [">= 0"])
64
- s.add_development_dependency(%q<fakeweb>, [">= 0"])
65
- else
66
- s.add_dependency(%q<shoulda>, [">= 0"])
67
- s.add_dependency(%q<mocha>, [">= 0"])
68
- s.add_dependency(%q<httpclient>, [">= 0"])
69
- s.add_dependency(%q<fakeweb>, [">= 0"])
70
- end
71
- else
72
- s.add_dependency(%q<shoulda>, [">= 0"])
73
- s.add_dependency(%q<mocha>, [">= 0"])
74
- s.add_dependency(%q<httpclient>, [">= 0"])
75
- s.add_dependency(%q<fakeweb>, [">= 0"])
76
- end
55
+ s.add_development_dependency("shoulda", ["2.11.3"])
56
+ s.add_development_dependency("mocha", ["0.10.0"])
57
+ s.add_development_dependency("httpclient", ["2.2.3"])
58
+ s.add_development_dependency("fakeweb", ["~> 1.3"])
59
+ s.add_development_dependency("rcov", ["0.9.11"])
60
+ s.add_development_dependency("yard", ["0.7.3"])
61
+ s.add_development_dependency("rake", ["0.9.2.2"])
77
62
  end
78
-
@@ -10,7 +10,7 @@ class HttpClientTest < Test::Unit::TestCase
10
10
  context "to GET http://localhost:8000/, responding with a 200 in 53ms" do
11
11
  setup do
12
12
  now = Time.now
13
- Time.stubs(:now).returns(now, now + 0.053)
13
+ Samuel::Diary.stubs(:current_time).returns(now, now + 0.053)
14
14
  HTTPClient.get("http://localhost:8000/")
15
15
  end
16
16
 
@@ -63,6 +63,7 @@ class HttpClientTest < Test::Unit::TestCase
63
63
  client = HTTPClient.new
64
64
  connection = client.get_async("http://localhost:8001/")
65
65
  sleep 0.1 until connection.finished?
66
+ connection.pop
66
67
  rescue Errno::ECONNREFUSED => @exception
67
68
  end
68
69
  end
@@ -93,5 +94,4 @@ class HttpClientTest < Test::Unit::TestCase
93
94
  should_log_including "[500 Internal Server Error]"
94
95
  end
95
96
  end
96
-
97
97
  end
@@ -1,7 +1,6 @@
1
1
  require 'test_helper'
2
2
 
3
3
  class LoaderTest < Test::Unit::TestCase
4
-
5
4
  def capture_output(code = "")
6
5
  requires = @requires.map { |lib| "require '#{lib}';" }.join(' ')
7
6
  samuel_dir = "#{File.dirname(__FILE__)}/../lib"
@@ -59,5 +58,4 @@ class LoaderTest < Test::Unit::TestCase
59
58
  end
60
59
  end
61
60
  end
62
-
63
61
  end
@@ -1,7 +1,6 @@
1
1
  require 'test_helper'
2
2
 
3
3
  class RequestTest < Test::Unit::TestCase
4
-
5
4
  context "making an HTTP request" do
6
5
  setup { setup_test_logger
7
6
  FakeWeb.clean_registry
@@ -12,7 +11,7 @@ class RequestTest < Test::Unit::TestCase
12
11
  setup do
13
12
  FakeWeb.register_uri(:get, "http://example.com/test", :status => [200, "OK"])
14
13
  now = Time.now
15
- Time.stubs(:now).returns(now, now + 0.053)
14
+ Samuel::Diary.stubs(:current_time).returns(now, now + 0.053)
16
15
  open "http://example.com/test"
17
16
  end
18
17
 
@@ -221,5 +220,4 @@ class RequestTest < Test::Unit::TestCase
221
220
  should_log_including "HTTP request"
222
221
  end
223
222
  end
224
-
225
223
  end
@@ -1,13 +1,10 @@
1
1
  require 'test_helper'
2
2
 
3
3
  class SamuelTest < Test::Unit::TestCase
4
-
5
4
  context "logger configuration" do
6
5
  setup do
7
6
  Samuel.logger = nil
8
- if Object.const_defined?(:RAILS_DEFAULT_LOGGER)
9
- Object.send(:remove_const, :RAILS_DEFAULT_LOGGER)
10
- end
7
+ Object.send(:remove_const, :Rails) if Object.const_defined?(:Rails)
11
8
  end
12
9
 
13
10
  teardown do
@@ -15,7 +12,7 @@ class SamuelTest < Test::Unit::TestCase
15
12
  end
16
13
 
17
14
  context "when Rails's logger is available" do
18
- setup { Object.const_set(:RAILS_DEFAULT_LOGGER, :mock_logger) }
15
+ setup { Object.const_set(:Rails, stub(:logger => :mock_logger)) }
19
16
 
20
17
  should "use the same logger" do
21
18
  assert_equal :mock_logger, Samuel.logger
@@ -30,7 +27,6 @@ class SamuelTest < Test::Unit::TestCase
30
27
  end
31
28
  end
32
29
 
33
-
34
30
  context ".reset_config" do
35
31
  should "reset the config to default vaules" do
36
32
  Samuel.config = {:foo => "bar"}
@@ -38,5 +34,4 @@ class SamuelTest < Test::Unit::TestCase
38
34
  assert_equal({:label => nil, :labels => {}, :filtered_params => []}, Samuel.config)
39
35
  end
40
36
  end
41
-
42
37
  end
@@ -1,11 +1,11 @@
1
1
  require 'rubygems'
2
+ require 'bundler'
3
+ Bundler.setup
2
4
 
3
5
  require 'shoulda'
4
6
  require 'mocha'
5
-
6
7
  require 'net/http'
7
8
  require 'httpclient'
8
-
9
9
  require 'open-uri'
10
10
  require 'fakeweb'
11
11
  require 'webrick'
@@ -45,6 +45,7 @@ class Test::Unit::TestCase
45
45
 
46
46
  def self.should_raise_exception(klass)
47
47
  should "raise an #{klass} exception" do
48
+ @exception = nil if !defined?(@exception)
48
49
  assert @exception.is_a?(klass)
49
50
  end
50
51
  end
@@ -1,7 +1,6 @@
1
1
  require 'test_helper'
2
2
 
3
3
  class ThreadTest < Test::Unit::TestCase
4
-
5
4
  context "when logging multiple requests at once" do
6
5
  setup do
7
6
  @log = StringIO.new
@@ -28,5 +27,4 @@ class ThreadTest < Test::Unit::TestCase
28
27
  end
29
28
  end
30
29
  end
31
-
32
30
  end
metadata CHANGED
@@ -1,7 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: samuel
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ hash: 21
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 3
9
+ - 3
10
+ version: 0.3.3
5
11
  platform: ruby
6
12
  authors:
7
13
  - Chris Kampmeier
@@ -9,49 +15,121 @@ autorequire:
9
15
  bindir: bin
10
16
  cert_chain: []
11
17
 
12
- date: 2010-01-12 00:00:00 -08:00
18
+ date: 2011-11-10 00:00:00 -08:00
13
19
  default_executable:
14
20
  dependencies:
15
21
  - !ruby/object:Gem::Dependency
16
22
  name: shoulda
17
- type: :development
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
20
26
  requirements:
21
- - - ">="
27
+ - - "="
22
28
  - !ruby/object:Gem::Version
23
- version: "0"
24
- version:
29
+ hash: 37
30
+ segments:
31
+ - 2
32
+ - 11
33
+ - 3
34
+ version: 2.11.3
35
+ type: :development
36
+ version_requirements: *id001
25
37
  - !ruby/object:Gem::Dependency
26
38
  name: mocha
27
- type: :development
28
- version_requirement:
29
- version_requirements: !ruby/object:Gem::Requirement
39
+ prerelease: false
40
+ requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
30
42
  requirements:
31
- - - ">="
43
+ - - "="
32
44
  - !ruby/object:Gem::Version
33
- version: "0"
34
- version:
45
+ hash: 55
46
+ segments:
47
+ - 0
48
+ - 10
49
+ - 0
50
+ version: 0.10.0
51
+ type: :development
52
+ version_requirements: *id002
35
53
  - !ruby/object:Gem::Dependency
36
54
  name: httpclient
37
- type: :development
38
- version_requirement:
39
- version_requirements: !ruby/object:Gem::Requirement
55
+ prerelease: false
56
+ requirement: &id003 !ruby/object:Gem::Requirement
57
+ none: false
40
58
  requirements:
41
- - - ">="
59
+ - - "="
42
60
  - !ruby/object:Gem::Version
43
- version: "0"
44
- version:
61
+ hash: 1
62
+ segments:
63
+ - 2
64
+ - 2
65
+ - 3
66
+ version: 2.2.3
67
+ type: :development
68
+ version_requirements: *id003
45
69
  - !ruby/object:Gem::Dependency
46
70
  name: fakeweb
71
+ prerelease: false
72
+ requirement: &id004 !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ hash: 9
78
+ segments:
79
+ - 1
80
+ - 3
81
+ version: "1.3"
82
+ type: :development
83
+ version_requirements: *id004
84
+ - !ruby/object:Gem::Dependency
85
+ name: rcov
86
+ prerelease: false
87
+ requirement: &id005 !ruby/object:Gem::Requirement
88
+ none: false
89
+ requirements:
90
+ - - "="
91
+ - !ruby/object:Gem::Version
92
+ hash: 45
93
+ segments:
94
+ - 0
95
+ - 9
96
+ - 11
97
+ version: 0.9.11
47
98
  type: :development
48
- version_requirement:
49
- version_requirements: !ruby/object:Gem::Requirement
99
+ version_requirements: *id005
100
+ - !ruby/object:Gem::Dependency
101
+ name: yard
102
+ prerelease: false
103
+ requirement: &id006 !ruby/object:Gem::Requirement
104
+ none: false
50
105
  requirements:
51
- - - ">="
106
+ - - "="
52
107
  - !ruby/object:Gem::Version
53
- version: "0"
54
- version:
108
+ hash: 5
109
+ segments:
110
+ - 0
111
+ - 7
112
+ - 3
113
+ version: 0.7.3
114
+ type: :development
115
+ version_requirements: *id006
116
+ - !ruby/object:Gem::Dependency
117
+ name: rake
118
+ prerelease: false
119
+ requirement: &id007 !ruby/object:Gem::Requirement
120
+ none: false
121
+ requirements:
122
+ - - "="
123
+ - !ruby/object:Gem::Version
124
+ hash: 11
125
+ segments:
126
+ - 0
127
+ - 9
128
+ - 2
129
+ - 2
130
+ version: 0.9.2.2
131
+ type: :development
132
+ version_requirements: *id007
55
133
  description: An automatic logger for HTTP requests in Ruby, supporting the Net::HTTP and HTTPClient client libraries.
56
134
  email: chris@kampers.net
57
135
  executables: []
@@ -64,6 +142,7 @@ extra_rdoc_files:
64
142
  files:
65
143
  - .document
66
144
  - .gitignore
145
+ - Gemfile
67
146
  - LICENSE
68
147
  - README.rdoc
69
148
  - Rakefile
@@ -92,21 +171,27 @@ rdoc_options:
92
171
  require_paths:
93
172
  - lib
94
173
  required_ruby_version: !ruby/object:Gem::Requirement
174
+ none: false
95
175
  requirements:
96
176
  - - ">="
97
177
  - !ruby/object:Gem::Version
178
+ hash: 3
179
+ segments:
180
+ - 0
98
181
  version: "0"
99
- version:
100
182
  required_rubygems_version: !ruby/object:Gem::Requirement
183
+ none: false
101
184
  requirements:
102
185
  - - ">="
103
186
  - !ruby/object:Gem::Version
187
+ hash: 3
188
+ segments:
189
+ - 0
104
190
  version: "0"
105
- version:
106
191
  requirements: []
107
192
 
108
193
  rubyforge_project: samuel
109
- rubygems_version: 1.3.5
194
+ rubygems_version: 1.6.2
110
195
  signing_key:
111
196
  specification_version: 3
112
197
  summary: An automatic logger for HTTP requests in Ruby