golden_fleece 0.1.4 → 0.1.5

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
  SHA1:
3
- metadata.gz: 4383647ce6ea57c9cd1e654893538448d2a0b4ec
4
- data.tar.gz: 06ed9dd5b659ed74343df74fc21732b22740cc12
3
+ metadata.gz: 2204bb19d2ab9b43f0dc91d432cd5285b65fbf4b
4
+ data.tar.gz: 0174ec6686b7ce519c373a66a19e77c4054f552c
5
5
  SHA512:
6
- metadata.gz: acae2255e1e3fa1a35d499cc464487093c94c4bc91a824bae9a8ffb5f3740043984ffb86bb1058e30534011a83c0b65b56e0bcd3e235eeeb6ae0445d57fe5c34
7
- data.tar.gz: 0b114df635bf38a94b6f19abc6d8f9473392a4dad817a7a22b55af0afdfb7c33c61813503003cbdaada32d275d5ccdaac02316e7a04156b6f2dc5b2f1fe23f6a
6
+ metadata.gz: 2b0202c36875d51209114d97429997281ce501d9b477b3ba4cc67a1040522a4b5941834bd1b7837486559b0eb59ba6c50c9b6f83f4402f15bbb71c88acdf1ae0
7
+ data.tar.gz: e950fc68a59c0954617ed4902e079d5b65637e86e88581f4e1e1f347c5628f24981a219724c2f972d77ef64d5bd8d6306f6789091138ed60707c495803b89a07
data/CHANGELOG.md CHANGED
@@ -5,6 +5,11 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/)
5
5
  and this project adheres to [Semantic Versioning](http://semver.org/).
6
6
 
7
7
  ## [Unreleased]
8
+ ### [0.1.5] - 2017-06-09
9
+ ### Fixed
10
+ - Subschema defaults no longer ignored in corner cases
11
+ - Consistently symbolize all keys for `export_fleece`
12
+
8
13
  ### [0.1.4] - 2017-05-26
9
14
  ### Fixed
10
15
  - nil booleans values no longer casted into true under certain cases
@@ -35,7 +40,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
35
40
  - Getters
36
41
  - Specs
37
42
 
38
- [Unreleased]: https://github.com/earksiinni/golden_fleece/compare/v0.1.4...HEAD
43
+ [Unreleased]: https://github.com/earksiinni/golden_fleece/compare/v0.1.5...HEAD
44
+ [0.1.5]: https://github.com/earksiinni/golden_fleece/compare/v0.1.4...v0.1.5
39
45
  [0.1.4]: https://github.com/earksiinni/golden_fleece/compare/v0.1.3...v0.1.4
40
46
  [0.1.3]: https://github.com/earksiinni/golden_fleece/compare/v0.1.2...v0.1.3
41
47
  [0.1.2]: https://github.com/earksiinni/golden_fleece/compare/v0.1.1...v0.1.2
@@ -26,5 +26,12 @@ module GoldenFleece
26
26
  memo
27
27
  }
28
28
  end
29
+
30
+ def deep_symbolize_keys(hash)
31
+ hash.reduce({}) { |memo, (key, value)|
32
+ memo[key.to_sym] = value.is_a?(Hash) ? deep_symbolize_keys(value) : value
33
+ memo
34
+ }
35
+ end
29
36
  end
30
37
  end
@@ -38,7 +38,7 @@ module GoldenFleece
38
38
  # If there's a persisted value, use that
39
39
  # If not, use the default value; if the default is a lambda, call it
40
40
  def apply_default
41
- @value = if value.nil?
41
+ @value = if value.nil? || schema.parent?
42
42
  if schema.parent?
43
43
  d = schema.reduce({}) { |memo, (subschema_name, subschema)|
44
44
  memo[subschema_name] = subschema.value.compute(record)
@@ -51,7 +51,7 @@ module GoldenFleece
51
51
  schema.default
52
52
  end
53
53
  else
54
- value
54
+ value.is_a?(Hash) ? deep_symbolize_keys(value) : value
55
55
  end
56
56
  end
57
57
  end
@@ -1,3 +1,3 @@
1
1
  module GoldenFleece
2
- VERSION = "0.1.4"
2
+ VERSION = "0.1.5"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: golden_fleece
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ersin Akinci
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-05-26 00:00:00.000000000 Z
11
+ date: 2017-06-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler