activeentity 0.0.1.beta2 → 0.0.1.beta3
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
|
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:
|