tads6_patrick 0.2.1 → 1.0.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: eab1af439d3a90e9f7eb34c395cc5658b40b9f7648c32e16fac70f449b71b727
4
- data.tar.gz: 6a1524d9805022e722e13514d558a4adf7d8737f83ee058756c31f1bc01dd6d8
3
+ metadata.gz: 9fd0abdb3bb73ae05393e04bab83fa685c3e7519ce1eded2984dc265fa3862e2
4
+ data.tar.gz: 8c8ea3c00c91bd35cb8fe726100bf65fa57efc8bd7e02397009042fee1a1b9c3
5
5
  SHA512:
6
- metadata.gz: cad2b20a8c9da9e6dc972b03ad85826b43689d1c918df08b33a41d683fb27964ad1afef6812734f8d874885575e9a27d10744c68ff9120502bc2dfcc3b5a8bb9
7
- data.tar.gz: dd637afbcdcac717cf4526a560cf9036660b148561e72c5172f1d016ef6333a35cacdf22ad3f99ed1f3d0a0db687e8b8fe61055a089421b77b0cf9964b3dfcdd
6
+ metadata.gz: 7e737c6fe9488537736ba2f218b07582d415ebd5533852da1f00feb7df48e4ccaba5f938fdedd729a3ec3d6d56461c4be37a203eca9490f5b2eac3e6662cec7a
7
+ data.tar.gz: 37dbf38d5a75360fb5edd6faf7502242e33deb6b55762a44c4beb5a12075ee7886568ed66680f31dff39ae2d0f9bd64df3e119a018f4bbeb77cd3f9c16623747
@@ -0,0 +1,70 @@
1
+ module Tads6Patrick
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
+ "db/#{self.to_s.downcase}"
63
+ end
64
+
65
+ def self.proximo_id
66
+ ultimo_id.to_i + 1
67
+ end
68
+ end
69
+
70
+ end
@@ -1,3 +1,3 @@
1
1
  module Tads6Patrick
2
- VERSION = "0.2.1"
2
+ VERSION = "1.0.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tads6_patrick
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
  - Patrick Mendes Cordeiro
@@ -72,6 +72,7 @@ files:
72
72
  - bin/setup
73
73
  - lib/tads6_patrick.rb
74
74
  - lib/tads6_patrick/hello_world.rb
75
+ - lib/tads6_patrick/orm.rb
75
76
  - lib/tads6_patrick/version.rb
76
77
  - tads6_patrick.gemspec
77
78
  homepage: http://www.ifms.edu.br