storable 0.6.3 → 0.6.4
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.
- data/CHANGES.txt +7 -0
- data/lib/storable.rb +3 -7
- data/storable.gemspec +1 -1
- metadata +2 -2
data/CHANGES.txt
CHANGED
@@ -1,5 +1,12 @@
|
|
1
1
|
STORABLE, CHANGES
|
2
2
|
|
3
|
+
* TODO: field_types and field_names go out of order when defining some fields with types and others not. The quick fix is to define fields with no type at the end
|
4
|
+
|
5
|
+
#### 0.6.4 (2010-03-10) #############################
|
6
|
+
|
7
|
+
* FIXED: Don't pull the first value out of an array if there is only one element.
|
8
|
+
* FIXED: Stored Arrays were nested in another Array in some cases
|
9
|
+
|
3
10
|
#### 0.6.2 (2010-02-12) #############################
|
4
11
|
|
5
12
|
* CHANGE: Removed hanna dependency [Diego Elio 'Flameeyes' Pettenò]
|
data/lib/storable.rb
CHANGED
@@ -40,7 +40,7 @@ class Storable
|
|
40
40
|
|
41
41
|
require 'storable/orderedhash' if USE_ORDERED_HASH
|
42
42
|
unless defined?(SUPPORTED_FORMATS) # We can assume all are defined
|
43
|
-
VERSION = "0.6.
|
43
|
+
VERSION = "0.6.4"
|
44
44
|
NICE_TIME_FORMAT = "%Y-%m-%d@%H:%M:%S".freeze
|
45
45
|
SUPPORTED_FORMATS = [:tsv, :csv, :yaml, :json, :s, :string].freeze
|
46
46
|
end
|
@@ -166,22 +166,18 @@ class Storable
|
|
166
166
|
def from_hash(from={})
|
167
167
|
fnames = field_names
|
168
168
|
fnames.each_with_index do |key,index|
|
169
|
-
|
170
169
|
stored_value = from[key] || from[key.to_s] # support for symbol keys and string keys
|
171
170
|
|
172
171
|
# TODO: Correct this horrible implementation
|
173
172
|
# (sorry, me. It's just one of those days.) -- circa 2008-09-15
|
174
173
|
|
175
174
|
if field_types[index] == Array
|
176
|
-
|
175
|
+
value = Array === stored_value ? stored_value : [stored_value]
|
177
176
|
elsif field_types[index].kind_of?(Hash)
|
178
|
-
|
179
177
|
value = stored_value
|
180
178
|
else
|
181
179
|
|
182
|
-
|
183
|
-
##value = stored_value.first if stored_value.is_a?(Array) && stored_value.size == 1
|
184
|
-
value = (stored_value.is_a?(Array) && stored_value.size == 1) ? stored_value.first : stored_value
|
180
|
+
value = stored_value
|
185
181
|
|
186
182
|
if field_types[index] == Time
|
187
183
|
value = Time.parse(value)
|
data/storable.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
@spec = Gem::Specification.new do |s|
|
2
2
|
s.name = "storable"
|
3
3
|
s.rubyforge_project = "storable"
|
4
|
-
s.version = "0.6.
|
4
|
+
s.version = "0.6.4"
|
5
5
|
s.summary = "Storable: Marshal Ruby classes into and out of multiple formats (yaml, json, csv, tsv)"
|
6
6
|
s.description = s.summary
|
7
7
|
s.author = "Delano Mandelbaum"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: storable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Delano Mandelbaum
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-
|
12
|
+
date: 2010-03-15 00:00:00 -04:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|