brcotacao 0.0.2 → 0.0.3

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.
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