tads6_picolo 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: 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