testingrecord 0.6 → 0.7
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/dsl/builder/helpers.rb +10 -7
- data/lib/testing_record/dsl/builder/settings.rb +0 -13
- data/lib/testing_record/model.rb +21 -11
- data/lib/testing_record/version.rb +1 -1
- data/lib/testing_record.rb +18 -0
- metadata +4 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 163d454cbedadbfb903dcfd141aafe10554fb9aa6b8ef2ff8c5c44abe6d1a7b3
|
|
4
|
+
data.tar.gz: bb4fcd7db84017b1032cbf1a362cdddc9fae583b7b71146c6b4019ed7b372288
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1cb9024a7d5dd9cda0f15841e955ae45e4caa508d90c13433be6e70fc12aa75b7ec54cd9f9e1bb04b050e4f7e23408558106a18e67cd64403a20da57184e4057
|
|
7
|
+
data.tar.gz: 0d479648df51da1455edfa5b2b5c4a749cefc6f68e572fd3e9384a8d21b7e097a5a5e3d4a5ae2a049b8338815b07c4a389defbbdb9e0b710bdfbd3fe64c30fa7
|
|
@@ -6,17 +6,20 @@ module TestingRecord
|
|
|
6
6
|
# [TestingRecord::DSL::Builder::Helpers]
|
|
7
7
|
# Ways in which we can build in extra helper methods from building requests
|
|
8
8
|
module Helpers
|
|
9
|
-
#
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
def add_helpers
|
|
13
|
-
attributes.each do |attribute|
|
|
14
|
-
add_presence_helper(attribute)
|
|
15
|
-
end
|
|
9
|
+
# DSL signature to add all helpers - Should be procedurally called in the class definition
|
|
10
|
+
def include_helpers
|
|
11
|
+
@include_helpers = true
|
|
16
12
|
end
|
|
17
13
|
|
|
18
14
|
private
|
|
19
15
|
|
|
16
|
+
# Top level wrapper method that will incrementally add each helper (Currently only one)
|
|
17
|
+
def add_helpers(attributes)
|
|
18
|
+
attributes.each_key do |attribute|
|
|
19
|
+
add_presence_helper(attribute)
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
20
23
|
# Add the boolean helper which will perform a check to determine whether...
|
|
21
24
|
# For singular / default categorisations, this checks if one has been set over the default empty value
|
|
22
25
|
# For plural attributes whether the array has any values
|
|
@@ -12,19 +12,6 @@ module TestingRecord
|
|
|
12
12
|
|
|
13
13
|
attr_reader :__primary_key
|
|
14
14
|
|
|
15
|
-
# Sets an attribute on the model
|
|
16
|
-
#
|
|
17
|
-
# @return [Array<Symbol>]
|
|
18
|
-
def attribute(name)
|
|
19
|
-
attr_reader name
|
|
20
|
-
|
|
21
|
-
attributes << name
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
def attributes
|
|
25
|
-
@attributes ||= []
|
|
26
|
-
end
|
|
27
|
-
|
|
28
15
|
# Create a cache of the entities, named according to the classname
|
|
29
16
|
#
|
|
30
17
|
# @return [Symbol]
|
data/lib/testing_record/model.rb
CHANGED
|
@@ -21,18 +21,11 @@ module TestingRecord
|
|
|
21
21
|
# -> Adding it to the cache if caching is enabled
|
|
22
22
|
#
|
|
23
23
|
# @return [TestingRecord::Model]
|
|
24
|
-
def create(attributes
|
|
24
|
+
def create(attributes)
|
|
25
25
|
new(attributes).tap do |entity|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
break entity unless respond_to?(:all)
|
|
32
|
-
|
|
33
|
-
self.current = entity
|
|
34
|
-
all << entity
|
|
35
|
-
TestingRecord.logger.debug("Entity: #{entity} added to cache")
|
|
26
|
+
configure_data(entity, attributes)
|
|
27
|
+
add_helpers(attributes) if entity.class.instance_variable_get(:@include_helpers)
|
|
28
|
+
cache_entity(entity)
|
|
36
29
|
end
|
|
37
30
|
end
|
|
38
31
|
|
|
@@ -42,6 +35,23 @@ module TestingRecord
|
|
|
42
35
|
def delete(entity)
|
|
43
36
|
all.delete(entity) if respond_to?(:all)
|
|
44
37
|
end
|
|
38
|
+
|
|
39
|
+
private
|
|
40
|
+
|
|
41
|
+
def cache_entity(entity)
|
|
42
|
+
return unless respond_to?(:all)
|
|
43
|
+
|
|
44
|
+
self.current = entity
|
|
45
|
+
all << entity
|
|
46
|
+
TestingRecord.logger.debug("Entity: #{entity} added to cache")
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
def configure_data(entity, attributes)
|
|
50
|
+
attributes.each do |attribute_key, attribute_value|
|
|
51
|
+
entity.instance_variable_set("@#{attribute_key}", attribute_value)
|
|
52
|
+
entity.class.attr_reader attribute_key
|
|
53
|
+
end
|
|
54
|
+
end
|
|
45
55
|
end
|
|
46
56
|
|
|
47
57
|
def initialize(attributes = {})
|
data/lib/testing_record.rb
CHANGED
|
@@ -32,5 +32,23 @@ module TestingRecord
|
|
|
32
32
|
def log_path=(logdev)
|
|
33
33
|
logger.reopen(logdev)
|
|
34
34
|
end
|
|
35
|
+
|
|
36
|
+
# To enable full logging (This uses the Ruby API, so can accept any of a
|
|
37
|
+
# Symbol / String / Integer as an input
|
|
38
|
+
# TestingRecord.log_level = :DEBUG
|
|
39
|
+
# TestingRecord.log_level = 'DEBUG'
|
|
40
|
+
# TestingRecord.log_level = 0
|
|
41
|
+
#
|
|
42
|
+
# To disable all logging
|
|
43
|
+
# TestingRecord.log_level = :UNKNOWN
|
|
44
|
+
def log_level=(value)
|
|
45
|
+
logger.level = value
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# To query what level is being logged
|
|
49
|
+
# TestingRecord.log_level # => :DEBUG # By default
|
|
50
|
+
def log_level
|
|
51
|
+
%i[DEBUG INFO WARN ERROR FATAL UNKNOWN][logger.level]
|
|
52
|
+
end
|
|
35
53
|
end
|
|
36
54
|
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.7'
|
|
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-
|
|
11
|
+
date: 2026-03-03 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: automation_helpers
|
|
@@ -64,14 +64,14 @@ dependencies:
|
|
|
64
64
|
requirements:
|
|
65
65
|
- - "~>"
|
|
66
66
|
- !ruby/object:Gem::Version
|
|
67
|
-
version: 1.
|
|
67
|
+
version: 1.85.0
|
|
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.
|
|
74
|
+
version: 1.85.0
|
|
75
75
|
- !ruby/object:Gem::Dependency
|
|
76
76
|
name: rubocop-performance
|
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|