bovespa 0.5.5 → 0.5.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,12 +1,12 @@
1
1
  == BOVESPA
2
2
  É uma biblioteca ruby para lidar com a bolsa de valores Bovespa. Ela está dividade em duas classes:
3
- * Cotacao - Para obter a cotação de papéis pelo serviço gratuito da bolsa de valores (com deley de 15 min)
3
+ * Cotacao - Para obter a cotação de papéis pelo serviço gratuito da bolsa de valores (com delay de 15 min)
4
4
  * Historico - Para ler os arquivos de posição da Série Histórica da Bovespa.
5
5
 
6
6
  Ainda não testado no Ruby 1.9
7
7
 
8
8
  === Bovespa::Cotacao
9
- Para usar, faça uma classe que herde de Bovespa::Cotacao. Ao instanciar, um objeto, ele automaticamente ganhará os atributos correspondentes ao papel. Veja o exemplo de uso.
9
+ Para usar, faça uma classe que herde de Bovespa::Cotacao. Ao instanciar um objeto, ele automaticamente ganhará os atributos correspondentes ao papel. Veja o exemplo de uso.
10
10
 
11
11
  class MinhaClasse < Bovespa::Cotacao
12
12
  end
@@ -35,7 +35,7 @@ http://marcofnogueira.wordpress.com/2010/12/01/cotacoes-das-acoes-na-bolsa-de-va
35
35
 
36
36
  ===Bovespa::Historico
37
37
 
38
- Para ler os arquivos de posição da Série Histórica, faça sua classe herdar de Bovespa::Historico, e acesse os valores de cada papel, como no exemplo. Cada arquivo representa um dia com informações obre todos os papéis.
38
+ Para ler os arquivos de posição da Série Histórica, faça sua classe herdar de Bovespa::Historico, e acesse os valores de cada papel, como no exemplo. Cada arquivo representa um dia com informações sobre todos os papéis.
39
39
 
40
40
  class OutraClasse < Bovespa::Historico
41
41
  end
@@ -46,7 +46,7 @@ Para ler os arquivos de posição da Série Histórica, faça sua classe herdar
46
46
  dia.petr4["codneg"]
47
47
  dia.petr4["preabre"]
48
48
 
49
- Para um lista com com todos , consulte o código:
49
+ Para um lista com todos as opções de informação disponivel, consulte o código:
50
50
  https://github.com/marcofognog/bovespa/blob/master/lib/bovespa/historico.rb
51
51
 
52
52
  E não deixe de ler o leiaute dos arquivos:
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'bovespa'
3
- s.version = '0.5.5'
3
+ s.version = '0.5.6'
4
4
  s.summary = 'Biblioteca Ruby para ler arquivos da Série Histórica da Bovespa e obter cotção direto na Bovespa.'
5
5
  s.description = 'Biblioteca Ruby para ler arquivos da Série Histórica da Bovespa e obter cotção direto na Bovespa usando o serviço gratuito.'
6
6
  s.files = `git ls-files`.split("\n")
@@ -9,7 +9,7 @@ Gem::Specification.new do |s|
9
9
  s.authors = ["Marco Antonio Fogaça Nogueira"]
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 1.3.7")
11
11
  s.add_dependency('nokogiri', '>= 1.4.4')
12
- s.add_dependency('posifile', '>=0.2.4')
12
+ s.add_dependency('posifile', '>=0.2.5')
13
13
  s.email = ["marcofognog@gmail.com"]
14
14
  s.require_paths = ["lib"]
15
15
  end
@@ -6,26 +6,25 @@ module Bovespa
6
6
  attr_accessor :raw_attributes
7
7
 
8
8
  def initialize(nome_do_ativo)
9
- uri = URI.parse("http://www.bmfbovespa.com.br/cotacoes2000/formCotacoesMobile.asp?codsocemi="+nome_do_ativo)
9
+ uri = URI.parse("http://www.bmfbovespa.com.br/cotacoes2000/formCotacoesMobile.asp?codsocemi=" + nome_do_ativo)
10
10
  res = Net::HTTP.start(uri.host, uri.port) do |http|
11
- http.get("/cotacoes2000/formCotacoesMobile.asp?codsocemi="+nome_do_ativo)
11
+ http.get("/cotacoes2000/formCotacoesMobile.asp?codsocemi=" + nome_do_ativo)
12
12
  end
13
13
  xml = Nokogiri::XML(res.body)
14
14
  raw_attr = {}
15
15
  xml.css("PAPEL").each do |node|
16
- @raw_attributes = node
16
+ @raw_attributes = node
17
17
  end
18
18
  create_attributes
19
19
  end
20
20
 
21
21
  def create_attributes
22
- attr_list = ["codigo", "delay", "data", "hora", "oscilacao", "valor_ultimo", "quant_neg", "mercado","descricao"]
22
+ attr_list = ["codigo", "delay", "data", "hora", "oscilacao", "valor_ultimo", "quant_neg", "mercado", "descricao"]
23
23
  attr_list.each do |method_name|
24
24
  self.instance_eval("def #{method_name}; @raw_attributes['#{method_name.upcase}']; end")
25
25
  end
26
26
  end
27
27
 
28
- # more attributes
29
28
  def ultimo_valor
30
29
  valor_ultimo
31
30
  end
@@ -37,5 +36,6 @@ module Bovespa
37
36
  return false
38
37
  end
39
38
  end
39
+
40
40
  end
41
41
  end
@@ -2,46 +2,47 @@
2
2
 
3
3
  require 'rubygems'
4
4
  require 'posifile'
5
+
5
6
  module Bovespa
6
- class Historico< Posifile
7
+ class Historico < Posifile
7
8
 
8
- lines_where(0..1,"00") do # header
9
- set_specification("nome_do_arquivo"=>2..14,"codigo_de_origem"=>15..22,"data_de_geracao_do_arquivo"=>23..30)
9
+ lines_where(0..1, "00") do # header
10
+ set_specification("nome_do_arquivo" => 2..14, "codigo_de_origem" => 15..22, "data_de_geracao_do_arquivo" => 23..30)
10
11
  end
11
12
 
12
13
  lines_where(0..1,"01") do # Atriutos dos ativos
13
14
  set_specification( "codneg" => 12..23,
14
- "data_do_pregao"=>2..9,
15
+ "data_do_pregao" => 2..9,
15
16
  "coddbi" => 10..11,
16
- "tpmerc"=>24..26,
17
- "nomres"=>27..38,
18
- "especi"=>39..48,
19
- "prazot"=>49..51,
20
- "modref"=>52..55,
21
- "preabre"=>56..68,
22
- "premax"=>69..81,
23
- "premin"=>82..94,
24
- "premed"=>95..107,
25
- "preult"=>108..120,
26
- "preofc"=>121..133,
27
- "preofv"=>134..146,
28
- "totneg"=>147..151,
29
- "quatot"=>152..169,
30
- "voltot"=>170..187,
31
- "preexe"=>188..200,
32
- "indopc"=>201..201,
33
- "datven"=>202..209, # AAAAMMDD
34
- "fatcot"=>210..216,
35
- "ptoexe"=>217..229,
36
- "codisi"=>230..241,
37
- "dismes"=>242..244
17
+ "tpmerc" => 24..26,
18
+ "nomres" => 27..38,
19
+ "especi" => 39..48,
20
+ "prazot" => 49..51,
21
+ "modref" => 52..55,
22
+ "preabre" => 56..68,
23
+ "premax" => 69..81,
24
+ "premin" => 82..94,
25
+ "premed" => 95..107,
26
+ "preult" => 108..120,
27
+ "preofc" => 121..133,
28
+ "preofv" => 134..146,
29
+ "totneg" => 147..151,
30
+ "quatot" => 152..169,
31
+ "voltot" => 170..187,
32
+ "preexe" => 188..200,
33
+ "indopc" => 201..201,
34
+ "datven" => 202..209, # AAAAMMDD
35
+ "fatcot" => 210..216,
36
+ "ptoexe" => 217..229,
37
+ "codisi" => 230..241,
38
+ "dismes" => 242..244
38
39
  )
39
40
  set_attr_name :codneg
40
41
  end
41
42
 
42
- lines_where(0..1,"99") do # trailer
43
- set_specification("nome_do_arquivo_trailer"=>2..14,"codigo_de_origem_trailer"=>15..22,
44
- "data_de_geracao_do_arquivo_trailer"=>23..30,"total_de_registros"=>31..42)
43
+ lines_where(0..1, "99") do # trailer
44
+ set_specification("nome_do_arquivo_trailer" => 2..14, "codigo_de_origem_trailer" => 15..22,
45
+ "data_de_geracao_do_arquivo_trailer" => 23..30, "total_de_registros" => 31..42)
45
46
  end
46
47
 
47
48
  end
@@ -5,22 +5,25 @@ class MyClass < Bovespa::Historico
5
5
  end
6
6
 
7
7
  describe MyClass do
8
- it "should give information about the header of the file" do
9
- historico = MyClass.new("DemoCotacoesHistoricas12022003.txt")
10
- historico.nome_do_arquivo.should eq("COTAHIST.2003")
11
- historico.codigo_de_origem.should eq("BOVESPA")
12
- historico.data_de_geracao_do_arquivo.should eq("20040531")
13
- end
8
+ context "given a position file" do
9
+ before do
10
+ @historico = MyClass.new("DemoCotacoesHistoricas12022003.txt")
11
+ end
14
12
 
15
- it "should get the code of the asset" do
16
- historico = MyClass.new("DemoCotacoesHistoricas12022003.txt")
17
- historico.vale5["codneg"].should eq("VALE5")
18
- end
13
+ it "should give information about the header" do
14
+ @historico.nome_do_arquivo.should eq("COTAHIST.2003")
15
+ @historico.codigo_de_origem.should eq("BOVESPA")
16
+ @historico.data_de_geracao_do_arquivo.should eq("20040531")
17
+ end
19
18
 
20
- it "should return a list of every asset turned into attribute" do
21
- historico = MyClass.new("DemoCotacoesHistoricas12022003.txt")
22
- historico.pos_attributes.length.should be > 478
23
- end
19
+ it "should get the code of the asset" do
20
+ @historico.vale5["codneg"].should eq("VALE5")
21
+ end
22
+
23
+ it "should return a list of every asset turned into attribute" do
24
+ @historico.pos_attributes.length.should be > 478
25
+ end
26
+ end
24
27
 
25
28
  it "should have valid specified fields" do
26
29
  MyClass.valid_specification?.should be true
metadata CHANGED
@@ -1,40 +1,39 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bovespa
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.5
5
- prerelease:
4
+ prerelease:
5
+ version: 0.5.6
6
6
  platform: ruby
7
7
  authors:
8
8
  - Marco Antonio Fogaça Nogueira
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-02-25 00:00:00.000000000Z
12
+ date: 2012-02-26 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri
16
- requirement: &83476370 !ruby/object:Gem::Requirement
17
- none: false
16
+ version_requirements: &2056 !ruby/object:Gem::Requirement
18
17
  requirements:
19
18
  - - ! '>='
20
19
  - !ruby/object:Gem::Version
21
20
  version: 1.4.4
22
- type: :runtime
21
+ none: false
22
+ requirement: *2056
23
23
  prerelease: false
24
- version_requirements: *83476370
24
+ type: :runtime
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: posifile
27
- requirement: &83476110 !ruby/object:Gem::Requirement
28
- none: false
27
+ version_requirements: &2074 !ruby/object:Gem::Requirement
29
28
  requirements:
30
29
  - - ! '>='
31
30
  - !ruby/object:Gem::Version
32
- version: 0.2.4
33
- type: :runtime
31
+ version: 0.2.5
32
+ none: false
33
+ requirement: *2074
34
34
  prerelease: false
35
- version_requirements: *83476110
36
- description: Biblioteca Ruby para ler arquivos da Série Histórica da Bovespa e obter
37
- cotção direto na Bovespa usando o serviço gratuito.
35
+ type: :runtime
36
+ description: Biblioteca Ruby para ler arquivos da Série Histórica da Bovespa e obter cotção direto na Bovespa usando o serviço gratuito.
38
37
  email:
39
38
  - marcofognog@gmail.com
40
39
  executables: []
@@ -53,27 +52,27 @@ files:
53
52
  - tests/historico_spec.rb
54
53
  homepage: http://github.com/marcofognog/bovespa
55
54
  licenses: []
56
- post_install_message:
55
+ post_install_message:
57
56
  rdoc_options: []
58
57
  require_paths:
59
58
  - lib
60
59
  required_ruby_version: !ruby/object:Gem::Requirement
61
- none: false
62
60
  requirements:
63
61
  - - ! '>='
64
62
  - !ruby/object:Gem::Version
65
63
  version: '0'
66
- required_rubygems_version: !ruby/object:Gem::Requirement
67
64
  none: false
65
+ required_rubygems_version: !ruby/object:Gem::Requirement
68
66
  requirements:
69
67
  - - ! '>='
70
68
  - !ruby/object:Gem::Version
71
69
  version: 1.3.7
70
+ none: false
72
71
  requirements: []
73
- rubyforge_project:
74
- rubygems_version: 1.8.6
75
- signing_key:
72
+ rubyforge_project:
73
+ rubygems_version: 1.8.15
74
+ signing_key:
76
75
  specification_version: 3
77
- summary: Biblioteca Ruby para ler arquivos da Série Histórica da Bovespa e obter cotção
78
- direto na Bovespa.
76
+ summary: Biblioteca Ruby para ler arquivos da Série Histórica da Bovespa e obter cotção direto na Bovespa.
79
77
  test_files: []
78
+ ...