tads6_picolo 1.0.0 → 1.0.1
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.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/README.md +75 -16
- data/example/example.rb +32 -0
- data/lib/tads6_picolo.rb +1 -0
- data/lib/tads6_picolo/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2400cfa1a6332d8a0aa2db00165f191093707b560bb33bce3f18b494f8fe0bc1
|
4
|
+
data.tar.gz: 9bf9992bc746bffd6c2b5c6200804248ddca69d1245adc31820205793cef61d5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e9c0cfe5c5bf2ba125e23c2bab6b749f8a118009ab81e9ddc30837e80d7fe05abdc79387a03cbe7a0436c4f968a201f64c7552595d2e31ba373d8d9f8099731d
|
7
|
+
data.tar.gz: 4584a31752c2a5ff5c84a70520a863850638fa84e3314b89bccab95df3f9cc5f32ea6c12e2629179fb1ca467714a71a8d3cc8a545044a00dfbd27ad3449d0276
|
data/.gitignore
CHANGED
data/README.md
CHANGED
@@ -1,43 +1,102 @@
|
|
1
1
|
# Tads6Picolo
|
2
2
|
|
3
|
-
|
3
|
+
Este pequeno projeto foi desenvolvido como parte das aulas de Tópicos Especiais em Tecnologia da Informação no Institulo Federal de Mato Grosso do Sul Campus de Naviraí.
|
4
4
|
|
5
|
-
|
5
|
+
A gem tem como objeto demostrar aos estudantes o uso e a aplicação de bibliotecas (gem) para o encapsulamento funcionalidades genéricas que podem ser utilizadas em outros projetos. Outro objetivo atrelado a esta atividade relaciona-se ao conteúdo teórico sobre ORM (Mapeamento Objeto Relacional), os quais foram apresentados em aula e aplicados de forma prática neste trabalho.
|
6
6
|
|
7
|
-
##
|
7
|
+
## Instalação
|
8
8
|
|
9
|
-
|
9
|
+
Caso use um arquivo Gemfile, adicione o código abaixo:
|
10
10
|
|
11
11
|
```ruby
|
12
12
|
gem 'tads6_picolo'
|
13
13
|
```
|
14
14
|
|
15
|
-
|
15
|
+
Logo após instale as dependências:
|
16
16
|
|
17
|
-
$ bundle
|
17
|
+
$ bundle install
|
18
18
|
|
19
|
-
|
19
|
+
Ou, instale diretamente executando o código abaixo em seu terminal:
|
20
20
|
|
21
21
|
$ gem install tads6_picolo
|
22
22
|
|
23
|
-
##
|
23
|
+
## Como utilizar
|
24
24
|
|
25
|
-
|
25
|
+
Para utilizar a `gem` deve-se realizar os seguintes passos:
|
26
26
|
|
27
|
-
|
27
|
+
Primeiro crie um novo arquivo e adicione uma classe a qual você deseja persistir seguindo as especificações abaixo:
|
28
28
|
|
29
|
-
|
29
|
+
```ruby
|
30
|
+
# Require necessário
|
31
|
+
require 'tads6_picolo'
|
32
|
+
|
33
|
+
# Sua classe deve herdar a classe Tads6Picolo::ORM
|
34
|
+
class Livro < Tads6Picolo::ORM
|
35
|
+
# Toda classe deve conter um :ID obrigatoriamente
|
36
|
+
attr_accessor :id, :modelo
|
37
|
+
|
38
|
+
# O construtor deve seguir o exemplo abaixo
|
39
|
+
def initialize(hash)
|
40
|
+
@titulo = hash.first[:modelo]
|
41
|
+
end
|
42
|
+
|
43
|
+
# Este método deve ser reescrito obrigatoriamente com o
|
44
|
+
# caminho para seu banco de dados 'db/carros'
|
45
|
+
def self.path
|
46
|
+
'local/onde/deseja/salvar/os/dados'
|
47
|
+
end
|
48
|
+
end
|
49
|
+
```
|
50
|
+
|
51
|
+
## Passo a Passo
|
30
52
|
|
31
|
-
|
53
|
+
Crie o diretório com o caminho especificado no método `self.path`
|
54
|
+
|
55
|
+
### Criar um novo registro:
|
56
|
+
```ruby
|
57
|
+
Carro.criar(
|
58
|
+
modelo: 'Fusca 5000'
|
59
|
+
)
|
60
|
+
```
|
32
61
|
|
33
|
-
|
62
|
+
### Listar todos os registros:
|
63
|
+
```ruby
|
64
|
+
puts Carro.listar
|
65
|
+
```
|
66
|
+
|
67
|
+
### Selecionar um registro específico
|
68
|
+
```ruby
|
69
|
+
puts Carro.selecionar(1)
|
70
|
+
```
|
34
71
|
|
35
|
-
|
72
|
+
### Atualizar um registro específico
|
73
|
+
```ruby
|
74
|
+
carro = Carro.selecionar(1)
|
75
|
+
carro.modelo = "novo modelo"
|
76
|
+
Carro.atualizar(carro)
|
77
|
+
```
|
78
|
+
|
79
|
+
### Remover um registro específico
|
80
|
+
```ruby
|
81
|
+
Carro.remove(1)
|
82
|
+
```
|
83
|
+
|
84
|
+
## Importante
|
85
|
+
|
86
|
+
- O atributo id deve estar contido, contudo ele não deve ser inicializado.
|
87
|
+
- O método path obrigatoriamente deve ser reescrito para o local onde você deseja salvar os dados
|
88
|
+
|
89
|
+
```ruby
|
90
|
+
def self.path
|
91
|
+
'local/onde/deseja/salvar/os/dados'
|
92
|
+
end
|
93
|
+
```
|
36
94
|
|
37
95
|
## License
|
38
96
|
|
39
|
-
|
97
|
+
A gem está disponível como código aberto sob os termos do [MIT License](https://opensource.org/licenses/MIT).
|
40
98
|
|
41
99
|
## Code of Conduct
|
42
100
|
|
43
|
-
|
101
|
+
Espera-se que todos que interagem nas bases de código do projeto Tads6Picolo, rastreadores de problemas, salas de bate-papo e listas de discussão sigam as
|
102
|
+
[code of conduct](https://github.com/luizpicolo/tads6_picolo/blob/master/CODE_OF_CONDUCT.md).
|
data/example/example.rb
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'tads6_picolo'
|
2
|
+
|
3
|
+
class Carro < Tads6Picolo::ORM
|
4
|
+
attr_accessor :id, :modelo
|
5
|
+
|
6
|
+
def initialize(hash)
|
7
|
+
@modelo = hash.first[:modelo]
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.path
|
11
|
+
"db/carros"
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
# Criar um novo carro
|
16
|
+
# Carro.criar(
|
17
|
+
# modelo: 'Fusca'
|
18
|
+
# )
|
19
|
+
|
20
|
+
# Listar todos os carros
|
21
|
+
# puts Carro.listar
|
22
|
+
|
23
|
+
# Selecionar um carro pelo id
|
24
|
+
# puts Carro.selecionar(1)
|
25
|
+
|
26
|
+
# Atualizar um carro existente
|
27
|
+
# carro = Carro.selecionar(1)
|
28
|
+
# carro.modelo = "novo modelo"
|
29
|
+
# Carro.atualizar(carro)
|
30
|
+
|
31
|
+
# Remover carro
|
32
|
+
# Carro.remove(1)
|
data/lib/tads6_picolo.rb
CHANGED
data/lib/tads6_picolo/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tads6_picolo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Luiz Picolo
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-10-
|
11
|
+
date: 2018-10-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -70,6 +70,7 @@ files:
|
|
70
70
|
- Rakefile
|
71
71
|
- bin/console
|
72
72
|
- bin/setup
|
73
|
+
- example/example.rb
|
73
74
|
- lib/tads6_picolo.rb
|
74
75
|
- lib/tads6_picolo/orm.rb
|
75
76
|
- lib/tads6_picolo/version.rb
|