tads6_picolo 0.2.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 56db56c8dccfb8f1c708a1ecdcce75ba0d3c710d53faebde14a4a09fd4819b0e
4
- data.tar.gz: 83b396a75aef21262a827be18940b99b07e24ad246abfc29cb617930a2994044
3
+ metadata.gz: e5b20f71425a55ab01c8e966f0fd1b1e92256734b1f50cab91d8051d437678a3
4
+ data.tar.gz: cfbc62d25a03754986ccf24e305fb2a8602442af119e1b9c902d0017950f6a7f
5
5
  SHA512:
6
- metadata.gz: 13a00b386b5baaa34c4271257268cc209cd474ffcf8d2bd364ac9dbbd89bd213552964185de196588ede9a5efb81bdd104768c9b0605bf686345bed6d3276498
7
- data.tar.gz: d7463b1df9f743b582b6c0639f68aa9d1c31fb17b1065c1115689f4be3c32d1eb082525105fa3ffac06a4b984f8a8866acb0aeaddcf6059f3c941d53b385a659
6
+ metadata.gz: 608877e70badec221f2e775767af16c841adc1a27c580593f7627ab6b3727deb53bda9a1a6372b91ab61395872a6c34eb50e67804063fd40ad276e4a6a8a8eed
7
+ data.tar.gz: 2dc8f7e744c00e7d7b89b064fbc8a491bf80c3e5b33c29849ceefef5cd548bb9886be36523b8df49a580239d30c338f4543581d6c9d5ce0c6956a07c8b5fb823
data/.gitignore CHANGED
@@ -11,3 +11,4 @@
11
11
  .rspec_status
12
12
 
13
13
  *.gem
14
+ /spec/support/tmp/db/livros/*.yml
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- tads6_picolo (0.1.0)
4
+ tads6_picolo (1.0.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -0,0 +1,69 @@
1
+ module Tads6Picolo
2
+ class ORM
3
+ def self.criar(*atributos)
4
+ id = proximo_id
5
+ File.open("#{path}/#{id}.yml", "a") do |arquivo|
6
+ obj = self.new atributos
7
+ obj.id = id
8
+ arquivo.puts YAML.dump obj
9
+ return id
10
+ end
11
+ end
12
+
13
+ def self.listar
14
+ @objs = []
15
+ $/ = '\n\n'
16
+
17
+ (1..ultimo_id).each do |id|
18
+ _path = "#{path}/#{id}.yml"
19
+ if File.exist?(_path)
20
+ File.open(_path, "r").each do |obj|
21
+ @objs << YAML.load(obj)
22
+ end
23
+ end
24
+ end
25
+
26
+ @objs
27
+ end
28
+
29
+ def self.selecionar(id)
30
+ listar.each do |obj|
31
+ return obj if obj.id == id
32
+ end
33
+ end
34
+
35
+ def self.atualizar(obj)
36
+ FileUtils.rm "#{path}/#{obj.id}.yml"
37
+ File.open("#{path}/#{obj.id}.yml", "a") do |arquivo|
38
+ arquivo.puts YAML.dump obj
39
+ return obj.id
40
+ end
41
+ end
42
+
43
+ def self.remove(id)
44
+ FileUtils.rm "#{path}/#{id}.yml"
45
+ return id
46
+ end
47
+
48
+ private
49
+
50
+ def self.quantidade_registros
51
+ Dir.glob("#{path}/*.yml").size + 1
52
+ end
53
+
54
+ def self.ultimo_id
55
+ files = Dir.entries("#{path}").sort_by do |file|
56
+ File.ctime("#{path}/#{file}")
57
+ end
58
+ File.basename("#{path}/#{files.last}", ".yml").to_i
59
+ end
60
+
61
+ def self.path
62
+ raise "implemente o método self.path com o caminho para seu banco de dados"
63
+ end
64
+
65
+ def self.proximo_id
66
+ ultimo_id.to_i + 1
67
+ end
68
+ end
69
+ end
@@ -1,3 +1,3 @@
1
1
  module Tads6Picolo
2
- VERSION = "0.2.1"
2
+ VERSION = "1.0.0"
3
3
  end
data/lib/tads6_picolo.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  require "tads6_picolo/version"
2
- require "tads6_picolo/hello_world"
2
+ require "tads6_picolo/orm"
3
+ require 'yaml'
3
4
 
4
5
  module Tads6Picolo
5
6
  # Your code goes here...
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: 0.2.1
4
+ version: 1.0.0
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-02 00:00:00.000000000 Z
11
+ date: 2018-10-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -71,7 +71,7 @@ files:
71
71
  - bin/console
72
72
  - bin/setup
73
73
  - lib/tads6_picolo.rb
74
- - lib/tads6_picolo/hello_world.rb
74
+ - lib/tads6_picolo/orm.rb
75
75
  - lib/tads6_picolo/version.rb
76
76
  - tads6_picolo.gemspec
77
77
  homepage: http://www.ifms.edu.br
@@ -95,7 +95,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
95
95
  version: '0'
96
96
  requirements: []
97
97
  rubyforge_project:
98
- rubygems_version: 2.7.7
98
+ rubygems_version: 2.7.3
99
99
  signing_key:
100
100
  specification_version: 4
101
101
  summary: Gem para ORM para aulas de Tópicos Especias em TI - IFMS
@@ -1,7 +0,0 @@
1
- module Tads6Picolo
2
- class HelloWorld
3
- def self.say(word)
4
- word
5
- end
6
- end
7
- end