seri 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 +4 -4
- data/.circleci/config.yml +1 -9
- data/.gitignore +1 -0
- data/Gemfile.lock +2 -2
- data/README.md +1 -1
- data/lib/serializer/version.rb +1 -1
- data/lib/serializer.rb +6 -4
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0cd689240bcf4de7c1e6e8e583a1a465c1d61102cb8d5aa26e99c50ddbe84399
|
4
|
+
data.tar.gz: 69f82fa0bae7cd349713bf98f44454acb0fdd217491cf8cae9d07d0f1c4cceaf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '010940cfb05b32b29af2ed9df5539832003cc829de76b9878844474f822d8499a47a16cb4798a74ec4f34a4455d3126c61cc66ac7b958f882489d4432da64287'
|
7
|
+
data.tar.gz: 7d1311e5bc7712923a4acc852d95e3525ce63a28cb9319c3e792e64c2132bb00870045705b2702f32dbff1747e05d2eccccbf600a605aaf7c9f54b8384e08a2b
|
data/.circleci/config.yml
CHANGED
@@ -1,18 +1,10 @@
|
|
1
1
|
# Ruby CircleCI 2.0 configuration file
|
2
|
-
#
|
3
|
-
# Check https://circleci.com/docs/2.0/language-ruby/ for more details
|
4
|
-
#
|
5
2
|
version: 2
|
6
3
|
jobs:
|
7
4
|
build:
|
8
5
|
docker:
|
9
6
|
# specify the version you desire here
|
10
|
-
- image: circleci/ruby:2.
|
11
|
-
|
12
|
-
# Specify service dependencies here if necessary
|
13
|
-
# CircleCI maintains a library of pre-built images
|
14
|
-
# documented at https://circleci.com/docs/2.0/circleci-images/
|
15
|
-
# - image: circleci/postgres:9.4
|
7
|
+
- image: circleci/ruby:2.5.3-node-browsers
|
16
8
|
|
17
9
|
working_directory: ~/repo
|
18
10
|
|
data/.gitignore
CHANGED
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Seri
|
2
2
|
|
3
|
-
[![CircleCI](https://circleci.com/gh/grdw/
|
3
|
+
[![CircleCI](https://circleci.com/gh/grdw/seri.svg?style=svg)](https://circleci.com/gh/grdw/seri)
|
4
4
|
|
5
5
|
A basic replacement for gems like `active_model_serializers`. Can turn any
|
6
6
|
basic Ruby object into a Hash or JSON string with features like:
|
data/lib/serializer/version.rb
CHANGED
data/lib/serializer.rb
CHANGED
@@ -36,13 +36,13 @@ class Serializer
|
|
36
36
|
value = if attribute.options.has_key?(:static_value)
|
37
37
|
attribute.options.fetch(:static_value)
|
38
38
|
elsif respond_to?(extraction_key)
|
39
|
-
public_send(extraction_key)
|
40
|
-
elsif object.respond_to?(extraction_key) && attribute.serializer
|
41
|
-
value = object.public_send(extraction_key)
|
39
|
+
value = public_send(extraction_key)
|
42
40
|
|
43
41
|
serialize_value(value, attribute.serializer)
|
44
42
|
elsif object.respond_to?(extraction_key)
|
45
|
-
object.public_send(extraction_key)
|
43
|
+
value = object.public_send(extraction_key)
|
44
|
+
|
45
|
+
serialize_value(value, attribute.serializer)
|
46
46
|
else
|
47
47
|
raise SerializerError, "unknown attribute '#{extraction_key}'"
|
48
48
|
end
|
@@ -60,6 +60,8 @@ class Serializer
|
|
60
60
|
private
|
61
61
|
|
62
62
|
def serialize_value(value, serializer)
|
63
|
+
return value unless serializer
|
64
|
+
|
63
65
|
if value.is_a?(Array)
|
64
66
|
value.map { |v| serializer.new(v).to_h }
|
65
67
|
else
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: seri
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- grdw
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-12-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: oj
|