nsi-abntformat 0.2.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
data/CONTRIBUTORS CHANGED
@@ -2,4 +2,4 @@ Ruhan Ferreira Almeida (ruhanfa)
2
2
  Rodrigo Soares Manhães (rodrigomanhaes)
3
3
  Rebeca Campos Motta (BecaMotta)
4
4
  Oswaldo Luiz de Souza Ferreira (oswluiz)
5
-
5
+ Natanael de Araújo Silva (natanael-araujo)
data/Gemfile CHANGED
@@ -1,10 +1,5 @@
1
1
  source "http://rubygems.org"
2
- # Add dependencies required to use your gem here.
3
- # Example:
4
- # gem "activesupport", ">= 2.3.5"
5
2
 
6
- # Add dependencies to develop your gem here.
7
- # Include everything needed to run rake, tests, features, etc.
8
3
  group :development do
9
4
  gem "rspec", ">= 0"
10
5
  gem "bundler", "> 1.0.0"
data/Gemfile.lock ADDED
@@ -0,0 +1,34 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ diff-lcs (1.1.3)
5
+ git (1.2.5)
6
+ jeweler (1.8.3)
7
+ bundler (~> 1.0)
8
+ git (>= 1.2.5)
9
+ rake
10
+ rdoc
11
+ json (1.6.6)
12
+ rake (0.9.2.2)
13
+ rdoc (3.12)
14
+ json (~> 1.4)
15
+ rspec (2.9.0)
16
+ rspec-core (~> 2.9.0)
17
+ rspec-expectations (~> 2.9.0)
18
+ rspec-mocks (~> 2.9.0)
19
+ rspec-core (2.9.0)
20
+ rspec-expectations (2.9.0)
21
+ diff-lcs (~> 1.1.3)
22
+ rspec-mocks (2.9.0)
23
+ unicode (0.4.2)
24
+
25
+ PLATFORMS
26
+ ruby
27
+
28
+ DEPENDENCIES
29
+ bundler (> 1.0.0)
30
+ diff-lcs (>= 1.1.3)
31
+ jeweler (~> 1.8.3)
32
+ rake
33
+ rspec
34
+ unicode
data/README.rdoc CHANGED
@@ -1,11 +1,40 @@
1
1
  = nsi-abntformat
2
2
 
3
- Installing:
3
+ == Como instalar:
4
4
 
5
- - gem install nsi-abntformat
5
+ gem install nsi-abntformat
6
6
 
7
+ - Mais informações: https://rubygems.org/gems/nsi-abntformat
8
+
9
+ == Como usar
10
+
11
+ No exemplo abaixo, é gerada uma referência bibliográfica para trabalho de conclusão:
12
+
13
+ require "referencia_bibliografica"
14
+
15
+ class Documento
16
+ include ReferenciaBibliografica
17
+
18
+ attr_accessor :tipo, :autores, :titulo, :subtitulo, :data_defesa,
19
+ :total_folhas, :tipo_trabalho, :instituicao, :local_defesa
20
+ end
21
+
22
+ documento = Documento.new
23
+ documento.tipo = 'trabalho de conclusão'
24
+ documento.autores = 'Linus Torvalds'
25
+ documento.titulo = 'Git'
26
+ documento.subtitulo = 'Destruindo o Passado de Trevas'
27
+ documento.data_defesa = 2008
28
+ documento.total_folhas = 120
29
+ documento.tipo_trabalho = 'Tese (Doutorado em Computacao)'
30
+ documento.instituicao = 'Instituto Federal Fluminense'
31
+ documento.local_defesa = 'Campos dos Goytacazes/RJ'
32
+
33
+ documento.referencia_abnt
34
+
35
+ => 'TORVALDS, L. Git: Destruindo o Passado de Trevas. 2008. 120 f. Tese (Doutorado em Computacao) - Instituto Federal Fluminense, Campos dos Goytacazes/RJ.'
36
+ Copyright
7
37
  == Copyright
8
38
 
9
39
  Copyright (c) 2012 Núcleo de Pesquisa em Sistemas de Informação. See LICENSE.txt for
10
40
  further details.
11
-
data/Rakefile CHANGED
@@ -11,10 +11,8 @@ rescue Bundler::BundlerError => e
11
11
  end
12
12
  require 'rake'
13
13
 
14
-
15
14
  require 'jeweler'
16
15
  Jeweler::Tasks.new do |gem|
17
- # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
18
16
  gem.name = "nsi-abntformat"
19
17
  gem.homepage = "http://github.com/oswluiz/nsi-abntformat"
20
18
  gem.license = "MIT"
@@ -22,14 +20,13 @@ Jeweler::Tasks.new do |gem|
22
20
  gem.description = "Transforms objects containing documentation metadata in bibliographic references on ABNT format"
23
21
  gem.email = "oswluizf@gmail.com"
24
22
  gem.authors = ["Oswaldo Ferreira"]
25
- # dependencies defined in Gemfile
26
23
  end
27
24
  Jeweler::RubygemsDotOrgTasks.new
28
25
 
29
26
  require 'rspec/core'
30
27
  require 'rspec/core/rake_task'
31
28
  RSpec::Core::RakeTask.new(:spec) do |spec|
32
- spec.pattern = FileList['test/**/*_spec.rb']
29
+ spec.pattern = FileList['spec/**/*_spec.rb']
33
30
  spec.rspec_opts = "--color --format nested"
34
31
  end
35
32
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.0
1
+ 1.0.0
@@ -1,152 +1,86 @@
1
1
  #coding:utf-8
2
+
2
3
  require 'unicode'
3
4
 
4
- class ReferenciaBibliografica
5
+ module ReferenciaBibliografica
6
+ def referencia_abnt
7
+ tipos = {
8
+ 'trabalho de conclusão' => :referencia_trabalho_conclusao,
9
+ 'artigo de anais de eventos' => :referencia_artigo_anais_evento,
10
+ 'artigo de periodico' => :referencia_artigo_periodico,
11
+ 'periodico tecnico cientifico' => :referencia_periodico_tecnico_cientifico,
12
+ 'livro' => :referencia_livro,
13
+ 'relatorio tecnico cientifico' => :referencia_relatorio_tecnico_cientifico,
14
+ 'imagem' => :referencia_imagem,
15
+ 'objetos de aprendizagem' => :referencia_objetos_de_aprendizagem,
16
+ 'outros conteúdos' => :referencia_outros_conteudos }
17
+ __send__(tipos[self.tipo])
18
+ end
5
19
 
6
- def _monta_nome(autores)
7
- lista_autores = autores.split(';')
8
- lista_autores.each_index do |i|
9
- nome_autor = lista_autores[i].split(' ')
10
- if nome_autor.include? ('')
11
- nome_autor.delete('')
12
- end
13
- nome_abnt = Unicode.upcase nome_autor.pop + ','
14
- nome_autor.each_index do |j|
15
- nome_abnt += ' ' + nome_autor[j][0] + '.'
16
- end
17
- lista_autores[i] = nome_abnt
18
- end
19
- return lista_autores * "; "
20
- end
20
+ private
21
21
 
22
- def _referencia_trabalho_conclusao(trabalho_conclusao)
23
- autores = _monta_nome(trabalho_conclusao.autores)
24
- titulo = trabalho_conclusao.titulo
25
- subtitulo = _gerar_subtitulo(trabalho_conclusao)
26
- defesa = trabalho_conclusao.data_defesa
27
- folhas = trabalho_conclusao.total_folhas
28
- tipo = trabalho_conclusao.tipo_trabalho
29
- instituicao = trabalho_conclusao.instituicao
30
- local = trabalho_conclusao.local_defesa
31
- return "#{autores} #{titulo}#{subtitulo}. #{defesa}. "\
32
- "#{folhas} f. #{tipo} - #{instituicao}, #{local}."
33
- end
34
-
35
-
36
- def _referencia_artigo_anais_evento(artigo_anais_evento)
37
- autores = _monta_nome(artigo_anais_evento.autores)
38
- titulo = artigo_anais_evento.titulo
39
- subtitulo = _gerar_subtitulo(artigo_anais_evento)
40
- nome_evento = artigo_anais_evento.nome_evento
41
- numero_evento = artigo_anais_evento.numero_evento
42
- ano_evento = artigo_anais_evento.ano_evento
43
- local_evento = artigo_anais_evento.local_evento
44
- titulo_anais = artigo_anais_evento.titulo_anais
45
- local_publicacao = artigo_anais_evento.local_publicacao
46
- editora = artigo_anais_evento.editora
47
- ano_publicacao = artigo_anais_evento.ano_publicacao
48
- pagina_inicial = artigo_anais_evento.pagina_inicial
49
- pagina_final = artigo_anais_evento.pagina_final
50
- return "#{autores} #{titulo}.#{subtitulo} In: #{nome_evento}, " \
51
- "#{numero_evento}., #{ano_evento}, #{local_evento}. " \
52
- "#{titulo_anais}. #{local_publicacao}: #{editora}, " \
53
- "#{ano_publicacao}. P. #{pagina_inicial}-#{pagina_final}."
54
- end
22
+ def referencia_objetos_de_aprendizagem
23
+ "#{autores_abnt} #{titulo}. #{instituicao}."
24
+ end
55
25
 
56
- def _referencia_artigo_periodico(artigo_periodico)
57
- autores = _monta_nome(artigo_periodico.autores)
58
- titulo = artigo_periodico.titulo
59
- subtitulo = _gerar_subtitulo(artigo_periodico)
60
- nome = artigo_periodico.nome_periodico
61
- local = artigo_periodico.local_publicacao
62
- volume = artigo_periodico.volume
63
- fasciculo = artigo_periodico.fasciculo
64
- pagina_inicial = artigo_periodico.pagina_inicial
65
- pagina_final = artigo_periodico.pagina_final
66
- data = artigo_periodico.data_publicacao
67
- return "#{autores} #{titulo}#{subtitulo}. #{nome}, #{local}, " \
68
- "v. #{volume}, n. #{fasciculo}, " \
69
- "p. #{pagina_inicial}-#{pagina_final}, #{data}."
70
- end
26
+ def referencia_imagem
27
+ "#{autores_abnt} #{titulo}. #{instituicao}, #{local}."
28
+ end
71
29
 
72
- def _referencia_periodico_tecnico_cientifico(periodico_tecnico_cientifico)
73
- titulo = periodico_tecnico_cientifico.titulo
74
- local= periodico_tecnico_cientifico.local_publicacao
75
- editora = periodico_tecnico_cientifico.editora
76
- ano_primeiro = periodico_tecnico_cientifico.ano_primeiro_volume
77
- ano_ultimo = periodico_tecnico_cientifico.ano_ultimo_volume
78
- return "#{titulo}. #{local}: #{editora}, " \
79
- "#{ano_primeiro}-#{ano_ultimo}"
80
- end
30
+ def referencia_relatorio_tecnico_cientifico
31
+ "#{autores_abnt} #{titulo}. #{local_publicacao}: #{instituicao}, "\
32
+ "#{ano_publicacao}. #{numero_paginas} p."
33
+ end
81
34
 
82
- def _referencia_livro(livro)
83
- autores = _monta_nome(livro.autores)
84
- titulo = livro.titulo
85
- subtitulo = _gerar_subtitulo(livro)
86
- traducao = _gerar_opcional(livro.traducao)
87
- edicao = _gerar_opcional(livro.edicao)
88
- publicacao = livro.local_publicacao
89
- editora = livro.editora
90
- ano = livro.ano_publicacao
91
- paginas = livro.numero_paginas
92
- return "#{autores} #{titulo}: #{subtitulo}. #{traducao}#{edicao}" \
93
- "#{publicacao}: #{editora}, #{ano}. #{paginas} p."
94
- end
35
+ def referencia_livro
36
+ "#{autores_abnt} #{titulo}#{gerar_subtitulo}. #{traducao}#{edicao}"\
37
+ "#{local_publicacao}: #{editora}, #{ano_publicacao}. #{numero_paginas} p."
38
+ end
95
39
 
96
- def _referencia_relatorio_tecnico_cientifico(relatorio_tecnico_cientifico)
97
- autores = _monta_nome(relatorio_tecnico_cientifico.autores)
98
- titulo = relatorio_tecnico_cientifico.titulo
99
- local = relatorio_tecnico_cientifico.local_publicacao
100
- instituicao = relatorio_tecnico_cientifico.instituicao
101
- ano = relatorio_tecnico_cientifico.ano_publicacao
102
- paginas = relatorio_tecnico_cientifico.numero_paginas
103
- return "#{autores} #{titulo}. #{local}: #{instituicao}, #{ano}. " \
104
- "#{paginas} p."
105
- end
40
+ def referencia_periodico_tecnico_cientifico
41
+ "#{titulo}. #{local_publicacao}: #{editora}, "\
42
+ "#{ano_primeiro_volume}-#{ano_ultimo_volume}"
43
+ end
106
44
 
107
- def _referencia_imagem(imagem)
108
- autores = _monta_nome(imagem.autores)
109
- titulo = imagem.titulo
110
- instituicao = imagem.instituicao
111
- local = imagem.local
112
- return "#{autores} #{titulo}. #{instituicao}, #{local}."
113
- end
45
+ def referencia_artigo_periodico
46
+ "#{autores_abnt} #{titulo}#{gerar_subtitulo}. #{nome_periodico}, "\
47
+ "#{local_publicacao}, v. #{volume}, n. #{fasciculo}, "\
48
+ "p. #{pagina_inicial}-#{pagina_final}, #{data_publicacao}."
49
+ end
114
50
 
115
- def _referencia_objetos_de_aprendizagem(objetos_de_aprendizagem)
116
- autores = _monta_nome(objetos_de_aprendizagem.autores)
117
- titulo = objetos_de_aprendizagem.titulo
118
- instituicao = objetos_de_aprendizagem.instituicao
119
- return "#{autores} #{titulo}. #{instituicao}."
120
- end
51
+ def referencia_artigo_anais_evento
52
+ "#{autores_abnt} #{titulo}#{gerar_subtitulo}. In: #{nome_evento}, "\
53
+ "#{numero_evento}., #{ano_evento}, #{local_evento}. "\
54
+ "#{titulo_anais}. #{local_publicacao}: #{editora}, "\
55
+ "#{ano_publicacao}. P. #{pagina_inicial}-#{pagina_final}."
56
+ end
121
57
 
122
- def _referencia_outros_conteudos(outros_conteudos)
123
- autores = _monta_nome(outros_conteudos.autores)
124
- titulo = outros_conteudos.titulo
125
- instituicao = outros_conteudos.instituicao
126
- return "#{autores} #{titulo}. #{instituicao}."
127
- end
58
+ def referencia_outros_conteudos
59
+ "#{autores_abnt} #{titulo}. #{instituicao}."
60
+ end
128
61
 
129
- def gerar(documento)
130
- conversores = {
131
- 'trabalho de conclusão' => :_referencia_trabalho_conclusao,
132
- 'artigo de anais de eventos' => :_referencia_artigo_anais_evento,
133
- 'artigo de periodico' => :_referencia_artigo_periodico,
134
- 'periodico tecnico cientifico' => :_referencia_periodico_tecnico_cientifico,
135
- 'livro' => :_referencia_livro,
136
- 'relatorio tecnico cientifico' => :_referencia_relatorio_tecnico_cientifico,
137
- 'imagem' => :_referencia_imagem,
138
- 'objetos de aprendizagem' => :_referencia_objetos_de_aprendizagem,
139
- 'outros conteúdos' => :_referencia_outros_conteudos }
140
- public_method(conversores[documento.tipo]).call documento
141
- end
142
-
143
- def _gerar_subtitulo(documento)
144
- return _gerar_opcional(documento.subtitulo)
145
- end
62
+ def referencia_trabalho_conclusao
63
+ "#{autores_abnt} #{titulo}#{gerar_subtitulo}. #{data_defesa}. "\
64
+ "#{total_folhas} f. #{tipo_trabalho} - #{instituicao}, #{local_defesa}."
65
+ end
146
66
 
147
- def _gerar_opcional(text)
148
- text = '' unless text
149
- return "#{text}"
150
- end
67
+ def gerar_subtitulo
68
+ subtitulo ? ": #{subtitulo}" : ''
69
+ # subtitulo || ''
70
+ end
151
71
 
72
+ def autores_abnt
73
+ lista_autores_abnt = []
74
+ lista_autores = autores.split(';')
75
+ lista_autores.each do |autor|
76
+ nome_autor = autor.split(' ')
77
+ nome_autor.delete('')
78
+ nome_abnt = Unicode.upcase(nome_autor.pop + ',')
79
+ nome_autor.each do |palavra|
80
+ nome_abnt += ' ' + palavra[0] + '.'
81
+ end
82
+ lista_autores_abnt << nome_abnt
83
+ end
84
+ lista_autores_abnt * "; "
85
+ end
152
86
  end
@@ -0,0 +1,66 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = "nsi-abntformat"
8
+ s.version = "1.0.0"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Oswaldo Ferreira"]
12
+ s.date = "2012-04-04"
13
+ s.description = "Transforms objects containing documentation metadata in bibliographic references on ABNT format"
14
+ s.email = "oswluizf@gmail.com"
15
+ s.extra_rdoc_files = [
16
+ "LICENSE.txt",
17
+ "README.rdoc"
18
+ ]
19
+ s.files = [
20
+ ".document",
21
+ "CONTRIBUTORS",
22
+ "Gemfile",
23
+ "Gemfile.lock",
24
+ "LICENSE.txt",
25
+ "README.rdoc",
26
+ "Rakefile",
27
+ "VERSION",
28
+ "lib/referencia_bibliografica.rb",
29
+ "nsi-abntformat.gemspec",
30
+ "spec/referencia_bibliografica_spec.rb",
31
+ "spec/spec_helper.rb"
32
+ ]
33
+ s.homepage = "http://github.com/oswluiz/nsi-abntformat"
34
+ s.licenses = ["MIT"]
35
+ s.require_paths = ["lib"]
36
+ s.rubygems_version = "1.8.21"
37
+ s.summary = "ABNT Format"
38
+
39
+ if s.respond_to? :specification_version then
40
+ s.specification_version = 3
41
+
42
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
43
+ s.add_development_dependency(%q<rspec>, [">= 0"])
44
+ s.add_development_dependency(%q<bundler>, ["> 1.0.0"])
45
+ s.add_development_dependency(%q<jeweler>, ["~> 1.8.3"])
46
+ s.add_development_dependency(%q<unicode>, [">= 0"])
47
+ s.add_development_dependency(%q<rake>, [">= 0"])
48
+ s.add_development_dependency(%q<diff-lcs>, [">= 1.1.3"])
49
+ else
50
+ s.add_dependency(%q<rspec>, [">= 0"])
51
+ s.add_dependency(%q<bundler>, ["> 1.0.0"])
52
+ s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
53
+ s.add_dependency(%q<unicode>, [">= 0"])
54
+ s.add_dependency(%q<rake>, [">= 0"])
55
+ s.add_dependency(%q<diff-lcs>, [">= 1.1.3"])
56
+ end
57
+ else
58
+ s.add_dependency(%q<rspec>, [">= 0"])
59
+ s.add_dependency(%q<bundler>, ["> 1.0.0"])
60
+ s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
61
+ s.add_dependency(%q<unicode>, [">= 0"])
62
+ s.add_dependency(%q<rake>, [">= 0"])
63
+ s.add_dependency(%q<diff-lcs>, [">= 1.1.3"])
64
+ end
65
+ end
66
+
@@ -0,0 +1,156 @@
1
+ #coding: utf-8
2
+
3
+ require_relative "spec_helper"
4
+
5
+ describe ReferenciaBibliografica do
6
+ class Documento
7
+ include ReferenciaBibliografica
8
+ end
9
+
10
+ subject { Documento.new }
11
+
12
+ it "trabalho de conclusão" do
13
+ subject.stub('tipo') { 'trabalho de conclusão' }
14
+ subject.stub('autores') { 'Ian Fantucci' }
15
+ subject.stub('titulo') { 'Contribuição do alerta, da atenção, '\
16
+ 'da intenção e da expectativa temporal para o desempenho de '\
17
+ 'humanos em tarefas de tempo de reação' }
18
+ subject.stub('subtitulo') { nil }
19
+ subject.stub('data_defesa') { '2001' }
20
+ subject.stub('total_folhas') { '130' }
21
+ subject.stub('tipo_trabalho') { 'Tese (Doutorado em Psicologia)' }
22
+ subject.stub('instituicao') { 'Instituto de Psicologia, '\
23
+ 'Universidade de São Paulo' }
24
+ subject.stub!('local_defesa') { 'São Paulo' }
25
+
26
+ subject.referencia_abnt.should == (
27
+ 'FANTUCCI, I. Contribuição do alerta, da atenção, da intenção e da'\
28
+ ' expectativa temporal para o desempenho de humanos em tarefas de '\
29
+ 'tempo de reação. 2001. 130 f. Tese (Doutorado em Psicologia) - '\
30
+ 'Instituto de Psicologia, Universidade de São Paulo, São Paulo.')
31
+ end
32
+
33
+ it "gerando referencia para artigos de anais de eventos" do
34
+ subject.stub('tipo') { 'artigo de anais de eventos' }
35
+ subject.stub('autores') { 'Antônio Fernandes Bueno Moreira' }
36
+ subject.stub('titulo') { 'Multiculturalismo, Currículo e '\
37
+ 'Formação de Professores' }
38
+ subject.stub('subtitulo') { nil }
39
+ subject.stub('nome_evento') { 'SEMINÁRIO DE EDUCAÇÃO BÁSICA' }
40
+ subject.stub('numero_evento') { '2' }
41
+ subject.stub('ano_evento') { '1998' }
42
+ subject.stub('local_evento') { 'Santa Cruz do Sul' }
43
+ subject.stub('titulo_anais') { 'Anais' }
44
+ subject.stub('local_publicacao') { 'Santa Cruz do Sul' }
45
+ subject.stub('editora') { 'EDUNISC' }
46
+ subject.stub('ano_publicacao') { '1998' }
47
+ subject.stub('pagina_inicial') { '15' }
48
+ subject.stub('pagina_final') { '30' }
49
+
50
+ subject.referencia_abnt.should == (
51
+ 'MOREIRA, A. F. B. Multiculturalismo, Currículo e Formação de '\
52
+ 'Professores. In: SEMINÁRIO DE EDUCAÇÃO BÁSICA, 2., 1998, Santa '\
53
+ 'Cruz do Sul. Anais. Santa Cruz do Sul: EDUNISC, 1998. P. 15-30.')
54
+ end
55
+
56
+ it "gerando referencia de artigo de periodico" do
57
+ subject.stub('tipo') { 'artigo de periodico' }
58
+ subject.stub('autores') { 'Demerval Saviani' }
59
+ subject.stub('titulo') { 'A Universidade e a Problemática da Educação e Cultura' }
60
+ subject.stub('subtitulo') { nil }
61
+ subject.stub('nome_periodico') { 'Educação Brasileira' }
62
+ subject.stub('local_publicacao') { 'Brasília' }
63
+ subject.stub('volume') { '1' }
64
+ subject.stub('fasciculo') { '3' }
65
+ subject.stub('pagina_inicial') { '35' }
66
+ subject.stub('pagina_final') { '58' }
67
+ subject.stub('data_publicacao') { '1979' }
68
+
69
+ subject.referencia_abnt.should == (
70
+ "SAVIANI, D. A Universidade e a Problemática da Educação e Cultura."\
71
+ " Educação Brasileira, Brasília, v. 1, n. 3, p. 35-58, 1979.")
72
+ end
73
+
74
+ it "gerando referencia de periodico tecnico cientifico" do
75
+ subject.stub('tipo') { 'periodico tecnico cientifico' }
76
+ subject.stub('titulo') { 'EDUCAÇÃO & REALIDADE' }
77
+ subject.stub('local_publicacao') { 'Porto Alegre' }
78
+ subject.stub('editora') { 'UFRGS/FACED' }
79
+ subject.stub('ano_primeiro_volume') { '1975' }
80
+ subject.stub('ano_ultimo_volume') { nil }
81
+
82
+ subject.referencia_abnt.should == (
83
+ 'EDUCAÇÃO & REALIDADE. Porto Alegre:'\
84
+ ' UFRGS/FACED, 1975-')
85
+ end
86
+
87
+ it "gerando referencia de livro" do
88
+ subject.stub('tipo') { 'livro' }
89
+ subject.stub('autores') { 'Marcos Antônio Azevedo; '\
90
+ 'Vinícios Nogueira Almeida Guerra' }
91
+ subject.stub('titulo') { 'Mania de bater' }
92
+ subject.stub('subtitulo') { 'a punição corporal doméstica de crianças '\
93
+ 'e adolescentes no Brasil' }
94
+ subject.stub('traducao') { nil }
95
+ subject.stub('edicao') { nil }
96
+ subject.stub('local_publicacao') { 'São Paulo' }
97
+ subject.stub('editora') { 'Iglu' }
98
+ subject.stub('ano_publicacao') { '2001' }
99
+ subject.stub('numero_paginas') { '386' }
100
+
101
+ subject.referencia_abnt.should == (
102
+ 'AZEVEDO, M. A.; GUERRA, V. N. A. '\
103
+ 'Mania de bater: a punição corporal doméstica de crianças e '\
104
+ 'adolescentes no Brasil. São Paulo: Iglu, 2001. 386 p.')
105
+ end
106
+
107
+ it "gerando referencia de relatorio tecnico cientifico" do
108
+ subject.stub('tipo') { 'relatorio tecnico cientifico' }
109
+ subject.stub('autores') { 'Ubiraci Espinelli Souza; '\
110
+ 'Silvio Burratino Melhado' }
111
+ subject.stub('titulo') { 'Subsídios para a avaliação'\
112
+ ' do custo de mão-de-obra na'\
113
+ ' construção civil' }
114
+ subject.stub('local_publicacao') { 'São Paulo' }
115
+ subject.stub('instituicao') { 'EPUSP' }
116
+ subject.stub('ano_publicacao') { '1991' }
117
+ subject.stub('numero_paginas') { '38' }
118
+
119
+ subject.referencia_abnt.should == (
120
+ 'SOUZA, U. E.; MELHADO, S. B. Subsídios para a avaliação do '\
121
+ 'custo de mão-de-obra na construção civil. São Paulo: EPUSP, 1991. '\
122
+ '38 p.')
123
+ end
124
+
125
+ it "gerando referencia de imagem" do
126
+ subject.stub('tipo') { 'imagem' }
127
+ subject.stub('autores') { 'Alberto Gomes Pereira; Ricardo Silva' }
128
+ subject.stub('titulo') { 'As crianças da indonésia' }
129
+ subject.stub('instituicao') { 'Instituto Federal Fluminense' }
130
+ subject.stub('local') { 'Campos dos Goytacazes' }
131
+
132
+ subject.referencia_abnt.should == ('PEREIRA, A. G.; SILVA, R. As '\
133
+ 'crianças da indonésia. Instituto Federal '\
134
+ 'Fluminense, Campos dos Goytacazes.')
135
+ end
136
+
137
+ it "gerando referencia de objetos de aprendizagem" do
138
+ subject.stub('tipo') { 'objetos de aprendizagem' }
139
+ subject.stub('autores') { 'Ariosvaldo Gomes' }
140
+ subject.stub('titulo') { 'Viver é aprender' }
141
+ subject.stub('instituicao') { 'Instituto Federal Fluminense' }
142
+
143
+ subject.referencia_abnt.should == ('GOMES, A. Viver é aprender. '\
144
+ 'Instituto Federal Fluminense.')
145
+ end
146
+
147
+ it "gerando referencia de outros conteudos" do
148
+ subject.stub('tipo') { 'outros conteúdos' }
149
+ subject.stub('autores') { 'Adalberto Pereira Silva' }
150
+ subject.stub('titulo') { 'Tenho joanetes' }
151
+ subject.stub('instituicao') { 'Instituto Federal Fluminense' }
152
+
153
+ subject.referencia_abnt.should eql ('SILVA, A. P. Tenho joanetes. '\
154
+ 'Instituto Federal Fluminense.')
155
+ end
156
+ end
@@ -1,5 +1,6 @@
1
1
  require 'rubygems'
2
2
  require 'bundler'
3
+
3
4
  begin
4
5
  Bundler.setup(:default, :development)
5
6
  rescue Bundler::BundlerError => e
@@ -13,4 +14,3 @@ $LOAD_PATH.unshift(File.dirname(__FILE__))
13
14
 
14
15
  require 'rspec'
15
16
  require 'referencia_bibliografica'
16
-
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nsi-abntformat
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 1.0.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-03-30 00:00:00.000000000 Z
12
+ date: 2012-04-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &80795750 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,15 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *80795750
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: bundler
27
- requirement: &80795270 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ! '>'
@@ -32,10 +37,15 @@ dependencies:
32
37
  version: 1.0.0
33
38
  type: :development
34
39
  prerelease: false
35
- version_requirements: *80795270
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>'
44
+ - !ruby/object:Gem::Version
45
+ version: 1.0.0
36
46
  - !ruby/object:Gem::Dependency
37
47
  name: jeweler
38
- requirement: &80794740 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
39
49
  none: false
40
50
  requirements:
41
51
  - - ~>
@@ -43,10 +53,15 @@ dependencies:
43
53
  version: 1.8.3
44
54
  type: :development
45
55
  prerelease: false
46
- version_requirements: *80794740
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 1.8.3
47
62
  - !ruby/object:Gem::Dependency
48
63
  name: unicode
49
- requirement: &80794170 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
50
65
  none: false
51
66
  requirements:
52
67
  - - ! '>='
@@ -54,10 +69,15 @@ dependencies:
54
69
  version: '0'
55
70
  type: :development
56
71
  prerelease: false
57
- version_requirements: *80794170
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
58
78
  - !ruby/object:Gem::Dependency
59
79
  name: rake
60
- requirement: &80793580 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
61
81
  none: false
62
82
  requirements:
63
83
  - - ! '>='
@@ -65,10 +85,15 @@ dependencies:
65
85
  version: '0'
66
86
  type: :development
67
87
  prerelease: false
68
- version_requirements: *80793580
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
69
94
  - !ruby/object:Gem::Dependency
70
95
  name: diff-lcs
71
- requirement: &80793060 !ruby/object:Gem::Requirement
96
+ requirement: !ruby/object:Gem::Requirement
72
97
  none: false
73
98
  requirements:
74
99
  - - ! '>='
@@ -76,7 +101,12 @@ dependencies:
76
101
  version: 1.1.3
77
102
  type: :development
78
103
  prerelease: false
79
- version_requirements: *80793060
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: 1.1.3
80
110
  description: Transforms objects containing documentation metadata in bibliographic
81
111
  references on ABNT format
82
112
  email: oswluizf@gmail.com
@@ -89,13 +119,15 @@ files:
89
119
  - .document
90
120
  - CONTRIBUTORS
91
121
  - Gemfile
122
+ - Gemfile.lock
92
123
  - LICENSE.txt
93
124
  - README.rdoc
94
125
  - Rakefile
95
126
  - VERSION
96
127
  - lib/referencia_bibliografica.rb
97
- - test/referencia_bibliografica_spec.rb
98
- - test/spec_helper.rb
128
+ - nsi-abntformat.gemspec
129
+ - spec/referencia_bibliografica_spec.rb
130
+ - spec/spec_helper.rb
99
131
  homepage: http://github.com/oswluiz/nsi-abntformat
100
132
  licenses:
101
133
  - MIT
@@ -109,6 +141,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
109
141
  - - ! '>='
110
142
  - !ruby/object:Gem::Version
111
143
  version: '0'
144
+ segments:
145
+ - 0
146
+ hash: -3753683140695218369
112
147
  required_rubygems_version: !ruby/object:Gem::Requirement
113
148
  none: false
114
149
  requirements:
@@ -117,7 +152,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
117
152
  version: '0'
118
153
  requirements: []
119
154
  rubyforge_project:
120
- rubygems_version: 1.8.15
155
+ rubygems_version: 1.8.21
121
156
  signing_key:
122
157
  specification_version: 3
123
158
  summary: ABNT Format
@@ -1,195 +0,0 @@
1
- #coding: utf-8
2
- require_relative "spec_helper"
3
-
4
- describe "Spec de ReferenciaBibliografica" do
5
- it "converte nome completo em citação" do
6
- referencia = ReferenciaBibliografica.new
7
- referencia._monta_nome('Ruhan Ferreira Almeida; Carlos Souza Teste').should \
8
- eql ("ALMEIDA, R. F.; TESTE, C. S.")
9
- end
10
- end
11
-
12
-
13
- describe "Gerador de referencias" do
14
-
15
- it "gerando referencia para trabalho de conclusão" do
16
- referencia = ReferenciaBibliografica.new
17
- trabalho_conclusao = mock(:trabalho_conclusao)
18
- trabalho_conclusao.stub('tipo') { 'trabalho de conclusão' }
19
- trabalho_conclusao.stub('autores') { 'Ian Fantucci' }
20
- trabalho_conclusao.stub('titulo') { 'Contribuição do alerta, da atenção, ' \
21
- 'da intenção e da expectativa temporal para o desempenho de '\
22
- 'humanos em tarefas de tempo de reação' }
23
- trabalho_conclusao.stub('subtitulo') { nil }
24
- trabalho_conclusao.stub('data_defesa') { '2001' }
25
- trabalho_conclusao.stub('total_folhas') { '130' }
26
- trabalho_conclusao.stub('tipo_trabalho') { 'Tese (Doutorado em Psicologia)' }
27
- trabalho_conclusao.stub('instituicao') { 'Instituto de Psicologia, '\
28
- 'Universidade de São Paulo' }
29
- trabalho_conclusao.stub!('local_defesa') { 'São Paulo' }
30
-
31
-
32
- referencia_abnt = referencia.gerar(trabalho_conclusao)
33
-
34
- referencia_abnt.should == (
35
- 'FANTUCCI, I. Contribuição do alerta, da atenção, da intenção e da' \
36
- ' expectativa temporal para o desempenho de humanos em tarefas de ' \
37
- 'tempo de reação. 2001. 130 f. Tese (Doutorado em Psicologia) - ' \
38
- 'Instituto de Psicologia, Universidade de São Paulo, São Paulo.')
39
- end
40
-
41
-
42
- it "gerando referencia para artigos de anais de eventos" do
43
- referencia = ReferenciaBibliografica.new
44
- artigo_anais_evento = mock(:trabalho_conclusao)
45
- artigo_anais_evento.stub('tipo') { 'artigo de anais de eventos' }
46
- artigo_anais_evento.stub('autores') { 'Antônio Fernandes Bueno Moreira' }
47
- artigo_anais_evento.stub('titulo') { 'Multiculturalismo, Currículo e '\
48
- 'Formação de Professores' }
49
- artigo_anais_evento.stub('subtitulo') { nil }
50
- artigo_anais_evento.stub('nome_evento') { 'SEMINÁRIO DE EDUCAÇÃO BÁSICA' }
51
- artigo_anais_evento.stub('numero_evento') { '2' }
52
- artigo_anais_evento.stub('ano_evento') { '1998' }
53
- artigo_anais_evento.stub('local_evento') { 'Santa Cruz do Sul' }
54
- artigo_anais_evento.stub('titulo_anais') { 'Anais' }
55
- artigo_anais_evento.stub('local_publicacao') { 'Santa Cruz do Sul' }
56
- artigo_anais_evento.stub('editora') { 'EDUNISC' }
57
- artigo_anais_evento.stub('ano_publicacao') { '1998' }
58
- artigo_anais_evento.stub('pagina_inicial') { '15' }
59
- artigo_anais_evento.stub('pagina_final') { '30' }
60
-
61
- referencia_anais_evento = referencia.gerar(artigo_anais_evento)
62
- referencia_anais_evento.should == (
63
- 'MOREIRA, A. F. B. Multiculturalismo, Currículo e Formação de ' \
64
- 'Professores. In: SEMINÁRIO DE EDUCAÇÃO BÁSICA, 2., 1998, Santa ' \
65
- 'Cruz do Sul. Anais. Santa Cruz do Sul: EDUNISC, 1998. P. 15-30.')
66
- end
67
-
68
- it "gerando referencia de artigo de periodico" do
69
- referencia = ReferenciaBibliografica.new
70
- artigo_periodico = mock(:artigo_periodico)
71
-
72
- artigo_periodico.stub('tipo') { 'artigo de periodico' }
73
- artigo_periodico.stub('autores') { 'Demerval Saviani' }
74
- artigo_periodico.stub('titulo') { 'A Universidade e a Problemática da Educação e Cultura' }
75
- artigo_periodico.stub('subtitulo') { nil }
76
- artigo_periodico.stub('nome_periodico') { 'Educação Brasileira' }
77
- artigo_periodico.stub('local_publicacao') { 'Brasília' }
78
- artigo_periodico.stub('volume') { '1' }
79
- artigo_periodico.stub('fasciculo') { '3' }
80
- artigo_periodico.stub('pagina_inicial') { '35' }
81
- artigo_periodico.stub('pagina_final') { '58' }
82
- artigo_periodico.stub('data_publicacao') { '1979' }
83
-
84
- referencia_artigo_periodico = referencia.gerar(artigo_periodico)
85
- referencia_artigo_periodico.should == (
86
- "SAVIANI, D. A Universidade e a Problemática da Educação e Cultura."\
87
- " Educação Brasileira, Brasília, v. 1, n. 3, p. 35-58, 1979.")
88
- end
89
-
90
- it "gerando referencia de periodico tecnico cientifico" do
91
- referencia = ReferenciaBibliografica.new
92
- periodico_tecnico_cientifico = mock(:periodico_tecnico_cientifico)
93
-
94
- periodico_tecnico_cientifico.stub('tipo') { 'periodico tecnico cientifico' }
95
- periodico_tecnico_cientifico.stub('titulo') { 'EDUCAÇÃO & REALIDADE' }
96
- periodico_tecnico_cientifico.stub('local_publicacao') { 'Porto Alegre' }
97
- periodico_tecnico_cientifico.stub('editora') { 'UFRGS/FACED' }
98
- periodico_tecnico_cientifico.stub('ano_primeiro_volume') { '1975' }
99
- periodico_tecnico_cientifico.stub('ano_ultimo_volume') { nil }
100
-
101
- referencia_tecnico_cientifico = referencia.gerar(periodico_tecnico_cientifico)
102
- referencia_tecnico_cientifico.should == ('EDUCAÇÃO & REALIDADE. Porto Alegre:'\
103
- ' UFRGS/FACED, 1975-')
104
- end
105
-
106
- it "gerando referencia de livro" do
107
- referencia = ReferenciaBibliografica.new
108
- livro = mock(:livro)
109
-
110
- livro.stub('tipo') { 'livro' }
111
- livro.stub('autores') { 'Marcos Antônio Azevedo; '\
112
- 'Vinícios Nogueira Almeida Guerra' }
113
- livro.stub('titulo') { 'Mania de bater' }
114
- livro.stub('subtitulo') { 'a punição corporal doméstica de crianças '\
115
- 'e adolescentes no Brasil' }
116
- livro.stub('traducao') { nil }
117
- livro.stub('edicao') { nil }
118
- livro.stub('local_publicacao') { 'São Paulo' }
119
- livro.stub('editora') { 'Iglu' }
120
- livro.stub('ano_publicacao') { '2001' }
121
- livro.stub('numero_paginas') { '386' }
122
-
123
- referencia_livro = referencia.gerar(livro)
124
- referencia_livro.should == ('AZEVEDO, M. A.; GUERRA, V. N. A. ' \
125
- 'Mania de bater: a punição corporal doméstica de crianças e ' \
126
- 'adolescentes no Brasil. São Paulo: Iglu, 2001. 386 p.')
127
- end
128
-
129
- it "gerando referencia de relatorio tecnico cientifico" do
130
- referencia = ReferenciaBibliografica.new
131
- relatorio_tecnico_cientifico = mock(:relatorio_tecnico_cientifico)
132
-
133
- relatorio_tecnico_cientifico.stub('tipo') { 'relatorio tecnico cientifico' }
134
- relatorio_tecnico_cientifico.stub('autores') { 'Ubiraci Espinelli Souza; '\
135
- 'Silvio Burratino Melhado' }
136
- relatorio_tecnico_cientifico.stub('titulo') { 'Subsídios para a avaliação' \
137
- ' do custo de mão-de-obra na construção civil' }
138
- relatorio_tecnico_cientifico.stub('local_publicacao') { 'São Paulo' }
139
- relatorio_tecnico_cientifico.stub('instituicao') { 'EPUSP' }
140
- relatorio_tecnico_cientifico.stub('ano_publicacao') { '1991' }
141
- relatorio_tecnico_cientifico.stub('numero_paginas') { '38' }
142
-
143
- referencia_relatorio_cientifico = referencia.gerar(relatorio_tecnico_cientifico)
144
- referencia_relatorio_cientifico.should == (
145
- 'SOUZA, U. E.; MELHADO, S. B. Subsídios para a avaliação do ' \
146
- 'custo de mão-de-obra na construção civil. São Paulo: EPUSP, 1991. ' \
147
- '38 p.')
148
- end
149
-
150
- it "gerando referencia de imagem" do
151
- referencia = ReferenciaBibliografica.new
152
- imagem = mock(:imagem)
153
-
154
- imagem.stub('tipo') { 'imagem' }
155
- imagem.stub('autores') { 'Alberto Gomes Pereira; Ricardo Silva' }
156
- imagem.stub('titulo') { 'As crianças da indonésia' }
157
- imagem.stub('instituicao') { 'Instituto Federal Fluminense' }
158
- imagem.stub('local') { 'Campos dos Goytacazes' }
159
-
160
- referencia_imagem = referencia.gerar(imagem)
161
- referencia_imagem.should == ('PEREIRA, A. G.; SILVA, R. As ' \
162
- 'crianças da indonésia. Instituto Federal Fluminense, Campos dos ' \
163
- 'Goytacazes.')
164
- end
165
-
166
- it "gerando referencia de objetos de aprendizagem" do
167
- referencia = ReferenciaBibliografica.new
168
- objetos_de_aprendizagem = mock(:objetos_de_aprendizagem)
169
-
170
- objetos_de_aprendizagem.stub('tipo') { 'objetos de aprendizagem' }
171
- objetos_de_aprendizagem.stub('autores') { 'Ariosvaldo Gomes' }
172
- objetos_de_aprendizagem.stub('titulo') { 'Viver é aprender' }
173
- objetos_de_aprendizagem.stub('instituicao') { 'Instituto Federal Fluminense' }
174
-
175
- referencia_aprendizagem = referencia.gerar(objetos_de_aprendizagem)
176
- referencia_aprendizagem.should == ('GOMES, A. Viver é aprender. ' \
177
- 'Instituto Federal Fluminense.')
178
- end
179
-
180
- it "gerando referencia de outros conteudos" do
181
- referencia = ReferenciaBibliografica.new
182
- outros_conteudos = mock(:outros_conteudos)
183
-
184
- outros_conteudos.stub('tipo') { 'outros conteúdos' }
185
- outros_conteudos.stub('autores') { 'Adalberto Pereira Silva' }
186
- outros_conteudos.stub('titulo') { 'Tenho joanetes' }
187
- outros_conteudos.stub('instituicao') { 'Instituto Federal Fluminense' }
188
-
189
- referencia_outros = referencia.gerar(outros_conteudos)
190
- referencia_outros.should eql ('SILVA, A. P. Tenho joanetes. ' \
191
- 'Instituto Federal Fluminense.')
192
- end
193
-
194
- end
195
-