golden_fleece 0.1.0 → 0.1.1

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