cascadev 1.0.0 → 1.1.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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/cascadev.rb +36 -0
  3. metadata +3 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6b98eafd10f5d0cc1fcb8eea07f3cd715540d8860189ac613dc29ba4f1a576a2
4
- data.tar.gz: c67e24a62934b840d7c5a42fe0ae1e07ed49245cace750a6556b771341ea7632
3
+ metadata.gz: 6d0e0b64282e7168d4ea9011cdaf841b46f90e38732ad5f0350dd45dbab9d473
4
+ data.tar.gz: 8e74f5d1e9fe22ea3becf191e8d4273f51a3428748c177476e205d302041cd0f
5
5
  SHA512:
6
- metadata.gz: 773040a0a0f8d58adccffacf119ee56d2a11e95a6f762e52f98c319232322ad64b8f5e361ff05f494c708c00762f50dc808d576100f60619713ca8a0d4291058
7
- data.tar.gz: 28c8e3d48dcbe49bbd38f42f69db541ea32cfd77cdf1c37212d426cc528292afddbfced1619fc63a83f1dcbfa167054b5c7be9639d541d4a1acbdcbb11f1724c
6
+ metadata.gz: 345120dd7f0408e439db4f4d7225aa2ed7208d6ef3f8cd18db8ab478a93bfad2d6ab78a19f4ab4ca4dede30c2666a656ebf3697bc0dcaf8ac56d40f240ff2281
7
+ data.tar.gz: fc0a83751db0dbf8fe44cd571cdbcc686d1a9d0ae971cf4f69730fc9ea7a061fffebdfba950bd357e24326872f64c89ef6185d71fb304a66679edbb52fda6cfe
@@ -115,6 +115,42 @@ class Cascadev
115
115
  return true
116
116
  end
117
117
 
118
+
119
+ ##
120
+ # Import from a file.
121
+ # Does not come with a fail-safe for corrupt files if they squeeze through the parameter check.
122
+ def import(filename, import_meta = true, ignore_first_line = false)
123
+ if !File.exist?(filename)
124
+ raise '[CaScadeV] Cannot find specificed file ' + filename
125
+ end
126
+ File.open(filename, 'r') do |import|
127
+ if import_meta
128
+ self.set_meta(import.gets.chomp)
129
+ end
130
+
131
+ if !import_meta && ignore_first_line
132
+ void = import.gets
133
+ void = nil
134
+ end
135
+
136
+ import.each_line do |line|
137
+ self.enq(line.chomp)
138
+ end
139
+ end
140
+ return true
141
+ end
142
+
143
+ ##
144
+ # Export as a CSV-String
145
+ def to_s
146
+ export = []
147
+ export.push @meta.join(',')
148
+ @database.each do |element|
149
+ export.push element.join(',')
150
+ end
151
+ return export.join("\n").chomp
152
+ end
153
+
118
154
  ##
119
155
  # Check validity of arguments for most methods.
120
156
  def check_args(args)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cascadev
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sönke Köster
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-10-13 00:00:00.000000000 Z
11
+ date: 2019-10-14 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Bring CSVs to live! This gem introduces CSVs as spreadsheets and comes
14
14
  with some database-like features.
@@ -37,8 +37,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
37
37
  - !ruby/object:Gem::Version
38
38
  version: '0'
39
39
  requirements: []
40
- rubyforge_project:
41
- rubygems_version: 2.7.6.2
40
+ rubygems_version: 3.0.3
42
41
  signing_key:
43
42
  specification_version: 4
44
43
  summary: CSV-Spreadsheets for Ruby