bovespa 0.5.5 → 0.5.6

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