brcotacao 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (170) hide show
  1. checksums.yaml +15 -0
  2. data/Gemfile +1 -1
  3. data/History.txt +2 -0
  4. data/README.mkdn +4 -0
  5. data/lib/brcotacao/errors.rb +11 -3
  6. data/lib/brcotacao/moedas.rb +19 -5
  7. data/lib/brcotacao/version.rb +1 -1
  8. data/spec/moedas/afegane_afeganist_spec.rb +8 -4
  9. data/spec/moedas/ariary_madagascar_spec.rb +8 -4
  10. data/spec/moedas/balboa_panama_spec.rb +8 -4
  11. data/spec/moedas/bath_tailandia_spec.rb +8 -4
  12. data/spec/moedas/birr_etiopia_spec.rb +8 -4
  13. data/spec/moedas/bolivar_forte_ven_spec.rb +8 -4
  14. data/spec/moedas/boliviano_bolivia_spec.rb +8 -4
  15. data/spec/moedas/cedi_gana_spec.rb +8 -4
  16. data/spec/moedas/colon_costa_rica_spec.rb +8 -4
  17. data/spec/moedas/colon_el_salvador_spec.rb +8 -4
  18. data/spec/moedas/cordoba_ouro_spec.rb +8 -4
  19. data/spec/moedas/coroa_dinam_dinam_spec.rb +8 -4
  20. data/spec/moedas/coroa_islnd_islan_spec.rb +8 -4
  21. data/spec/moedas/coroa_norue_norue_spec.rb +8 -4
  22. data/spec/moedas/coroa_sueca_sueci_spec.rb +8 -4
  23. data/spec/moedas/coroa_tcheca_spec.rb +8 -4
  24. data/spec/moedas/dalasi_gambia_spec.rb +8 -4
  25. data/spec/moedas/dinar_argelino_spec.rb +8 -4
  26. data/spec/moedas/dinar_bahrein_spec.rb +8 -4
  27. data/spec/moedas/dinar_iraque_spec.rb +8 -4
  28. data/spec/moedas/dinar_jordania_spec.rb +8 -4
  29. data/spec/moedas/dinar_kwait_spec.rb +8 -4
  30. data/spec/moedas/dinar_libia_spec.rb +8 -4
  31. data/spec/moedas/dinar_macedonia_spec.rb +8 -4
  32. data/spec/moedas/dinar_servio_serv_spec.rb +8 -4
  33. data/spec/moedas/dinar_tunisia_spec.rb +8 -4
  34. data/spec/moedas/direito_especial_spec.rb +8 -4
  35. data/spec/moedas/dirham_emir_arabe_spec.rb +8 -4
  36. data/spec/moedas/dirham_marrocos_spec.rb +8 -4
  37. data/spec/moedas/dobra_s_tome_prin_spec.rb +8 -4
  38. data/spec/moedas/dolar_australiano_spec.rb +8 -4
  39. data/spec/moedas/dolar_bahamas_spec.rb +8 -4
  40. data/spec/moedas/dolar_barbados_spec.rb +8 -4
  41. data/spec/moedas/dolar_belize_spec.rb +8 -4
  42. data/spec/moedas/dolar_bermudas_spec.rb +8 -4
  43. data/spec/moedas/dolar_brunei_spec.rb +8 -4
  44. data/spec/moedas/dolar_canadense_spec.rb +8 -4
  45. data/spec/moedas/dolar_caribe_orie_spec.rb +8 -4
  46. data/spec/moedas/dolar_cayman_spec.rb +8 -4
  47. data/spec/moedas/dolar_cingapura_spec.rb +8 -4
  48. data/spec/moedas/dolar_da_guiana_spec.rb +8 -4
  49. data/spec/moedas/dolar_da_namibia_spec.rb +8 -4
  50. data/spec/moedas/dolar_dos_eua_spec.rb +10 -4
  51. data/spec/moedas/dolar_fiji_spec.rb +8 -4
  52. data/spec/moedas/dolar_hong_kong_spec.rb +8 -4
  53. data/spec/moedas/dolar_il_salomao_spec.rb +8 -4
  54. data/spec/moedas/dolar_jamaica_spec.rb +8 -4
  55. data/spec/moedas/dolar_liberia_spec.rb +8 -4
  56. data/spec/moedas/dolar_nova_zeland_spec.rb +8 -4
  57. data/spec/moedas/dolar_ouro_spec.rb +8 -4
  58. data/spec/moedas/dolar_suriname_spec.rb +8 -4
  59. data/spec/moedas/dolar_trin_tobag_spec.rb +8 -4
  60. data/spec/moedas/dolar_zimbabue_spec.rb +8 -4
  61. data/spec/moedas/dongue_vietnan_spec.rb +8 -4
  62. data/spec/moedas/dram_armenia_rep_spec.rb +8 -4
  63. data/spec/moedas/escudo_cabo_verde_spec.rb +8 -4
  64. data/spec/moedas/euro_spec.rb +8 -4
  65. data/spec/moedas/florim_aruba_spec.rb +8 -4
  66. data/spec/moedas/forint_hungria_spec.rb +8 -4
  67. data/spec/moedas/franco_burundi_spec.rb +8 -4
  68. data/spec/moedas/franco_cfa_bceao_spec.rb +8 -4
  69. data/spec/moedas/franco_cfa_beac_spec.rb +8 -4
  70. data/spec/moedas/franco_cfp_spec.rb +8 -4
  71. data/spec/moedas/franco_comores_spec.rb +8 -4
  72. data/spec/moedas/franco_congoles_spec.rb +8 -4
  73. data/spec/moedas/franco_djibuti_spec.rb +8 -4
  74. data/spec/moedas/franco_guine_spec.rb +8 -4
  75. data/spec/moedas/franco_ruanda_spec.rb +8 -4
  76. data/spec/moedas/franco_suico_spec.rb +8 -4
  77. data/spec/moedas/gourde_haiti_spec.rb +8 -4
  78. data/spec/moedas/guarani_paraguai_spec.rb +8 -4
  79. data/spec/moedas/guilder_antilhas_spec.rb +8 -4
  80. data/spec/moedas/hyrvnia_ucrania_spec.rb +8 -4
  81. data/spec/moedas/iene_spec.rb +8 -4
  82. data/spec/moedas/iuan_renmimbi_chi_spec.rb +8 -4
  83. data/spec/moedas/kina_papua_n_guin_spec.rb +8 -4
  84. data/spec/moedas/kuna_croacia_spec.rb +8 -4
  85. data/spec/moedas/kwanza_angola_spec.rb +8 -4
  86. data/spec/moedas/lari_georgia_spec.rb +8 -4
  87. data/spec/moedas/lat_letonia_rep_spec.rb +8 -4
  88. data/spec/moedas/lek_albania_rep_spec.rb +8 -4
  89. data/spec/moedas/lempira_honduras_spec.rb +8 -4
  90. data/spec/moedas/leone_serra_leoa_spec.rb +8 -4
  91. data/spec/moedas/leu_moldavia_rep_spec.rb +8 -4
  92. data/spec/moedas/lev_bulgaria_rep_spec.rb +8 -4
  93. data/spec/moedas/libra_egito_spec.rb +8 -4
  94. data/spec/moedas/libra_esterlina_spec.rb +8 -4
  95. data/spec/moedas/libra_falkland_spec.rb +8 -4
  96. data/spec/moedas/libra_gibraltar_spec.rb +8 -4
  97. data/spec/moedas/libra_libano_spec.rb +8 -4
  98. data/spec/moedas/libra_siria_rep_spec.rb +8 -4
  99. data/spec/moedas/libra_sta_helena_spec.rb +8 -4
  100. data/spec/moedas/lilangeni_suazil_spec.rb +8 -4
  101. data/spec/moedas/lita_lituania_spec.rb +8 -4
  102. data/spec/moedas/loti_lesoto_spec.rb +8 -4
  103. data/spec/moedas/manat_arzebaijao_spec.rb +8 -4
  104. data/spec/moedas/marco_conv_bosnia_spec.rb +8 -4
  105. data/spec/moedas/naira_nigeria_spec.rb +8 -4
  106. data/spec/moedas/nakfa_eritreia_spec.rb +8 -4
  107. data/spec/moedas/ngultrum_butao_spec.rb +8 -4
  108. data/spec/moedas/nova_libra_sudane_spec.rb +8 -4
  109. data/spec/moedas/nova_lira_turquia_spec.rb +8 -4
  110. data/spec/moedas/nova_metical_moca_spec.rb +8 -4
  111. data/spec/moedas/novo_dolar_taiwan_spec.rb +8 -4
  112. data/spec/moedas/novo_leu_romenia_spec.rb +8 -4
  113. data/spec/moedas/novo_manat_turcom_spec.rb +8 -4
  114. data/spec/moedas/novo_sol_peru_spec.rb +8 -4
  115. data/spec/moedas/paanga_tonga_spec.rb +8 -4
  116. data/spec/moedas/pataca_macau_spec.rb +8 -4
  117. data/spec/moedas/peso_argentina_spec.rb +8 -4
  118. data/spec/moedas/peso_chile_spec.rb +8 -4
  119. data/spec/moedas/peso_colombia_spec.rb +8 -4
  120. data/spec/moedas/peso_cuba_spec.rb +8 -4
  121. data/spec/moedas/peso_filipinas_spec.rb +8 -4
  122. data/spec/moedas/peso_guine_bissau_spec.rb +8 -4
  123. data/spec/moedas/peso_mexico_spec.rb +8 -4
  124. data/spec/moedas/peso_rep_dominic_spec.rb +8 -4
  125. data/spec/moedas/peso_uruguaio_spec.rb +8 -4
  126. data/spec/moedas/pula_botswana_spec.rb +8 -4
  127. data/spec/moedas/quacha_malavi_spec.rb +8 -4
  128. data/spec/moedas/quacha_zambia_spec.rb +8 -4
  129. data/spec/moedas/quetzal_guatemala_spec.rb +8 -4
  130. data/spec/moedas/quiate_birmania_spec.rb +8 -4
  131. data/spec/moedas/quipe_laos_rep_spec.rb +8 -4
  132. data/spec/moedas/rande_africa_sul_spec.rb +8 -4
  133. data/spec/moedas/real_brasil_spec.rb +8 -4
  134. data/spec/moedas/rial_arab_saudita_spec.rb +8 -4
  135. data/spec/moedas/rial_catar_spec.rb +8 -4
  136. data/spec/moedas/rial_iemen_spec.rb +8 -4
  137. data/spec/moedas/rial_iran_rep_spec.rb +8 -4
  138. data/spec/moedas/rial_oma_spec.rb +8 -4
  139. data/spec/moedas/riel_camboja_spec.rb +8 -4
  140. data/spec/moedas/ringgit_malasia_spec.rb +8 -4
  141. data/spec/moedas/rublo_belarus_spec.rb +8 -4
  142. data/spec/moedas/rublo_russia_spec.rb +8 -4
  143. data/spec/moedas/rufia_maldivas_spec.rb +8 -4
  144. data/spec/moedas/rupia_india_spec.rb +8 -4
  145. data/spec/moedas/rupia_indonesia_spec.rb +8 -4
  146. data/spec/moedas/rupia_mauricio_spec.rb +8 -4
  147. data/spec/moedas/rupia_nepal_spec.rb +8 -4
  148. data/spec/moedas/rupia_paquistao_spec.rb +8 -4
  149. data/spec/moedas/rupia_seycheles_spec.rb +8 -4
  150. data/spec/moedas/rupia_sri_lanka_spec.rb +8 -4
  151. data/spec/moedas/shekel_israel_spec.rb +8 -4
  152. data/spec/moedas/som_quirguistao_spec.rb +8 -4
  153. data/spec/moedas/som_uzbequistao_spec.rb +8 -4
  154. data/spec/moedas/somoni_tadjiquist_spec.rb +8 -4
  155. data/spec/moedas/taca_bangladesh_spec.rb +8 -4
  156. data/spec/moedas/tala_samoa_oc_spec.rb +8 -4
  157. data/spec/moedas/tenge_cazaquistao_spec.rb +8 -4
  158. data/spec/moedas/tugrik_mongolia_spec.rb +8 -4
  159. data/spec/moedas/unid_fomento_chil_spec.rb +8 -4
  160. data/spec/moedas/unid_monet_europ_spec.rb +8 -4
  161. data/spec/moedas/vatu_vanuatu_spec.rb +8 -4
  162. data/spec/moedas/won_coreia_norte_spec.rb +8 -4
  163. data/spec/moedas/won_coreia_sul_spec.rb +8 -4
  164. data/spec/moedas/xelim_quenia_spec.rb +8 -4
  165. data/spec/moedas/xelim_somalia_spec.rb +8 -4
  166. data/spec/moedas/xelim_tanzania_spec.rb +8 -4
  167. data/spec/moedas/xelim_uganda_spec.rb +8 -4
  168. data/spec/moedas/zloty_polonia_spec.rb +8 -4
  169. data/spec/shared_tests/moedas.rb +33 -4
  170. metadata +23 -47
checksums.yaml ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ YWJlY2FlOTM1OWJhMDUzZWM3Y2Y4MDNkNmE0MzdjMjFhN2MxODU3Mw==
5
+ data.tar.gz: !binary |-
6
+ ODc1ZWJiYWRiNjhkZWQ1MzUzNWYyODU3Njc3OGU2YjdhZDNiMTM3Yg==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ OTlhNzMxMmYxNmNhYmUwNjU0YWJjMTNhMjIwNjQzZjhmMjExMzcwZTI1YzRl
10
+ N2IwYzY0YTI5MDg2MTJlNmY4YzdiYmE0ODYwNDA4OTI4N2Y2NzA0OGM5ZDA0
11
+ Nzk3OTYzZjQ2ZTNkMjgzMTNmZDg0NjBlYmRhNjJiOGUyMTAwMGM=
12
+ data.tar.gz: !binary |-
13
+ N2ZlNDBjZDljMTMxZGE3N2NiMWJmYTFjMDY1OGZhYjk3Nzk5NzY2MGQzOThh
14
+ MjZlNTJlYmYyOWQ4NjA3ZWNkNWIxZWRiOGM5N2M3ZDFhMjhjNjIwMWU3NjNk
15
+ ODU0YTk4ZGJlMjYzMDVjOGFjMDI5MjRmN2QyMGYwMTQ2ZDFhMDY=
data/Gemfile CHANGED
@@ -3,6 +3,6 @@ source "http://rubygems.org"
3
3
  # Specify your gem's dependencies in brcotacao.gemspec
4
4
  gemspec
5
5
  group :test do
6
- gem rake
6
+ gem 'rake'
7
7
  gem 'rspec'
8
8
  end
data/History.txt CHANGED
@@ -1,3 +1,5 @@
1
+ v0.0.3
2
+ Adicionado cotação em tempo real para as moedas
1
3
  v0.0.2
2
4
  Segunda versão com testes em rspec e classes criadas dinamicamente
3
5
  v0.0.1
data/README.mkdn CHANGED
@@ -32,6 +32,8 @@ dolar_americano.compra(uma_data) # => 1.8123
32
32
 
33
33
  dolar_americano.venda(uma_data) # => 1.813
34
34
 
35
+ dolar_americano.compra_agora # => 1.902
36
+
35
37
 
36
38
  euro = BrCotacao::Euro.new
37
39
 
@@ -41,6 +43,8 @@ euro.compra(uma_data) # => 2.423
41
43
 
42
44
  euro.venda(uma_data) # => 2.4242
43
45
 
46
+ euro.compra_agora # => 2.4039
47
+
44
48
 
45
49
  ## Documentação
46
50
  A documentação, atualmente, encontra-se em http://brcotacaodoc.brunovicenzo.com/
@@ -14,11 +14,11 @@ module BrCotacao
14
14
  # * por por alguma mudança no endereço do serviço;
15
15
  # * ou pelo abandono do serviço por parte do Banco Central.
16
16
  class ConexaoMalSucedidaError < RuntimeError
17
-
17
+
18
18
  def initialize
19
19
  super("A Conexão não ocorreu corretamente.")
20
20
  end
21
-
21
+
22
22
  end
23
23
 
24
24
  # Classe usada para lançar erros para quando a biblioteca não receber do Banco central
@@ -30,7 +30,15 @@ module BrCotacao
30
30
  def initialize(data)
31
31
  super("A cotação não foi encontrada para o dia #{data.strftime('%d/%m/%Y')}.")
32
32
  end
33
-
33
+
34
+ end
35
+
36
+ class CotacaoAgoraNaoEncontradaError < RuntimeError
37
+
38
+ def initialize(data)
39
+ super("A cotação não está disponível para o dia #{data.strftime('%d/%m/%Y')}, #{data.strftime('%H:%M')}.")
40
+ end
41
+
34
42
  end
35
43
 
36
44
  end
@@ -1,4 +1,6 @@
1
1
  # ecoding: utf-8
2
+ require 'csv'
3
+ require 'time'
2
4
  module BrCotacao
3
5
 
4
6
 
@@ -10,7 +12,9 @@ module BrCotacao
10
12
  # Licença:: GPL
11
13
  module Moeda
12
14
 
13
- FONTE_INFORMACAO = 'http://www4.bcb.gov.br/Download/fechamento/'.freeze
15
+ FONTE_INFORMACAO = 'http://www4.bcb.gov.br/Download/fechamento/'.freeze
16
+ FONTE_INFORMACAO_TEMPO_REAL = 'http://download.finance.yahoo.com/d/quotes.body?'
17
+
14
18
  POSICAO_CODIGO_MOEDA = 1
15
19
  POSICAO_VALOR_COMPRA = 4
16
20
  POSICAO_VALOR_VENDA = 5
@@ -48,6 +52,20 @@ module BrCotacao
48
52
  cotacoes_moeda.nil? ? nil : {:compra => cotacoes_moeda[1].gsub(',', '.').to_f, :venda => cotacoes_moeda[2].gsub(',', '.').to_f}
49
53
  end
50
54
 
55
+ # Devolve o valor da cotação em tempo real de acordo com o serviço do Yahoo!.
56
+ # É retornado um hash contendo o valor de compra da moeda e a data que foi feita a consulta (dia e horário)
57
+ def cotacao_agora
58
+ endereco = URI.parse("#{FONTE_INFORMACAO_TEMPO_REAL}s=#{dados.simbolo}BRL=X&f=nl1d1t1")
59
+ conexao = Net::HTTP.new(endereco.host)
60
+ resposta = conexao.get("#{endereco.path}?#{endereco.query}")
61
+ raise BrCotacao::Errors::CotacaoAgoraNaoEncontradaError.new(Time.now) unless resposta.msg.eql? 'OK'
62
+
63
+ cotacao = CSV.parse(resposta.body).first
64
+ data = Date.strptime(cotacao[2], '%m/%d/%Y').strftime('%Y-%m-%d')
65
+
66
+ {:compra => cotacao[1].to_f, :data => Time.parse("#{data} #{cotacao[3]} -0400")}
67
+ end
68
+
51
69
  private
52
70
 
53
71
  # Devolve as cotacoes das moedas em uma matriz onde cada linha contém:
@@ -83,13 +101,10 @@ module BrCotacao
83
101
 
84
102
  cotacoes.body
85
103
  end
86
-
87
104
  end
88
105
 
89
-
90
106
  moedas = BrCotacao::Configuracao.moedas
91
107
 
92
-
93
108
  moedas.each do |moeda|
94
109
  self.class_eval %{
95
110
  class #{moeda[:classe]}
@@ -107,5 +122,4 @@ module BrCotacao
107
122
  end
108
123
  }
109
124
  end
110
-
111
125
  end
@@ -1,3 +1,3 @@
1
1
  module Brcotacao
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -16,7 +16,7 @@ describe BrCotacao::AfeganeAfeganist do
16
16
  let(:valor_esperado) { {:compra => 0.03728, :venda => 0.0373} }
17
17
 
18
18
  before do
19
- Net::HTTP.any_instance.stub(:get).and_return(mock(:msg => 'OK', :body => fixure('20111209.csv')))
19
+ Net::HTTP.any_instance.stub(:get).and_return(double(:msg => 'OK', :body => fixure('20111209.csv')))
20
20
  end
21
21
 
22
22
  it_should_behave_like 'dia com cotacao', :cotacao
@@ -37,7 +37,7 @@ describe BrCotacao::AfeganeAfeganist do
37
37
  let(:valor_esperado) { 0.03728 }
38
38
 
39
39
  before do
40
- Net::HTTP.any_instance.stub(:get).and_return(mock(:msg => 'OK', :body => fixure('20111209.csv')))
40
+ Net::HTTP.any_instance.stub(:get).and_return(double(:msg => 'OK', :body => fixure('20111209.csv')))
41
41
  end
42
42
 
43
43
  it_should_behave_like 'dia com cotacao', :compra
@@ -58,11 +58,15 @@ describe BrCotacao::AfeganeAfeganist do
58
58
  let(:valor_esperado) { 0.0373 }
59
59
 
60
60
  before do
61
- Net::HTTP.any_instance.stub(:get).and_return(mock(:msg => 'OK', :body => fixure('20111209.csv')))
61
+ Net::HTTP.any_instance.stub(:get).and_return(double(:msg => 'OK', :body => fixure('20111209.csv')))
62
62
  end
63
63
 
64
64
  it_should_behave_like 'dia com cotacao', :venda
65
65
  end
66
66
  end
67
67
  end
68
- end
68
+
69
+ describe '.cotacao_agora' do
70
+ it_should_behave_like 'cotacao tempo real', :cotacao_agora
71
+ end
72
+ end
@@ -16,7 +16,7 @@ describe BrCotacao::AriaryMadagascar do
16
16
  let(:valor_esperado) { {:compra => 0.0008569, :venda => 0.0008691} }
17
17
 
18
18
  before do
19
- Net::HTTP.any_instance.stub(:get).and_return(mock(:msg => 'OK', :body => fixure('20111209.csv')))
19
+ Net::HTTP.any_instance.stub(:get).and_return(double(:msg => 'OK', :body => fixure('20111209.csv')))
20
20
  end
21
21
 
22
22
  it_should_behave_like 'dia com cotacao', :cotacao
@@ -37,7 +37,7 @@ describe BrCotacao::AriaryMadagascar do
37
37
  let(:valor_esperado) { 0.0008569 }
38
38
 
39
39
  before do
40
- Net::HTTP.any_instance.stub(:get).and_return(mock(:msg => 'OK', :body => fixure('20111209.csv')))
40
+ Net::HTTP.any_instance.stub(:get).and_return(double(:msg => 'OK', :body => fixure('20111209.csv')))
41
41
  end
42
42
 
43
43
  it_should_behave_like 'dia com cotacao', :compra
@@ -58,11 +58,15 @@ describe BrCotacao::AriaryMadagascar do
58
58
  let(:valor_esperado) { 0.0008691 }
59
59
 
60
60
  before do
61
- Net::HTTP.any_instance.stub(:get).and_return(mock(:msg => 'OK', :body => fixure('20111209.csv')))
61
+ Net::HTTP.any_instance.stub(:get).and_return(double(:msg => 'OK', :body => fixure('20111209.csv')))
62
62
  end
63
63
 
64
64
  it_should_behave_like 'dia com cotacao', :venda
65
65
  end
66
66
  end
67
67
  end
68
- end
68
+
69
+ describe '.cotacao_agora' do
70
+ it_should_behave_like 'cotacao tempo real', :cotacao_agora
71
+ end
72
+ end
@@ -16,7 +16,7 @@ describe BrCotacao::BalboaPanama do
16
16
  let(:valor_esperado) { {:compra => 1.8123, :venda => 1.813} }
17
17
 
18
18
  before do
19
- Net::HTTP.any_instance.stub(:get).and_return(mock(:msg => 'OK', :body => fixure('20111209.csv')))
19
+ Net::HTTP.any_instance.stub(:get).and_return(double(:msg => 'OK', :body => fixure('20111209.csv')))
20
20
  end
21
21
 
22
22
  it_should_behave_like 'dia com cotacao', :cotacao
@@ -37,7 +37,7 @@ describe BrCotacao::BalboaPanama do
37
37
  let(:valor_esperado) { 1.8123 }
38
38
 
39
39
  before do
40
- Net::HTTP.any_instance.stub(:get).and_return(mock(:msg => 'OK', :body => fixure('20111209.csv')))
40
+ Net::HTTP.any_instance.stub(:get).and_return(double(:msg => 'OK', :body => fixure('20111209.csv')))
41
41
  end
42
42
 
43
43
  it_should_behave_like 'dia com cotacao', :compra
@@ -58,11 +58,15 @@ describe BrCotacao::BalboaPanama do
58
58
  let(:valor_esperado) { 1.813 }
59
59
 
60
60
  before do
61
- Net::HTTP.any_instance.stub(:get).and_return(mock(:msg => 'OK', :body => fixure('20111209.csv')))
61
+ Net::HTTP.any_instance.stub(:get).and_return(double(:msg => 'OK', :body => fixure('20111209.csv')))
62
62
  end
63
63
 
64
64
  it_should_behave_like 'dia com cotacao', :venda
65
65
  end
66
66
  end
67
67
  end
68
- end
68
+
69
+ describe '.cotacao_agora' do
70
+ it_should_behave_like 'cotacao tempo real', :cotacao_agora
71
+ end
72
+ end
@@ -16,7 +16,7 @@ describe BrCotacao::BathTailandia do
16
16
  let(:valor_esperado) { {:compra => 0.05859, :venda => 0.05865} }
17
17
 
18
18
  before do
19
- Net::HTTP.any_instance.stub(:get).and_return(mock(:msg => 'OK', :body => fixure('20111209.csv')))
19
+ Net::HTTP.any_instance.stub(:get).and_return(double(:msg => 'OK', :body => fixure('20111209.csv')))
20
20
  end
21
21
 
22
22
  it_should_behave_like 'dia com cotacao', :cotacao
@@ -37,7 +37,7 @@ describe BrCotacao::BathTailandia do
37
37
  let(:valor_esperado) { 0.05859 }
38
38
 
39
39
  before do
40
- Net::HTTP.any_instance.stub(:get).and_return(mock(:msg => 'OK', :body => fixure('20111209.csv')))
40
+ Net::HTTP.any_instance.stub(:get).and_return(double(:msg => 'OK', :body => fixure('20111209.csv')))
41
41
  end
42
42
 
43
43
  it_should_behave_like 'dia com cotacao', :compra
@@ -58,11 +58,15 @@ describe BrCotacao::BathTailandia do
58
58
  let(:valor_esperado) { 0.05865 }
59
59
 
60
60
  before do
61
- Net::HTTP.any_instance.stub(:get).and_return(mock(:msg => 'OK', :body => fixure('20111209.csv')))
61
+ Net::HTTP.any_instance.stub(:get).and_return(double(:msg => 'OK', :body => fixure('20111209.csv')))
62
62
  end
63
63
 
64
64
  it_should_behave_like 'dia com cotacao', :venda
65
65
  end
66
66
  end
67
67
  end
68
- end
68
+
69
+ describe '.cotacao_agora' do
70
+ it_should_behave_like 'cotacao tempo real', :cotacao_agora
71
+ end
72
+ end
@@ -16,7 +16,7 @@ describe BrCotacao::BirrEtiopia do
16
16
  let(:valor_esperado) { {:compra => 0.1038, :venda => 0.1061} }
17
17
 
18
18
  before do
19
- Net::HTTP.any_instance.stub(:get).and_return(mock(:msg => 'OK', :body => fixure('20111209.csv')))
19
+ Net::HTTP.any_instance.stub(:get).and_return(double(:msg => 'OK', :body => fixure('20111209.csv')))
20
20
  end
21
21
 
22
22
  it_should_behave_like 'dia com cotacao', :cotacao
@@ -37,7 +37,7 @@ describe BrCotacao::BirrEtiopia do
37
37
  let(:valor_esperado) { 0.1038 }
38
38
 
39
39
  before do
40
- Net::HTTP.any_instance.stub(:get).and_return(mock(:msg => 'OK', :body => fixure('20111209.csv')))
40
+ Net::HTTP.any_instance.stub(:get).and_return(double(:msg => 'OK', :body => fixure('20111209.csv')))
41
41
  end
42
42
 
43
43
  it_should_behave_like 'dia com cotacao', :compra
@@ -58,11 +58,15 @@ describe BrCotacao::BirrEtiopia do
58
58
  let(:valor_esperado) { 0.1061 }
59
59
 
60
60
  before do
61
- Net::HTTP.any_instance.stub(:get).and_return(mock(:msg => 'OK', :body => fixure('20111209.csv')))
61
+ Net::HTTP.any_instance.stub(:get).and_return(double(:msg => 'OK', :body => fixure('20111209.csv')))
62
62
  end
63
63
 
64
64
  it_should_behave_like 'dia com cotacao', :venda
65
65
  end
66
66
  end
67
67
  end
68
- end
68
+
69
+ describe '.cotacao_agora' do
70
+ it_should_behave_like 'cotacao tempo real', :cotacao_agora
71
+ end
72
+ end
@@ -16,7 +16,7 @@ describe BrCotacao::BolivarForteVen do
16
16
  let(:valor_esperado) { {:compra => 0.4215, :venda => 0.4227} }
17
17
 
18
18
  before do
19
- Net::HTTP.any_instance.stub(:get).and_return(mock(:msg => 'OK', :body => fixure('20111209.csv')))
19
+ Net::HTTP.any_instance.stub(:get).and_return(double(:msg => 'OK', :body => fixure('20111209.csv')))
20
20
  end
21
21
 
22
22
  it_should_behave_like 'dia com cotacao', :cotacao
@@ -37,7 +37,7 @@ describe BrCotacao::BolivarForteVen do
37
37
  let(:valor_esperado) { 0.4215 }
38
38
 
39
39
  before do
40
- Net::HTTP.any_instance.stub(:get).and_return(mock(:msg => 'OK', :body => fixure('20111209.csv')))
40
+ Net::HTTP.any_instance.stub(:get).and_return(double(:msg => 'OK', :body => fixure('20111209.csv')))
41
41
  end
42
42
 
43
43
  it_should_behave_like 'dia com cotacao', :compra
@@ -58,11 +58,15 @@ describe BrCotacao::BolivarForteVen do
58
58
  let(:valor_esperado) { 0.4227 }
59
59
 
60
60
  before do
61
- Net::HTTP.any_instance.stub(:get).and_return(mock(:msg => 'OK', :body => fixure('20111209.csv')))
61
+ Net::HTTP.any_instance.stub(:get).and_return(double(:msg => 'OK', :body => fixure('20111209.csv')))
62
62
  end
63
63
 
64
64
  it_should_behave_like 'dia com cotacao', :venda
65
65
  end
66
66
  end
67
67
  end
68
- end
68
+
69
+ describe '.cotacao_agora' do
70
+ it_should_behave_like 'cotacao tempo real', :cotacao_agora
71
+ end
72
+ end
@@ -16,7 +16,7 @@ describe BrCotacao::BolivianoBolivia do
16
16
  let(:valor_esperado) { {:compra => 0.2613, :venda => 0.2614} }
17
17
 
18
18
  before do
19
- Net::HTTP.any_instance.stub(:get).and_return(mock(:msg => 'OK', :body => fixure('20111209.csv')))
19
+ Net::HTTP.any_instance.stub(:get).and_return(double(:msg => 'OK', :body => fixure('20111209.csv')))
20
20
  end
21
21
 
22
22
  it_should_behave_like 'dia com cotacao', :cotacao
@@ -37,7 +37,7 @@ describe BrCotacao::BolivianoBolivia do
37
37
  let(:valor_esperado) { 0.2613 }
38
38
 
39
39
  before do
40
- Net::HTTP.any_instance.stub(:get).and_return(mock(:msg => 'OK', :body => fixure('20111209.csv')))
40
+ Net::HTTP.any_instance.stub(:get).and_return(double(:msg => 'OK', :body => fixure('20111209.csv')))
41
41
  end
42
42
 
43
43
  it_should_behave_like 'dia com cotacao', :compra
@@ -58,11 +58,15 @@ describe BrCotacao::BolivianoBolivia do
58
58
  let(:valor_esperado) { 0.2614 }
59
59
 
60
60
  before do
61
- Net::HTTP.any_instance.stub(:get).and_return(mock(:msg => 'OK', :body => fixure('20111209.csv')))
61
+ Net::HTTP.any_instance.stub(:get).and_return(double(:msg => 'OK', :body => fixure('20111209.csv')))
62
62
  end
63
63
 
64
64
  it_should_behave_like 'dia com cotacao', :venda
65
65
  end
66
66
  end
67
67
  end
68
- end
68
+
69
+ describe '.cotacao_agora' do
70
+ it_should_behave_like 'cotacao tempo real', :cotacao_agora
71
+ end
72
+ end
@@ -16,7 +16,7 @@ describe BrCotacao::CediGana do
16
16
  let(:valor_esperado) { {:compra => 1.1, :venda => 1.1035} }
17
17
 
18
18
  before do
19
- Net::HTTP.any_instance.stub(:get).and_return(mock(:msg => 'OK', :body => fixure('20111209.csv')))
19
+ Net::HTTP.any_instance.stub(:get).and_return(double(:msg => 'OK', :body => fixure('20111209.csv')))
20
20
  end
21
21
 
22
22
  it_should_behave_like 'dia com cotacao', :cotacao
@@ -37,7 +37,7 @@ describe BrCotacao::CediGana do
37
37
  let(:valor_esperado) { 1.1 }
38
38
 
39
39
  before do
40
- Net::HTTP.any_instance.stub(:get).and_return(mock(:msg => 'OK', :body => fixure('20111209.csv')))
40
+ Net::HTTP.any_instance.stub(:get).and_return(double(:msg => 'OK', :body => fixure('20111209.csv')))
41
41
  end
42
42
 
43
43
  it_should_behave_like 'dia com cotacao', :compra
@@ -58,11 +58,15 @@ describe BrCotacao::CediGana do
58
58
  let(:valor_esperado) { 1.1035 }
59
59
 
60
60
  before do
61
- Net::HTTP.any_instance.stub(:get).and_return(mock(:msg => 'OK', :body => fixure('20111209.csv')))
61
+ Net::HTTP.any_instance.stub(:get).and_return(double(:msg => 'OK', :body => fixure('20111209.csv')))
62
62
  end
63
63
 
64
64
  it_should_behave_like 'dia com cotacao', :venda
65
65
  end
66
66
  end
67
67
  end
68
- end
68
+
69
+ describe '.cotacao_agora' do
70
+ it_should_behave_like 'cotacao tempo real', :cotacao_agora
71
+ end
72
+ end
@@ -16,7 +16,7 @@ describe BrCotacao::ColonCostaRica do
16
16
  let(:valor_esperado) { {:compra => 0.003532, :venda => 0.003684} }
17
17
 
18
18
  before do
19
- Net::HTTP.any_instance.stub(:get).and_return(mock(:msg => 'OK', :body => fixure('20111209.csv')))
19
+ Net::HTTP.any_instance.stub(:get).and_return(double(:msg => 'OK', :body => fixure('20111209.csv')))
20
20
  end
21
21
 
22
22
  it_should_behave_like 'dia com cotacao', :cotacao
@@ -37,7 +37,7 @@ describe BrCotacao::ColonCostaRica do
37
37
  let(:valor_esperado) { 0.003532 }
38
38
 
39
39
  before do
40
- Net::HTTP.any_instance.stub(:get).and_return(mock(:msg => 'OK', :body => fixure('20111209.csv')))
40
+ Net::HTTP.any_instance.stub(:get).and_return(double(:msg => 'OK', :body => fixure('20111209.csv')))
41
41
  end
42
42
 
43
43
  it_should_behave_like 'dia com cotacao', :compra
@@ -58,11 +58,15 @@ describe BrCotacao::ColonCostaRica do
58
58
  let(:valor_esperado) { 0.003684 }
59
59
 
60
60
  before do
61
- Net::HTTP.any_instance.stub(:get).and_return(mock(:msg => 'OK', :body => fixure('20111209.csv')))
61
+ Net::HTTP.any_instance.stub(:get).and_return(double(:msg => 'OK', :body => fixure('20111209.csv')))
62
62
  end
63
63
 
64
64
  it_should_behave_like 'dia com cotacao', :venda
65
65
  end
66
66
  end
67
67
  end
68
- end
68
+
69
+ describe '.cotacao_agora' do
70
+ it_should_behave_like 'cotacao tempo real', :cotacao_agora
71
+ end
72
+ end