golden_fleece 0.1.0 → 0.1.1

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
  SHA1:
3
- metadata.gz: 69b0eddc5da9185615c28fa06cb491850643d5ce
4
- data.tar.gz: a6f855832e94fe8d72d71f9f837dea0004fc370b
3
+ metadata.gz: f996bbd5d3cba822166100ddbc5dce786e65b816
4
+ data.tar.gz: f35cf4bf3aa2e42e6570e802be2f643fe9304a92
5
5
  SHA512:
6
- metadata.gz: 02edc695368a00db6beadb66b7ca9ee9ac06384581bf09119cdef5e1e904d384b418ccb58d649b28c587e2d02c4c4b08cb57ee0ef1c6a5fbc6b93d302f72135a
7
- data.tar.gz: 8c67be8b70be4d7b37502fa8b52984708e4c95f8972b2c7801d342d15155d03d200766eed9f83091b53cf430ad790fcf1fe81e8e5a00524dcc2b095c2b5b89f6
6
+ metadata.gz: 9c6fb47d237602b4f038de774bf5b5a596f1e73f9639d0892a4f49e60c1b5f33f2c4b9b42e52718ed952dd21f5ba0e88721a3c8ffd35775febea096cd44852c8
7
+ data.tar.gz: c677a968dc4a79037c4f5580787e23452d8fd53bee4c317986ec42515b0039abf989e5b4bafececf4419ff0b449740559c5424cec63cd0a618f424f1886be7c8
data/.gitignore CHANGED
@@ -10,3 +10,5 @@
10
10
 
11
11
  # rspec failure tracking
12
12
  .rspec_status
13
+
14
+ *.gem
data/CHANGELOG.md ADDED
@@ -0,0 +1,24 @@
1
+ # Change Log
2
+ All notable changes to this project will be documented in this file.
3
+
4
+ The format is based on [Keep a Changelog](http://keepachangelog.com/)
5
+ and this project adheres to [Semantic Versioning](http://semver.org/).
6
+
7
+ ## [Unreleased]
8
+
9
+ ## [0.1.1] - 2017-05-25
10
+ ### Fixed
11
+ - IMPORTANT: Fixed how normalization works when saving, no longer clobbers JSON
12
+
13
+ ## 0.1.0 - 2017-05-25
14
+ ### Added
15
+ - Initial commit
16
+ - Schemas
17
+ - Validation (types and formats)
18
+ - Normalization
19
+ - Exporting
20
+ - Getters
21
+ - Specs
22
+
23
+ [Unreleased]: https://github.com/earksiinni/golden_fleece/compare/v0.1.1...HEAD
24
+ [0.1.1]: https://github.com/earksiinni/golden_fleece/compare/ad25a847b5678b1f3a6c1c0b6a986d784142d38f...v0.1.1
@@ -6,15 +6,13 @@ module GoldenFleece
6
6
  def normalize_fleece
7
7
  self.class.fleece_context.schemas.each do |attribute, schema|
8
8
  persisted_json = read_attribute attribute
9
+ computed_json = deep_stringify_keys schema.reduce({}) { |memo, (schema_name, schema)|
10
+ memo[schema_name] = schema.value.compute(self)
11
+ memo
12
+ }
9
13
 
10
- schema.each do |schema_name, schema|
11
- schema_name = schema_name.to_s
12
- computed_json = { schema_name => schema.value.compute(self) }
13
- deep_stringify_keys computed_json if computed_json.is_a? Hash
14
-
15
- if !persisted_json[schema_name].nil? && persisted_json[schema_name] != computed_json[schema_name]
16
- write_attribute attribute, computed_json
17
- end
14
+ if !persisted_json.nil? && persisted_json != computed_json
15
+ write_attribute attribute, computed_json
18
16
  end
19
17
  end
20
18
  end
@@ -1,3 +1,3 @@
1
1
  module GoldenFleece
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
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.0
4
+ version: 0.1.1
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-25 00:00:00.000000000 Z
11
+ date: 2017-05-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -120,6 +120,7 @@ files:
120
120
  - ".gitignore"
121
121
  - ".rspec"
122
122
  - ".travis.yml"
123
+ - CHANGELOG.md
123
124
  - CODE_OF_CONDUCT.md
124
125
  - Gemfile
125
126
  - LICENSE.txt