testingrecord 0.7 → 0.8
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 +4 -4
- data/lib/testing_record/model.rb +22 -5
- data/lib/testing_record/version.rb +1 -1
- metadata +8 -8
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 63ee9271871c1194e05e12d7f4d5d23bc744f703461b8519d45300f180f5432c
|
|
4
|
+
data.tar.gz: 251d286e38df1ed55a6e25f40c615ca7ccc1673c50758ab0bec861eabc354da7
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 45cc639fbc3e7d7ca82c4d08ad4a867f7ff550a78738de717ca07ae7b3fa5e6bf7b9991f07bc745690eab33db0e2a39a58cb8f1fb61f259567280651941630bb
|
|
7
|
+
data.tar.gz: 68975a0f8c4efbe1ed14aab9e47f0809c6f58377c5f587aa20c5192847869ff15becb145356d06a1a8fd78c1a3257e43ee85184806f91a40ed71eda331ba978c
|
data/lib/testing_record/model.rb
CHANGED
|
@@ -14,21 +14,31 @@ module TestingRecord
|
|
|
14
14
|
attr_reader :attributes
|
|
15
15
|
|
|
16
16
|
class << self
|
|
17
|
-
|
|
17
|
+
attr_reader :current
|
|
18
18
|
|
|
19
19
|
# Creates an instance of the model
|
|
20
20
|
# -> Creating iVar values for each attribute that was provided
|
|
21
21
|
# -> Adding it to the cache if caching is enabled
|
|
22
|
+
# -> Keeping a track of all originally supplied attributes in symbolized format in the `attributes` iVar
|
|
22
23
|
#
|
|
23
24
|
# @return [TestingRecord::Model]
|
|
24
25
|
def create(attributes)
|
|
25
|
-
new(attributes).tap do |entity|
|
|
26
|
+
new(attributes.transform_keys(&:to_sym)).tap do |entity|
|
|
26
27
|
configure_data(entity, attributes)
|
|
27
28
|
add_helpers(attributes) if entity.class.instance_variable_get(:@include_helpers)
|
|
28
29
|
cache_entity(entity)
|
|
29
30
|
end
|
|
30
31
|
end
|
|
31
32
|
|
|
33
|
+
def current=(entity)
|
|
34
|
+
if entity
|
|
35
|
+
TestingRecord.logger.info("Switching current user from #{@current} to #{entity}")
|
|
36
|
+
else
|
|
37
|
+
TestingRecord.logger.info("Purging current user: #{@current}")
|
|
38
|
+
end
|
|
39
|
+
@current = entity
|
|
40
|
+
end
|
|
41
|
+
|
|
32
42
|
# Deletes the instance of the model from the cache (Does nothing if caching is disabled)
|
|
33
43
|
#
|
|
34
44
|
# @return [TestingRecord::Model]
|
|
@@ -36,6 +46,13 @@ module TestingRecord
|
|
|
36
46
|
all.delete(entity) if respond_to?(:all)
|
|
37
47
|
end
|
|
38
48
|
|
|
49
|
+
# Deletes the instance of the model from the cache (Does nothing if caching is disabled)
|
|
50
|
+
#
|
|
51
|
+
# @return [TestingRecord::Model]
|
|
52
|
+
def delete_by_id(id)
|
|
53
|
+
delete(with_id(id)) if respond_to?(:all)
|
|
54
|
+
end
|
|
55
|
+
|
|
39
56
|
private
|
|
40
57
|
|
|
41
58
|
def cache_entity(entity)
|
|
@@ -74,15 +91,15 @@ module TestingRecord
|
|
|
74
91
|
end
|
|
75
92
|
|
|
76
93
|
# Updates an entity (instance), of a model
|
|
77
|
-
# -> Updating iVar values for each attribute that was provided
|
|
94
|
+
# -> Updating iVar values for each attribute that was provided (Converting to symbolized format)
|
|
78
95
|
# -> It will **not** create new reader methods for new variables added
|
|
79
96
|
#
|
|
80
97
|
# @return [TestingRecord::Model]
|
|
81
98
|
def update(attrs)
|
|
82
|
-
attrs.each do |key, value|
|
|
99
|
+
attrs.transform_keys(&:to_sym).each do |key, value|
|
|
83
100
|
attributes[key] = value
|
|
84
101
|
instance_variable_set("@#{key}", value)
|
|
85
|
-
TestingRecord.logger.info("Updated '#{key}' on
|
|
102
|
+
TestingRecord.logger.info("Updated '#{key}' on the #{self.class} entity to be '#{value}'")
|
|
86
103
|
end
|
|
87
104
|
self
|
|
88
105
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: testingrecord
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: '0.
|
|
4
|
+
version: '0.8'
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Luke Hill
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-03-
|
|
11
|
+
date: 2026-03-10 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: automation_helpers
|
|
@@ -19,7 +19,7 @@ dependencies:
|
|
|
19
19
|
version: '5'
|
|
20
20
|
- - "<"
|
|
21
21
|
- !ruby/object:Gem::Version
|
|
22
|
-
version: '
|
|
22
|
+
version: '8'
|
|
23
23
|
type: :runtime
|
|
24
24
|
prerelease: false
|
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -29,7 +29,7 @@ dependencies:
|
|
|
29
29
|
version: '5'
|
|
30
30
|
- - "<"
|
|
31
31
|
- !ruby/object:Gem::Version
|
|
32
|
-
version: '
|
|
32
|
+
version: '8'
|
|
33
33
|
- !ruby/object:Gem::Dependency
|
|
34
34
|
name: logger
|
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -64,28 +64,28 @@ dependencies:
|
|
|
64
64
|
requirements:
|
|
65
65
|
- - "~>"
|
|
66
66
|
- !ruby/object:Gem::Version
|
|
67
|
-
version: 1.85.
|
|
67
|
+
version: 1.85.1
|
|
68
68
|
type: :development
|
|
69
69
|
prerelease: false
|
|
70
70
|
version_requirements: !ruby/object:Gem::Requirement
|
|
71
71
|
requirements:
|
|
72
72
|
- - "~>"
|
|
73
73
|
- !ruby/object:Gem::Version
|
|
74
|
-
version: 1.85.
|
|
74
|
+
version: 1.85.1
|
|
75
75
|
- !ruby/object:Gem::Dependency
|
|
76
76
|
name: rubocop-performance
|
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
|
78
78
|
requirements:
|
|
79
79
|
- - "~>"
|
|
80
80
|
- !ruby/object:Gem::Version
|
|
81
|
-
version: 1.
|
|
81
|
+
version: 1.26.1
|
|
82
82
|
type: :development
|
|
83
83
|
prerelease: false
|
|
84
84
|
version_requirements: !ruby/object:Gem::Requirement
|
|
85
85
|
requirements:
|
|
86
86
|
- - "~>"
|
|
87
87
|
- !ruby/object:Gem::Version
|
|
88
|
-
version: 1.
|
|
88
|
+
version: 1.26.1
|
|
89
89
|
- !ruby/object:Gem::Dependency
|
|
90
90
|
name: rubocop-rspec
|
|
91
91
|
requirement: !ruby/object:Gem::Requirement
|