traitr 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/traitor/config.rb +6 -2
- data/lib/traitor.rb +4 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2667be9e06efe6618b73bf825373f9e1ca3cd561
|
4
|
+
data.tar.gz: 0c9c033c9115dbf6663131abd6d335842c8d5644
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7ca5c6aa856de36fe96434b2058fd70bad92135c1bf625e10dec39d06d650d3c8adaa961f26be4c8723bf64d8451078a1963b04ce7c3472d7ab637f6cccdbabe
|
7
|
+
data.tar.gz: 777b4865d18b62936e968a96795acc51d319b68e0a4300aafa365a209dccbf7aaaa12d83a9b1be4fc0ed57ff25dc10751065737ef21a1954e307c121a8ba6e47
|
data/lib/traitor/config.rb
CHANGED
@@ -3,26 +3,30 @@ module Traitor
|
|
3
3
|
@save_method = nil
|
4
4
|
@save_kwargs = {}
|
5
5
|
@build_kwargs = {}
|
6
|
+
@build_with_list = false # use (**attributes.merge(build_kwargs)) instead of (attributes, **build_kwargs)
|
6
7
|
|
7
8
|
class << self
|
8
|
-
attr_accessor :save_method, :save_kwargs, :build_kwargs
|
9
|
+
attr_accessor :save_method, :save_kwargs, :build_kwargs, :build_with_list
|
9
10
|
|
10
11
|
def configure_for_rails!
|
11
12
|
@save_method = :save
|
12
13
|
@save_kwargs = { validate: false }
|
13
|
-
@build_kwargs = {
|
14
|
+
@build_kwargs = { without_protection: true }
|
15
|
+
@build_with_list = false
|
14
16
|
end
|
15
17
|
|
16
18
|
def configure_safe_for_rails!
|
17
19
|
@save_method = :save
|
18
20
|
@save_kwargs = {}
|
19
21
|
@build_kwargs = {}
|
22
|
+
@build_with_list = false
|
20
23
|
end
|
21
24
|
|
22
25
|
def reset!
|
23
26
|
@save_method = nil
|
24
27
|
@save_kwargs = {}
|
25
28
|
@build_kwargs = {}
|
29
|
+
@build_with_list = false
|
26
30
|
end
|
27
31
|
end
|
28
32
|
end
|
data/lib/traitor.rb
CHANGED
@@ -63,8 +63,11 @@ module Traitor
|
|
63
63
|
##
|
64
64
|
def self.build(klass, *traits, **attributes)
|
65
65
|
attributes = get_attributes_from_traits(klass, traits).merge(attributes)
|
66
|
+
build_kwargs = Traitor::Config.build_kwargs
|
66
67
|
|
67
|
-
record = if
|
68
|
+
record = if Traitor::Config.build_with_list
|
69
|
+
convert_to_class(klass).new(**attributes.merge(build_kwargs))
|
70
|
+
elsif build_kwargs.any?
|
68
71
|
convert_to_class(klass).new(attributes, **build_kwargs)
|
69
72
|
else
|
70
73
|
convert_to_class(klass).new(attributes)
|