correios-frete 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,8 +1,16 @@
1
+ == Versão 1.2.0
2
+ - Novo: Uso da gem LogMe.
3
+ - Melhoria: Opção de logar os cabeçalhos HTTP da resposta do Web Service dos Correios.
4
+
5
+ == Versão 1.1.0
6
+ - Novo: Suporte para todos os serviços de frete disponibilizados pelos Correios.
7
+ - Correção: Formatação com duas casas decimais do valor declarado.
8
+
1
9
  == Versão 1.0.2
2
10
  - Melhoria: Remoção dos cabeçalhos HTTP no log da resposta do Web Service dos Correios.
3
11
 
4
12
  == Versão 1.0.1
5
- - Atualizado: Documentação
13
+ - Atualização: Documentação
6
14
 
7
15
  == Versão 1.0.0
8
16
  - Aviso: Quebra de compatibilidade com a versão 0.3.0.
@@ -14,7 +22,7 @@
14
22
  == Versão 0.2.1
15
23
  - Melhoria: Alias Correios::Frete::Servico#sucesso? para Correios::Frete::Servico#success?
16
24
  - Melhoria: Alias Correios::Frete::Servico#erro? para Correios::Frete::Servico#error?
17
- - Atualizado: Documentação
25
+ - Atualização: Documentação
18
26
 
19
27
  == Versão 0.2.0
20
28
  - Novo: Suporte para cálculo de e-SEDEX
data/Gemfile CHANGED
@@ -1,10 +1,11 @@
1
1
  source "http://rubygems.org"
2
2
 
3
- gem "nokogiri"
4
- gem "sax-machine"
3
+ gem "log-me", "~> 0.0.2"
4
+ gem "nokogiri", "~> 1.4.6"
5
+ gem "sax-machine", "~> 0.0.16"
5
6
 
6
7
  group :development do
7
- gem "rspec"
8
+ gem "rspec", "~> 2.6.0"
8
9
  gem "bundler", "~> 1.0.0"
9
- gem "jeweler"
10
+ gem "jeweler", "~> 1.6.2"
10
11
  end
@@ -7,6 +7,7 @@ GEM
7
7
  bundler (~> 1.0)
8
8
  git (>= 1.2.5)
9
9
  rake
10
+ log-me (0.0.2)
10
11
  nokogiri (1.4.6)
11
12
  rake (0.9.2)
12
13
  rspec (2.6.0)
@@ -25,7 +26,8 @@ PLATFORMS
25
26
 
26
27
  DEPENDENCIES
27
28
  bundler (~> 1.0.0)
28
- jeweler
29
- nokogiri
30
- rspec
31
- sax-machine
29
+ jeweler (~> 1.6.2)
30
+ log-me (~> 0.0.2)
31
+ nokogiri (~> 1.4.6)
32
+ rspec (~> 2.6.0)
33
+ sax-machine (~> 0.0.16)
@@ -71,35 +71,59 @@ Cálculo de um serviço de frete chamando o método direto do serviço:
71
71
 
72
72
  Verificação de sucesso e erro:
73
73
 
74
+ frete.altura = 100
75
+
74
76
  servico = frete.calcular_sedex
75
- servico.sucesso? # => true
76
- servico.erro? # => false
77
+ servico.sucesso? # => false
78
+ servico.erro? # => true
79
+ servico.msg_erro # => "A altura nao pode ser maior que 90 cm."
77
80
 
78
81
  Usando a interface pública em inglês:
79
82
 
83
+ servicos = frete.calculate :sedex, :pac
80
84
  servico = frete.calculate_sedex
81
85
  servico.success? # => true
82
86
  servico.error? # => false
83
87
 
84
88
  == Log
85
89
 
86
- Por padrão, cada chamada ao Web Service dos Correios é logada usando STDOUT.
90
+ Por padrão, cada chamada ao Web Service dos Correios é logada em STDOUT, com nível de log :info, usando a gem {LogMe}[http://github.com/prodis/log-me].
91
+
92
+ Exemplo de log:
93
+ I, [2011-10-01T00:26:16.864990 #5631] INFO -- : Correios-Frete Request:
94
+ http://ws.correios.com.br/calculador/CalcPrecoPrazo.aspx?sCepOrigem=04094-050&sCepDestino=90619-900&nVlPeso=0.3&nVlComprimento=30&nVlAltura=2&nVlLargura=15&nVlDiametro=0.0&nCdFormato=1&sCdMaoPropria=N&sCdAvisoRecebimento=N&nVlValorDeclarado=0.00&nCdServico=41106&nCdEmpresa=&sDsSenha=&StrRetorno=xml
95
+
96
+ I, [2011-10-01T00:26:17.121822 #5631] INFO -- : Correios-Frete Response:
97
+ HTTP/1.1 200 OK
98
+ <?xml version="1.0" encoding="ISO-8859-1" ?>
99
+ <Servicos><cServico><Codigo>41106</Codigo><Valor>10,00</Valor><PrazoEntrega>5</PrazoEntrega><ValorMaoPropria>0,00</ValorMaoPropria><ValorAvisoRecebimento>0,00</ValorAvisoRecebimento><ValorValorDeclarado>0,00</ValorValorDeclarado><EntregaDomiciliar>S</EntregaDomiciliar><EntregaSabado>N</EntregaSabado><Erro>0</Erro><MsgErro></MsgErro></cServico></Servicos>
100
+
101
+ Se você configurar o nível de log como :debug, serão logados também todos os cabeçalhos HTTP da resposta:
102
+ D, [2011-10-01T00:27:50.597961 #5631] DEBUG -- : Correios-Frete Request:
103
+ http://ws.correios.com.br/calculador/CalcPrecoPrazo.aspx?sCepOrigem=04094-050&sCepDestino=90619-900&nVlPeso=0.3&nVlComprimento=30&nVlAltura=2&nVlLargura=15&nVlDiametro=0.0&nCdFormato=1&sCdMaoPropria=N&sCdAvisoRecebimento=N&nVlValorDeclarado=0.00&nCdServico=41106&nCdEmpresa=&sDsSenha=&StrRetorno=xml
104
+
105
+ D, [2011-10-01T00:27:50.812046 #5631] DEBUG -- : Correios-Frete Response:
106
+ HTTP/1.1 200 OK
107
+ date: Sat, 01 Oct 2011 03:27:55 GMT
108
+ server: Microsoft-IIS/6.0
109
+ x-powered-by: ASP.NET
110
+ x-aspnet-version: 1.1.4322
111
+ set-cookie: ASP.NET_SessionId=cnoejn3dpioxapejc0c3np55; path=/
112
+ cache-control: private
113
+ expires: Sat, 01 Oct 2011 03:27:55 GMT
114
+ content-type: text/xml; charset=iso-8859-1
115
+ content-length: 401
116
+ <?xml version="1.0" encoding="ISO-8859-1" ?>
117
+ <Servicos><cServico><Codigo>41106</Codigo><Valor>10,00</Valor><PrazoEntrega>5</PrazoEntrega><ValorMaoPropria>0,00</ValorMaoPropria><ValorAvisoRecebimento>0,00</ValorAvisoRecebimento><ValorValorDeclarado>0,00</ValorValorDeclarado><EntregaDomiciliar>S</EntregaDomiciliar><EntregaSabado>N</EntregaSabado><Erro>0</Erro><MsgErro></MsgErro></cServico></Servicos>
87
118
 
88
- Para desabilitar o log ou configurar um outro mecanismo de log, você pode configurar o módulo Correios::Frete.
119
+ Para desabilitar o log, mudar o nível do log ou configurar um outro mecanismo de log, use o módulo Correios::Frete.
89
120
 
90
121
  Correios::Frete.configure do |config|
91
122
  config.log_enabled = false # Desabilita o log
123
+ config.log_level = :debug # Altera o nível do log
92
124
  config.logger = Rails.logger # Usa o logger do Rails
93
125
  end
94
126
 
95
- Exemplo de log:
96
- I, [2011-08-13T00:17:38.843135 #1826] INFO -- : Correios-Frete Request:
97
- http://ws.correios.com.br/calculador/CalcPrecoPrazo.aspx?sCepOrigem=04094-050&sCepDestino=90619-900&nVlPeso=0.3&nVlComprimento=30&nVlAltura=2&nVlLargura=15&nVlDiametro=0.0&nCdFormato=1&sCdMaoPropria=N&sCdAvisoRecebimento=N&nVlValorDeclarado=0.0&nCdServico=40010&nCdEmpresa=&sDsSenha=&StrRetorno=xml
98
- I, [2011-08-13T00:17:39.099459 #1826] INFO -- : Correios-Frete Response:
99
- HTTP/1.1 200 OK
100
- <?xml version="1.0" encoding="ISO-8859-1" ?>
101
- <Servicos><cServico><Codigo>40010</Codigo><Valor>26,20</Valor><PrazoEntrega>1</PrazoEntrega><ValorMaoPropria>0,00</ValorMaoPropria><ValorAvisoRecebimento>0,00</ValorAvisoRecebimento><ValorValorDeclarado>0,00</ValorValorDeclarado><EntregaDomiciliar>S</EntregaDomiciliar><EntregaSabado>S</EntregaSabado><Erro>0</Erro><MsgErro></MsgErro></cServico></Servicos>
102
-
103
127
  == Informações adicionais
104
128
 
105
129
  === Serviços suportados
@@ -170,6 +194,13 @@ Exemplo de log:
170
194
  tipo (:pac, :pac_com_contrato, :sedex, :sedex_a_cobrar, :sedex_a_cobrar_com_contrato, :sedex_10, :sedex_hoje, :sedex_com_contrato_1, :sedex_com_contrato_2, :sedex_com_contrato_3, :sedex_com_contrato_4, :sedex_com_contrato_5, :e_sedex, :e_sedex_grupo_1, :e_sedex_grupo_2, :e_sedex_grupo_3)
171
195
 
172
196
 
197
+ == Autor
198
+ - {Fernando Hamasaki (prodis)}[http://prodis.blog.br]
199
+
200
+ == Colaboradores
201
+ - {Denis Tierno (detierno)}[https://github.com/detierno]
202
+ - {Rafael Barbolo (barbolo)}[https://github.com/barbolo]
203
+
173
204
  == Copyright
174
205
 
175
206
  (The MIT License)
@@ -67,12 +67,16 @@ Cálculo de um serviço de frete chamando o método direto do serviço:
67
67
 
68
68
  Verificação de sucesso e erro:
69
69
 
70
+ frete.altura = 100
71
+
70
72
  servico = frete.calcular_sedex
71
- servico.sucesso? # => true
72
- servico.erro? # => false
73
+ servico.sucesso? # => false
74
+ servico.erro? # => true
75
+ servico.msg_erro # => "A altura nao pode ser maior que 90 cm."
73
76
 
74
77
  Usando a interface pública em inglês:
75
78
 
79
+ servicos = frete.calculate :sedex, :pac
76
80
  servico = frete.calculate_sedex
77
81
  servico.success? # => true
78
82
  servico.error? # => false
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{correios-frete}
8
- s.version = "1.1.0"
8
+ s.version = "1.2.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Prodis a.k.a. Fernando Hamasaki"]
12
- s.date = %q{2011-09-07}
12
+ s.date = %q{2011-10-01}
13
13
  s.description = %q{Cálculo de frete utilizando o Web Service dos Correios (http://www.correios.com.br/webservices). Serviços de frete suportados são PAC, SEDEX, SEDEX 10, SEDEX Hoje e e-SEDEX (necessário informar código de empresa e senha).}
14
14
  s.email = %q{prodis@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -29,7 +29,6 @@ Gem::Specification.new do |s|
29
29
  "lib/correios-frete.rb",
30
30
  "lib/correios/frete.rb",
31
31
  "lib/correios/frete/calculador.rb",
32
- "lib/correios/frete/logger.rb",
33
32
  "lib/correios/frete/parser.rb",
34
33
  "lib/correios/frete/servico.rb",
35
34
  "lib/correios/frete/version.rb",
@@ -52,24 +51,27 @@ Gem::Specification.new do |s|
52
51
  s.specification_version = 3
53
52
 
54
53
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
55
- s.add_runtime_dependency(%q<nokogiri>, [">= 0"])
56
- s.add_runtime_dependency(%q<sax-machine>, [">= 0"])
57
- s.add_development_dependency(%q<rspec>, [">= 0"])
54
+ s.add_runtime_dependency(%q<log-me>, ["~> 0.0.2"])
55
+ s.add_runtime_dependency(%q<nokogiri>, ["~> 1.4.6"])
56
+ s.add_runtime_dependency(%q<sax-machine>, ["~> 0.0.16"])
57
+ s.add_development_dependency(%q<rspec>, ["~> 2.6.0"])
58
58
  s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
59
- s.add_development_dependency(%q<jeweler>, [">= 0"])
59
+ s.add_development_dependency(%q<jeweler>, ["~> 1.6.2"])
60
60
  else
61
- s.add_dependency(%q<nokogiri>, [">= 0"])
62
- s.add_dependency(%q<sax-machine>, [">= 0"])
63
- s.add_dependency(%q<rspec>, [">= 0"])
61
+ s.add_dependency(%q<log-me>, ["~> 0.0.2"])
62
+ s.add_dependency(%q<nokogiri>, ["~> 1.4.6"])
63
+ s.add_dependency(%q<sax-machine>, ["~> 0.0.16"])
64
+ s.add_dependency(%q<rspec>, ["~> 2.6.0"])
64
65
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
65
- s.add_dependency(%q<jeweler>, [">= 0"])
66
+ s.add_dependency(%q<jeweler>, ["~> 1.6.2"])
66
67
  end
67
68
  else
68
- s.add_dependency(%q<nokogiri>, [">= 0"])
69
- s.add_dependency(%q<sax-machine>, [">= 0"])
70
- s.add_dependency(%q<rspec>, [">= 0"])
69
+ s.add_dependency(%q<log-me>, ["~> 0.0.2"])
70
+ s.add_dependency(%q<nokogiri>, ["~> 1.4.6"])
71
+ s.add_dependency(%q<sax-machine>, ["~> 0.0.16"])
72
+ s.add_dependency(%q<rspec>, ["~> 2.6.0"])
71
73
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
72
- s.add_dependency(%q<jeweler>, [">= 0"])
74
+ s.add_dependency(%q<jeweler>, ["~> 1.6.2"])
73
75
  end
74
76
  end
75
77
 
@@ -1,12 +1,8 @@
1
1
  # encoding: UTF-8
2
- require 'correios/frete/logger'
2
+ require 'log-me'
3
3
 
4
4
  module Correios
5
5
  module Frete
6
- extend Logger
7
-
8
- def self.configure
9
- yield self if block_given?
10
- end
6
+ extend LogMe
11
7
  end
12
8
  end
@@ -3,7 +3,7 @@ module Correios
3
3
  module Frete
4
4
  module Version
5
5
  MAJOR = 1
6
- MINOR = 1
6
+ MINOR = 2
7
7
  PATCH = 0
8
8
  VERSION = [MAJOR, MINOR, PATCH].join(".")
9
9
  end
@@ -11,7 +11,7 @@ module Correios
11
11
 
12
12
  def request(frete, service_types)
13
13
  @url = "#{URL}?#{params_for(frete, service_types)}"
14
- with_log { Net::HTTP.get_response URI.parse(@url) }
14
+ with_log { Net::HTTP.get_response URI.parse(@url) }
15
15
  end
16
16
 
17
17
  private
@@ -39,16 +39,31 @@ module Correios
39
39
  end
40
40
 
41
41
  def with_log
42
- Correios::Frete.log "Correios-Frete Request:\n#{@url}"
42
+ Correios::Frete.log format_request_message
43
43
  response = yield
44
44
  Correios::Frete.log format_response_message(response)
45
45
  response.body
46
46
  end
47
47
 
48
+ def format_request_message
49
+ message = with_line_break { "Correios-Frete Request:" }
50
+ message << with_line_break { @url }
51
+ end
52
+
48
53
  def format_response_message(response)
49
- message = "Correios-Frete Response:\n"
50
- message << "HTTP/#{response.http_version} #{response.code} #{response.message}\n"
51
- message << response.body
54
+ message = with_line_break { "Correios-Frete Response:" }
55
+ message << with_line_break { "HTTP/#{response.http_version} #{response.code} #{response.message}" }
56
+ message << with_line_break { format_headers_for(response) } if Correios::Frete.log_level == :debug
57
+ message << with_line_break { response.body }
58
+ end
59
+
60
+ def format_headers_for(http)
61
+ # I'm using an empty block in each_header method for Ruby 1.8.7 compatibility.
62
+ http.each_header{}.map { |name, values| "#{name}: #{values.first}" }.join("\n")
63
+ end
64
+
65
+ def with_line_break
66
+ "#{yield}\n"
52
67
  end
53
68
  end
54
69
  end
metadata CHANGED
@@ -1,83 +1,93 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: correios-frete
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.2.0
4
5
  prerelease:
5
- version: 1.1.0
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Prodis a.k.a. Fernando Hamasaki
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2011-09-07 00:00:00 -03:00
12
+ date: 2011-10-01 00:00:00.000000000 %:z
14
13
  default_executable:
15
- dependencies:
16
- - !ruby/object:Gem::Dependency
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: log-me
17
+ requirement: &3903580 !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ~>
21
+ - !ruby/object:Gem::Version
22
+ version: 0.0.2
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: *3903580
26
+ - !ruby/object:Gem::Dependency
17
27
  name: nokogiri
18
- requirement: &id001 !ruby/object:Gem::Requirement
28
+ requirement: &3903200 !ruby/object:Gem::Requirement
19
29
  none: false
20
- requirements:
21
- - - ">="
22
- - !ruby/object:Gem::Version
23
- version: "0"
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: 1.4.6
24
34
  type: :runtime
25
35
  prerelease: false
26
- version_requirements: *id001
27
- - !ruby/object:Gem::Dependency
36
+ version_requirements: *3903200
37
+ - !ruby/object:Gem::Dependency
28
38
  name: sax-machine
29
- requirement: &id002 !ruby/object:Gem::Requirement
39
+ requirement: &3902840 !ruby/object:Gem::Requirement
30
40
  none: false
31
- requirements:
32
- - - ">="
33
- - !ruby/object:Gem::Version
34
- version: "0"
41
+ requirements:
42
+ - - ~>
43
+ - !ruby/object:Gem::Version
44
+ version: 0.0.16
35
45
  type: :runtime
36
46
  prerelease: false
37
- version_requirements: *id002
38
- - !ruby/object:Gem::Dependency
47
+ version_requirements: *3902840
48
+ - !ruby/object:Gem::Dependency
39
49
  name: rspec
40
- requirement: &id003 !ruby/object:Gem::Requirement
50
+ requirement: &3902490 !ruby/object:Gem::Requirement
41
51
  none: false
42
- requirements:
43
- - - ">="
44
- - !ruby/object:Gem::Version
45
- version: "0"
52
+ requirements:
53
+ - - ~>
54
+ - !ruby/object:Gem::Version
55
+ version: 2.6.0
46
56
  type: :development
47
57
  prerelease: false
48
- version_requirements: *id003
49
- - !ruby/object:Gem::Dependency
58
+ version_requirements: *3902490
59
+ - !ruby/object:Gem::Dependency
50
60
  name: bundler
51
- requirement: &id004 !ruby/object:Gem::Requirement
61
+ requirement: &3902060 !ruby/object:Gem::Requirement
52
62
  none: false
53
- requirements:
63
+ requirements:
54
64
  - - ~>
55
- - !ruby/object:Gem::Version
65
+ - !ruby/object:Gem::Version
56
66
  version: 1.0.0
57
67
  type: :development
58
68
  prerelease: false
59
- version_requirements: *id004
60
- - !ruby/object:Gem::Dependency
69
+ version_requirements: *3902060
70
+ - !ruby/object:Gem::Dependency
61
71
  name: jeweler
62
- requirement: &id005 !ruby/object:Gem::Requirement
72
+ requirement: &3901610 !ruby/object:Gem::Requirement
63
73
  none: false
64
- requirements:
65
- - - ">="
66
- - !ruby/object:Gem::Version
67
- version: "0"
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: 1.6.2
68
78
  type: :development
69
79
  prerelease: false
70
- version_requirements: *id005
71
- description: "C\xC3\xA1lculo de frete utilizando o Web Service dos Correios (http://www.correios.com.br/webservices). Servi\xC3\xA7os de frete suportados s\xC3\xA3o PAC, SEDEX, SEDEX 10, SEDEX Hoje e e-SEDEX (necess\xC3\xA1rio informar c\xC3\xB3digo de empresa e senha)."
80
+ version_requirements: *3901610
81
+ description: Cálculo de frete utilizando o Web Service dos Correios (http://www.correios.com.br/webservices).
82
+ Serviços de frete suportados são PAC, SEDEX, SEDEX 10, SEDEX Hoje e e-SEDEX (necessário
83
+ informar código de empresa e senha).
72
84
  email: prodis@gmail.com
73
85
  executables: []
74
-
75
86
  extensions: []
76
-
77
- extra_rdoc_files:
87
+ extra_rdoc_files:
78
88
  - README.rdoc
79
89
  - README_v0.3.0.rdoc
80
- files:
90
+ files:
81
91
  - .document
82
92
  - .rspec
83
93
  - CHANGELOG.rdoc
@@ -90,7 +100,6 @@ files:
90
100
  - lib/correios-frete.rb
91
101
  - lib/correios/frete.rb
92
102
  - lib/correios/frete/calculador.rb
93
- - lib/correios/frete/logger.rb
94
103
  - lib/correios/frete/parser.rb
95
104
  - lib/correios/frete/servico.rb
96
105
  - lib/correios/frete/version.rb
@@ -103,31 +112,28 @@ files:
103
112
  - spec/spec_helper.rb
104
113
  has_rdoc: true
105
114
  homepage: http://prodis.blog.br/2011/07/03/gem-para-calculo-de-frete-dos-correios
106
- licenses:
115
+ licenses:
107
116
  - MIT
108
117
  post_install_message:
109
118
  rdoc_options: []
110
-
111
- require_paths:
119
+ require_paths:
112
120
  - lib
113
- required_ruby_version: !ruby/object:Gem::Requirement
121
+ required_ruby_version: !ruby/object:Gem::Requirement
114
122
  none: false
115
- requirements:
116
- - - ">="
117
- - !ruby/object:Gem::Version
123
+ requirements:
124
+ - - ! '>='
125
+ - !ruby/object:Gem::Version
118
126
  version: 1.8.7
119
- required_rubygems_version: !ruby/object:Gem::Requirement
127
+ required_rubygems_version: !ruby/object:Gem::Requirement
120
128
  none: false
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- version: "0"
129
+ requirements:
130
+ - - ! '>='
131
+ - !ruby/object:Gem::Version
132
+ version: '0'
125
133
  requirements: []
126
-
127
134
  rubyforge_project:
128
135
  rubygems_version: 1.6.1
129
136
  signing_key:
130
137
  specification_version: 3
131
- summary: "C\xC3\xA1lculo de frete dos Correios."
138
+ summary: Cálculo de frete dos Correios.
132
139
  test_files: []
133
-
@@ -1,23 +0,0 @@
1
- # encoding: UTF-8
2
- require 'logger'
3
-
4
- module Correios
5
- module Frete
6
- module Logger
7
- attr_writer :log_enabled
8
- attr_writer :logger
9
-
10
- def log_enabled?
11
- @log_enabled != false
12
- end
13
-
14
- def logger
15
- @logger ||= ::Logger.new STDOUT
16
- end
17
-
18
- def log(message)
19
- logger.info(message) if log_enabled?
20
- end
21
- end
22
- end
23
- end