activeentity 0.0.1.beta2 → 0.0.1.beta3
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
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8939ee2c816d857682536b7bf8de1901f42334db49b55fb4c29c9845e809888a
|
4
|
+
data.tar.gz: 4dc520b5bf0c6864a41ca5a12e67c5ff043ab5994444375c83c2dba3d98c0c5e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2a6bb6eca6b8dde1d8fba089c9ab679eea8b72a46479f9cd9ce211294808b9a339a0a472bcdaff6d31799634d197265ee3e63a23d0edb55d2d1921c9b8d568ac
|
7
|
+
data.tar.gz: 3ed46914914b39ec49829d689d16c09ddffd95b7060ec4bd789938467f9694f22115f6b39c09e988088065196dd01643ed095fab75ecd1a3ce7242ff0f546afc
|
data/lib/active_entity.rb
CHANGED
data/lib/active_entity/type.rb
CHANGED
@@ -13,6 +13,7 @@ require "active_entity/type/text"
|
|
13
13
|
require "active_entity/type/unsigned_integer"
|
14
14
|
|
15
15
|
require "active_entity/type/modifiers/array"
|
16
|
+
require "active_entity/type/modifiers/array_without_blank"
|
16
17
|
|
17
18
|
require "active_entity/type/serialized"
|
18
19
|
require "active_entity/type/registry"
|
@@ -56,6 +57,7 @@ module ActiveEntity
|
|
56
57
|
Value = ActiveModel::Type::Value
|
57
58
|
|
58
59
|
add_modifier({ array: true }, Modifiers::Array)
|
60
|
+
add_modifier({ array_without_blank: true }, Modifiers::ArrayWithoutBlank)
|
59
61
|
|
60
62
|
register(:big_integer, Type::BigInteger, override: false)
|
61
63
|
register(:binary, Type::Binary, override: false)
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module ActiveEntity
|
4
|
+
module Type
|
5
|
+
module Modifiers
|
6
|
+
class ArrayWithoutBlank < Array # :nodoc:
|
7
|
+
private
|
8
|
+
|
9
|
+
def type_cast_array(value, method)
|
10
|
+
if value.is_a?(::Array)
|
11
|
+
::ArrayWithoutBlank.new value.map { |item| type_cast_array(item, method) }
|
12
|
+
else
|
13
|
+
@subtype.public_send(method, value)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class ArrayWithoutBlank < Array
|
4
|
+
def self.new(*several_variants)
|
5
|
+
arr = super
|
6
|
+
arr.reject!(&:blank?)
|
7
|
+
arr
|
8
|
+
end
|
9
|
+
|
10
|
+
def initialize_copy(other_ary)
|
11
|
+
super other_ary.reject(&:blank?)
|
12
|
+
end
|
13
|
+
|
14
|
+
def replace(other_ary)
|
15
|
+
super other_ary.reject(&:blank?)
|
16
|
+
end
|
17
|
+
|
18
|
+
def push(obj, *smth)
|
19
|
+
return self if obj.blank?
|
20
|
+
super
|
21
|
+
end
|
22
|
+
|
23
|
+
def insert(*args)
|
24
|
+
super(*args.reject(&:blank?))
|
25
|
+
end
|
26
|
+
|
27
|
+
def []=(index, obj)
|
28
|
+
return self[index] if obj.blank?
|
29
|
+
super
|
30
|
+
end
|
31
|
+
|
32
|
+
def concat(other_ary)
|
33
|
+
super other_ary.reject(&:blank?)
|
34
|
+
end
|
35
|
+
|
36
|
+
def +(other_ary)
|
37
|
+
super other_ary.reject(&:blank?)
|
38
|
+
end
|
39
|
+
|
40
|
+
def <<(obj)
|
41
|
+
return self if obj.blank?
|
42
|
+
super
|
43
|
+
end
|
44
|
+
|
45
|
+
def to_ary
|
46
|
+
Array.new(self)
|
47
|
+
end
|
48
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activeentity
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.1.
|
4
|
+
version: 0.0.1.beta3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- jasl
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-04-
|
11
|
+
date: 2019-04-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -113,6 +113,7 @@ files:
|
|
113
113
|
- lib/active_entity/type/internal/timezone.rb
|
114
114
|
- lib/active_entity/type/json.rb
|
115
115
|
- lib/active_entity/type/modifiers/array.rb
|
116
|
+
- lib/active_entity/type/modifiers/array_without_blank.rb
|
116
117
|
- lib/active_entity/type/registry.rb
|
117
118
|
- lib/active_entity/type/serialized.rb
|
118
119
|
- lib/active_entity/type/text.rb
|
@@ -128,6 +129,7 @@ files:
|
|
128
129
|
- lib/active_entity/validations/subset.rb
|
129
130
|
- lib/active_entity/validations/uniqueness_in_embedding.rb
|
130
131
|
- lib/active_entity/version.rb
|
132
|
+
- lib/core_ext/array_without_blank.rb
|
131
133
|
- lib/tasks/active_entity_tasks.rake
|
132
134
|
homepage: https://github.com/jasl/activeentity
|
133
135
|
licenses:
|