log-me 0.0.8 → 0.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,15 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: d6aab3c875f451d0b556d137f6cc4488db5a4301
4
- data.tar.gz: 6924159042c08331818012de069b0fb0de150a82
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ Y2FiMTg0YjYzM2M5NmVjNzBjYTc1NTNiMTQ2ZDg5MzM5ZGQzZDc3YQ==
5
+ data.tar.gz: !binary |-
6
+ MWZhOWRlMzJhNjg2MmUyYjE1NzIxOTU2OGQzMDNhMjI2ZjBlZjMyYQ==
5
7
  SHA512:
6
- metadata.gz: ec348785adadcbe37d4bf5019d72b5bff11c3d54dd99beac56a02ad92b42155314ab1d88d4cd10faca4b58bdf9eefcf524102e225c1d3bf0b5027dc90785741f
7
- data.tar.gz: d2a0f9c5ba60e6dffd276f4971b29af46015cbb8cfb8ed9c4632466c01c357307cfa1cf4d70f2b91c4a1ff1fef647a0f67a176b803b44de203d740a4e42c84b0
8
+ metadata.gz: !binary |-
9
+ ZmYyM2Q0NWQzNTZhY2QzZTFlNTNkM2Q2MDAzNWQ3MWFlMThkMDZlYjYwMmQx
10
+ OWZmY2Q4MWY1MDMxZTE3ZmU3ZTM3NGY5YmZjYWNlZTExMTY2YTAyMjNmYWY2
11
+ MWUxYjAyMzZlNmFkMzI4NDA1NjVhM2E4OTE1YzU1ZWU2MDA5NmU=
12
+ data.tar.gz: !binary |-
13
+ MjdiMmFiOTczNmVkOTc2NWM3ZjAwMTY1Yjg2YmEwOTVkMGZjZjNlYWZhMWIz
14
+ ZGUxZjhlZTg0MWEwZTU0NTI2ZWExNGUzNjBkYzhlNzM4NzkwODI1Zjg3NTA4
15
+ YTg2ZDM1YjA0MGE3YTRlZjAxY2YzM2M1NmFmYWZhMWMzZDMwNDU=
data/.travis.yml CHANGED
@@ -1,7 +1,6 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 1.9.2
4
3
  - 1.9.3
5
4
  - 2.0.0
6
- - 2.1.0
5
+ - 2.1.2
7
6
  script: bundle exec rspec
data/CHANGELOG.rdoc CHANGED
@@ -1,3 +1,6 @@
1
+ == Version 0.0.9
2
+ - New: Support to log RestClient requests and responses.
3
+
1
4
  == Version 0.0.8
2
5
  - Update: Adjust in log formatting.
3
6
 
data/README.rdoc CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  A simple way to configure log in your gem.
4
4
 
5
- LogMe is especially useful when you need to log Web Service calls or HTTP requests and responses (using Net::HTTP).
5
+ LogMe is especially useful when you need to log Web Service calls or HTTP requests and responses, using Net::HTTP or RestClient.
6
6
 
7
7
  {<img src="https://badge.fury.io/rb/log-me.png" alt="Gem Version" />}[http://badge.fury.io/rb/log-me]
8
8
  {<img src="https://travis-ci.org/prodis/log-me.png?branch=master" alt="Build Status" />}[https://travis-ci.org/prodis/log-me]
@@ -57,6 +57,30 @@ Logging Net::HTTP requests and responses:
57
57
  # Some logic to obtain a Net::HTTP response.
58
58
  response = do_request(request, url)
59
59
  CoolGem.log_response response
60
+
61
+ response
62
+ end
63
+ end
64
+ end
65
+
66
+ ws = CoolGem::WebService.new
67
+ ws.do_something
68
+
69
+ Logging RestClient requests and responses:
70
+ module CoolGem
71
+ class WebService
72
+ def do_something
73
+ args = {
74
+ method: :post,
75
+ url: "http://prodis.blog.br",
76
+ payload: 'param1=value1&param2=value2'
77
+ }
78
+
79
+ RestClient::Request.execute(args) do |response, request, result|
80
+ CoolGem.log_request request, args[:url]
81
+ CoolGem.log_response result
82
+ response
83
+ end
60
84
  end
61
85
  end
62
86
  end
data/lib/log-me.rb CHANGED
@@ -1,6 +1,7 @@
1
+ # encoding: utf-8
1
2
  require 'logger'
2
3
  require 'logme/configuration'
3
- require 'logme/net_http_formatter'
4
+ require 'logme/http_formatter'
4
5
 
5
6
  module LogMe
6
7
  attr_writer :log_enabled
@@ -21,11 +22,11 @@ module LogMe
21
22
  end
22
23
 
23
24
  def logger
24
- @logger ||= ::Logger.new STDOUT
25
+ @logger ||= ::Logger.new(STDOUT)
25
26
  end
26
27
 
27
28
  def log(message)
28
- logger.send log_level, "[#{log_label}] #{message}\n" if log_enabled?
29
+ logger.send(log_level, "[#{log_label}] #{message}") if log_enabled?
29
30
  end
30
31
 
31
32
  def log_request(request, url)
@@ -37,12 +38,12 @@ module LogMe
37
38
  end
38
39
 
39
40
  def self.extended(base)
40
- base.send :extend, LogMe::Configuration
41
+ base.send(:extend, LogMe::Configuration)
41
42
  end
42
43
 
43
44
  private
44
45
 
45
46
  def formatter
46
- @formatter ||= LogMe::NetHttpFormatter.new
47
+ @formatter ||= LogMe::HttpFormatter.new
47
48
  end
48
49
  end
@@ -1,3 +1,4 @@
1
+ # encoding: utf-8
1
2
  module LogMe
2
3
  module Configuration
3
4
  def configure
@@ -0,0 +1,41 @@
1
+ # encoding: utf-8
2
+ module LogMe
3
+ class HttpFormatter
4
+ def format_request(request, url)
5
+ message = format_message(request) do
6
+ message = with_line_break { 'Request:' }
7
+ message << with_line_break { "#{request.method.to_s.upcase} #{url}" }
8
+ end
9
+ end
10
+
11
+ def format_response(response)
12
+ message = format_message(response) do
13
+ message = with_line_break { 'Response:' }
14
+ message << with_line_break { "HTTP/#{response.http_version} #{response.code} #{response.message}" }
15
+ end
16
+ end
17
+
18
+ private
19
+
20
+ def format_message(http)
21
+ message = yield
22
+ body = extract_body_from(http)
23
+ message << with_line_break { body } unless blank?(body)
24
+ message
25
+ end
26
+
27
+ def with_line_break
28
+ "#{yield}\n"
29
+ end
30
+
31
+ def extract_body_from(http)
32
+ return http.body if http.respond_to?(:body)
33
+ return http.args[:payload] if http.respond_to?(:args)
34
+ return nil
35
+ end
36
+
37
+ def blank?(text)
38
+ text.to_s.strip.empty?
39
+ end
40
+ end
41
+ end
data/lib/logme/version.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # encoding: utf-8
1
2
  module LogMe
2
- VERSION = "0.0.8"
3
+ VERSION = '0.0.9'
3
4
  end
data/log-me.gemspec CHANGED
@@ -2,26 +2,26 @@ lib = File.expand_path('../lib', __FILE__)
2
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
3
  require 'logme/version'
4
4
 
5
- Gem::Specification.new do |gem|
6
- gem.name = "log-me"
7
- gem.version = LogMe::VERSION
8
- gem.authors = ["Prodis a.k.a. Fernando Hamasaki de Amorim"]
9
- gem.email = ["prodis@gmail.com"]
10
- gem.summary = "A simple way to configure log in your gem."
11
- gem.description = "LogMe is a simple way to configure log in your gem. It's especially useful when you need to log Web Service calls or HTTP requests and responses."
12
- gem.homepage = "http://github.com/prodis/log-me"
13
- gem.licenses = ["MIT"]
5
+ Gem::Specification.new do |spec|
6
+ spec.name = 'log-me'
7
+ spec.version = LogMe::VERSION
8
+ spec.authors = ['Prodis a.k.a. Fernando Hamasaki de Amorim']
9
+ spec.email = ['prodis@gmail.com']
10
+ spec.summary = 'A simple way to configure log in your spec.'
11
+ spec.description = 'LogMe is a simple way to configure log in your spec. It is especially useful when you need to log Web Service calls or HTTP requests and responses.'
12
+ spec.homepage = 'http://github.com/prodis/log-me'
13
+ spec.licenses = ['MIT']
14
14
 
15
- gem.files = `git ls-files`.split($\)
16
- gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
17
- gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
- gem.require_paths = ["lib"]
15
+ spec.files = `git ls-files`.split($\)
16
+ spec.executables = spec.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
17
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
+ spec.require_paths = ['lib']
19
19
 
20
- gem.platform = Gem::Platform::RUBY
21
- gem.required_ruby_version = Gem::Requirement.new(">= 1.9.2")
20
+ spec.platform = Gem::Platform::RUBY
21
+ spec.required_ruby_version = Gem::Requirement.new('>= 1.9.3')
22
22
 
23
- gem.add_development_dependency "coveralls"
24
- gem.add_development_dependency "pry"
25
- gem.add_development_dependency "rake"
26
- gem.add_development_dependency "rspec", "~> 3.0"
23
+ spec.add_development_dependency 'coveralls'
24
+ spec.add_development_dependency 'pry'
25
+ spec.add_development_dependency 'rake', '~> 10'
26
+ spec.add_development_dependency 'rspec', '~> 3.1.0'
27
27
  end
data/spec/log-me_spec.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # encoding: utf-8
1
2
  require 'spec_helper'
2
3
 
3
4
  module FakeModule
@@ -7,49 +8,49 @@ end
7
8
  describe LogMe do
8
9
  let(:subject) { FakeModule }
9
10
 
10
- describe "#log_enabled?" do
11
- it "default is true" do
11
+ describe '#log_enabled?' do
12
+ it 'default is true' do
12
13
  expect(subject).to be_log_enabled
13
14
  end
14
15
 
15
- context "when log is disabled" do
16
+ context 'when log is disabled' do
16
17
  around do |example|
17
18
  subject.configure { |config| config.log_enabled = false }
18
19
  example.run
19
20
  subject.configure { |config| config.log_enabled = true }
20
21
  end
21
22
 
22
- it "returns false" do
23
+ it 'returns false' do
23
24
  expect(subject).to_not be_log_enabled
24
25
  end
25
26
  end
26
27
  end
27
28
 
28
- describe "#log_level" do
29
- it "default is info" do
29
+ describe '#log_level' do
30
+ it 'default is info' do
30
31
  expect(subject.log_level).to eq :info
31
32
  end
32
33
 
33
- context "when log level is set" do
34
+ context 'when log level is set' do
34
35
  around do |example|
35
36
  subject.configure { |config| config.log_level = :debug }
36
37
  example.run
37
38
  subject.configure { |config| config.log_level = :info }
38
39
  end
39
40
 
40
- it "returns set level" do
41
+ it 'returns set level' do
41
42
  expect(subject.log_level).to eq :debug
42
43
  end
43
44
  end
44
45
  end
45
46
 
46
- describe "#log_label" do
47
- it "default is current module name" do
47
+ describe '#log_label' do
48
+ it 'default is current module name' do
48
49
  expect(subject.log_label).to eq subject.name
49
50
  end
50
51
 
51
- context "when set label" do
52
- let(:label) { "Prodis #15" }
52
+ context 'when set label' do
53
+ let(:label) { 'Prodis #15' }
53
54
 
54
55
  around do |example|
55
56
  subject.configure { |config| config.log_label = label }
@@ -57,19 +58,19 @@ describe LogMe do
57
58
  subject.configure { |config| config.log_label = subject.name }
58
59
  end
59
60
 
60
- it "returns label" do
61
+ it 'returns label' do
61
62
  expect(subject.log_label).to eq label
62
63
  end
63
64
  end
64
65
  end
65
66
 
66
- describe "#logger" do
67
- it "default is Logger" do
67
+ describe '#logger' do
68
+ it 'default is Logger' do
68
69
  expect(subject.logger).to be_a(::Logger)
69
70
  end
70
71
 
71
- context "when set logger" do
72
- it "returns set logger" do
72
+ context 'when set logger' do
73
+ it 'returns set logger' do
73
74
  fake_logger = Class.new
74
75
  subject.configure { |config| config.logger = fake_logger }
75
76
  expect(subject.logger).to eq fake_logger
@@ -77,9 +78,9 @@ describe LogMe do
77
78
  end
78
79
  end
79
80
 
80
- describe "#log" do
81
+ describe '#log' do
81
82
  let(:log_stream) { StringIO.new }
82
- let(:label) { "Cool Label" }
83
+ let(:label) { 'Cool Label' }
83
84
 
84
85
  before do
85
86
  subject.configure { |config| config.logger = ::Logger.new(log_stream) }
@@ -91,71 +92,71 @@ describe LogMe do
91
92
  subject.configure { |config| config.log_label = subject.name }
92
93
  end
93
94
 
94
- context "when log is enabled" do
95
- it "logs the message" do
96
- subject.log "Some message to log."
97
- expect(log_stream.string).to include "[#{label}] Some message to log.\n"
95
+ context 'when log is enabled' do
96
+ it 'logs the message' do
97
+ subject.log 'Some message to log.'
98
+ expect(log_stream.string).to include "[#{label}] Some message to log."
98
99
  end
99
100
 
100
- it "calls log level method" do
101
- expect(subject.logger).to receive(:info).with("[#{label}] Some message to log.\n")
102
- subject.log "Some message to log."
101
+ it 'calls log level method' do
102
+ expect(subject.logger).to receive(:info).with("[#{label}] Some message to log.")
103
+ subject.log 'Some message to log.'
103
104
  end
104
105
  end
105
106
 
106
- context "when log is disabled" do
107
+ context 'when log is disabled' do
107
108
  around do |example|
108
109
  subject.configure { |config| config.log_enabled = false }
109
110
  example.run
110
111
  subject.configure { |config| config.log_enabled = true }
111
112
  end
112
113
 
113
- it "does not log the message" do
114
- subject.log "Some message to log."
114
+ it 'does not log the message' do
115
+ subject.log 'Some message to log.'
115
116
  expect(log_stream.string).to be_empty
116
117
  end
117
118
  end
118
119
 
119
- context "when log level is set" do
120
+ context 'when log level is set' do
120
121
  around do |example|
121
122
  subject.configure { |config| config.log_level = :debug }
122
123
  example.run
123
124
  subject.configure { |config| config.log_level = :info }
124
125
  end
125
126
 
126
- it "calls log level set method" do
127
- expect(subject.logger).to receive(:debug).with("[#{label}] Some message to log.\n")
128
- subject.log "Some message to log."
127
+ it 'calls log level set method' do
128
+ expect(subject.logger).to receive(:debug).with("[#{label}] Some message to log.")
129
+ subject.log 'Some message to log.'
129
130
  end
130
131
  end
131
132
  end
132
133
 
133
- describe "#log_request" do
134
+ describe '#log_request' do
134
135
  let(:log_stream) { StringIO.new }
135
- let(:request) { double "Request" }
136
- let(:url) { "http://prodis.blog.br" }
136
+ let(:request) { double('Request') }
137
+ let(:url) { 'http://prodis.blog.br' }
137
138
 
138
139
  before do
139
140
  subject.configure { |config| config.logger = ::Logger.new(log_stream) }
140
141
  end
141
142
 
142
- it "logs formatted request message" do
143
- allow_any_instance_of(LogMe::NetHttpFormatter).to receive(:format_request).with(request, url).and_return("Request message.")
143
+ it 'logs formatted request message' do
144
+ allow_any_instance_of(LogMe::HttpFormatter).to receive(:format_request).with(request, url).and_return('Request message.')
144
145
  subject.log_request(request, url)
145
146
  expect(log_stream.string).to include "[#{subject.name}] Request message.\n"
146
147
  end
147
148
  end
148
149
 
149
- describe "#log_response" do
150
+ describe '#log_response' do
150
151
  let(:log_stream) { StringIO.new }
151
- let(:response) { double "Response" }
152
+ let(:response) { double('Response') }
152
153
 
153
154
  before do
154
155
  subject.configure { |config| config.logger = ::Logger.new(log_stream) }
155
156
  end
156
157
 
157
- it "logs formatted response message" do
158
- allow_any_instance_of(LogMe::NetHttpFormatter).to receive(:format_response).with(response).and_return("Response message.")
158
+ it 'logs formatted response message' do
159
+ allow_any_instance_of(LogMe::HttpFormatter).to receive(:format_response).with(response).and_return('Response message.')
159
160
  subject.log_response response
160
161
  expect(log_stream.string).to include "[#{subject.name}] Response message.\n"
161
162
  end
@@ -0,0 +1,82 @@
1
+ # encoding: utf-8
2
+ require 'spec_helper'
3
+
4
+ describe LogMe::HttpFormatter do
5
+ describe '#format_request' do
6
+ context 'when request has body' do
7
+ let(:url) { 'http://prodis.blog.br' }
8
+
9
+ context 'and responds to body method' do
10
+ let(:request) do
11
+ double('Net::HTTP::Post', method: 'POST', body: 'param1=value1&param2=value2')
12
+ end
13
+
14
+ it 'formats request message including body' do
15
+ expected_message = "Request:\nPOST #{url}\nparam1=value1&param2=value2\n"
16
+ expect(subject.format_request(request, url)).to eq expected_message
17
+ end
18
+ end
19
+
20
+ context 'and responds to args method' do
21
+ let(:request) do
22
+ double('RestClient::Request', method: :post, args: { payload: 'param1=value1&param2=value2' })
23
+ end
24
+
25
+ it 'formats request message including body' do
26
+ expected_message = "Request:\nPOST #{url}\nparam1=value1&param2=value2\n"
27
+ expect(subject.format_request(request, url)).to eq expected_message
28
+ end
29
+ end
30
+ end
31
+
32
+ context 'when request does not have body' do
33
+ let(:url) { 'http://prodis.blog.br?s=logme+gem' }
34
+
35
+ context 'and responds to body method' do
36
+ let(:request) do
37
+ double('Net::HTTP::Get', method: 'GET', body: nil)
38
+ end
39
+
40
+ it 'formats request message without body' do
41
+ expected_message = "Request:\nGET #{url}\n"
42
+ expect(subject.format_request(request, url)).to eq expected_message
43
+ end
44
+ end
45
+
46
+ context 'and responds to args method' do
47
+ let(:request) do
48
+ double('RestClient::Request', method: :get, args: {})
49
+ end
50
+
51
+ it 'formats request message without body' do
52
+ expected_message = "Request:\nGET #{url}\n"
53
+ expect(subject.format_request(request, url)).to eq expected_message
54
+ end
55
+ end
56
+ end
57
+ end
58
+
59
+ describe '#format_response' do
60
+ context 'when response has body' do
61
+ let(:response) do
62
+ double('Net::HTTP::OK', http_version: '1.1', code: '200', message: 'OK', body: '<xml><fake />')
63
+ end
64
+
65
+ it 'formats response message' do
66
+ expected_message = "Response:\nHTTP/1.1 200 OK\n<xml><fake />\n"
67
+ expect(subject.format_response(response)).to eq expected_message
68
+ end
69
+ end
70
+
71
+ context 'when response does not have body' do
72
+ let(:response) do
73
+ double('Net::HTTP::OK', http_version: '1.1', code: '200', message: 'OK', body: nil)
74
+ end
75
+
76
+ it 'formats response message' do
77
+ expected_message = "Response:\nHTTP/1.1 200 OK\n"
78
+ expect(subject.format_response(response)).to eq expected_message
79
+ end
80
+ end
81
+ end
82
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # encoding: utf-8
1
2
  require 'coveralls'
2
3
  require 'log-me'
3
4
 
@@ -7,5 +8,5 @@ Coveralls.wear!
7
8
  RSpec.configure do |config|
8
9
  config.run_all_when_everything_filtered = true
9
10
  config.filter_run :focus
10
- config.order = "random"
11
+ config.order = 'random'
11
12
  end
metadata CHANGED
@@ -1,93 +1,93 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: log-me
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Prodis a.k.a. Fernando Hamasaki de Amorim
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-08-05 00:00:00.000000000 Z
11
+ date: 2014-10-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: coveralls
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - ! '>='
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - ! '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: pry
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - ! '>='
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - ! '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - ~>
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: '10'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - ~>
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: '10'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rspec
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ~>
60
60
  - !ruby/object:Gem::Version
61
- version: '3.0'
61
+ version: 3.1.0
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ~>
67
67
  - !ruby/object:Gem::Version
68
- version: '3.0'
69
- description: LogMe is a simple way to configure log in your gem. It's especially useful
70
- when you need to log Web Service calls or HTTP requests and responses.
68
+ version: 3.1.0
69
+ description: LogMe is a simple way to configure log in your spec. It is especially
70
+ useful when you need to log Web Service calls or HTTP requests and responses.
71
71
  email:
72
72
  - prodis@gmail.com
73
73
  executables: []
74
74
  extensions: []
75
75
  extra_rdoc_files: []
76
76
  files:
77
- - ".gitignore"
78
- - ".rspec"
79
- - ".travis.yml"
77
+ - .gitignore
78
+ - .rspec
79
+ - .travis.yml
80
80
  - CHANGELOG.rdoc
81
81
  - Gemfile
82
82
  - README.rdoc
83
83
  - Rakefile
84
84
  - lib/log-me.rb
85
85
  - lib/logme/configuration.rb
86
- - lib/logme/net_http_formatter.rb
86
+ - lib/logme/http_formatter.rb
87
87
  - lib/logme/version.rb
88
88
  - log-me.gemspec
89
89
  - spec/log-me_spec.rb
90
- - spec/logme/net_http_formatter_spec.rb
90
+ - spec/logme/http_formatter_spec.rb
91
91
  - spec/spec_helper.rb
92
92
  homepage: http://github.com/prodis/log-me
93
93
  licenses:
@@ -99,12 +99,12 @@ require_paths:
99
99
  - lib
100
100
  required_ruby_version: !ruby/object:Gem::Requirement
101
101
  requirements:
102
- - - ">="
102
+ - - ! '>='
103
103
  - !ruby/object:Gem::Version
104
- version: 1.9.2
104
+ version: 1.9.3
105
105
  required_rubygems_version: !ruby/object:Gem::Requirement
106
106
  requirements:
107
- - - ">="
107
+ - - ! '>='
108
108
  - !ruby/object:Gem::Version
109
109
  version: '0'
110
110
  requirements: []
@@ -112,8 +112,8 @@ rubyforge_project:
112
112
  rubygems_version: 2.2.2
113
113
  signing_key:
114
114
  specification_version: 4
115
- summary: A simple way to configure log in your gem.
115
+ summary: A simple way to configure log in your spec.
116
116
  test_files:
117
117
  - spec/log-me_spec.rb
118
- - spec/logme/net_http_formatter_spec.rb
118
+ - spec/logme/http_formatter_spec.rb
119
119
  - spec/spec_helper.rb
@@ -1,33 +0,0 @@
1
- module LogMe
2
- class NetHttpFormatter
3
- def format_request(request, url)
4
- message = format_message(request) do
5
- message = with_line_break { "Request:" }
6
- message << with_line_break { "#{request.method} #{url}" }
7
- end
8
- end
9
-
10
- def format_response(response)
11
- message = format_message(response) do
12
- message = with_line_break { "Response:" }
13
- message << with_line_break { "HTTP/#{response.http_version} #{response.code} #{response.message}" }
14
- end
15
- end
16
-
17
- private
18
-
19
- def format_message(http)
20
- message = yield
21
- message << with_line_break { http.body } if has_body?(http)
22
- message
23
- end
24
-
25
- def with_line_break
26
- "#{yield}\n"
27
- end
28
-
29
- def has_body?(http)
30
- http.body && !http.body.strip.empty?
31
- end
32
- end
33
- end
@@ -1,40 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe LogMe::NetHttpFormatter do
4
- describe "#format_request" do
5
- context "when request has body" do
6
- let(:request) do
7
- double "Net::HTTP::Post", method: "POST", body: "param1=value1&param2=value2"
8
- end
9
- let(:url) { "http://prodis.blog.br" }
10
-
11
- it "formats request message including body" do
12
- expected_message = "Request:\nPOST #{url}\nparam1=value1&param2=value2\n"
13
- expect(subject.format_request(request, url)).to eq expected_message
14
- end
15
- end
16
-
17
- context "when request does not have body" do
18
- let(:request) do
19
- double "Net::HTTP::Get", method: "GET", body: nil
20
- end
21
- let(:url) { "http://prodis.blog.br?s=logme+gem" }
22
-
23
- it "formats request message without body" do
24
- expected_message = "Request:\nGET #{url}\n"
25
- expect(subject.format_request(request, url)).to eq expected_message
26
- end
27
- end
28
- end
29
-
30
- describe "#format_response" do
31
- let(:response) do
32
- double "Net::HTTP::OK", http_version: "1.1", code: "200", message: "OK", body: "<xml><fake />"
33
- end
34
-
35
- it "formats response message" do
36
- expected_message = "Response:\nHTTP/1.1 200 OK\n<xml><fake />\n"
37
- expect(subject.format_response(response)).to eq expected_message
38
- end
39
- end
40
- end