reflekt 0.1.1 → 0.3.1
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/reflekt.rb +41 -7
- metadata +4 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7eecfaacf0ed26a06a1ab774a55f5ecf62713a71a685162a0da0fbd40696afec
|
4
|
+
data.tar.gz: 8a64d9fc0c39102423e6c95cfbdecbc53d9510097b63c35cb2f4cb4fb89d8870
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d6029337485e9d149bd225e1a2786a37f7646115f3ea2adb6835adc8f686a1f93d090e7f68a3787ec37870f724f1a47dddf2df8b4ca58ad8dd6e7f0bda504c7c
|
7
|
+
data.tar.gz: da9b95e714e27bc6b96475784129aa66c8468657544d6bc368fb89edee5b4fbc2c4022770482b0d1fa3095bb310ec215c72fd2a63221b897c307748f2eff80cd
|
data/lib/reflekt.rb
CHANGED
@@ -1,10 +1,17 @@
|
|
1
1
|
require 'set'
|
2
|
+
|
3
|
+
# Production.
|
2
4
|
require 'rowdb'
|
3
5
|
|
6
|
+
# Development.
|
7
|
+
#require_relative '../../rowdb/lib/rowdb.rb'
|
8
|
+
#require_relative '../../rowdb/lib/adapters/Adapter.rb'
|
9
|
+
#require_relative '../../rowdb/lib/adapters/FileSystem.rb'
|
10
|
+
|
4
11
|
################################################################################
|
5
12
|
# REFLEKT
|
6
13
|
#
|
7
|
-
#
|
14
|
+
# Usage. Prepend to the class like so:
|
8
15
|
#
|
9
16
|
# class ExampleClass
|
10
17
|
# prepend Reflekt
|
@@ -30,6 +37,8 @@ module Reflekt
|
|
30
37
|
@reflekt_clones.each do |clone|
|
31
38
|
reflekt_action(clone, method, *args)
|
32
39
|
end
|
40
|
+
# Save results.
|
41
|
+
@@db.write()
|
33
42
|
end
|
34
43
|
end
|
35
44
|
|
@@ -59,6 +68,9 @@ module Reflekt
|
|
59
68
|
|
60
69
|
def reflekt_action(clone, method, *args)
|
61
70
|
|
71
|
+
class_name = clone.class.to_s
|
72
|
+
method_name = method.to_s
|
73
|
+
|
62
74
|
# Create new arguments.
|
63
75
|
new_args = []
|
64
76
|
args.each do |arg|
|
@@ -73,12 +85,24 @@ module Reflekt
|
|
73
85
|
# Action method with new arguments.
|
74
86
|
begin
|
75
87
|
clone.send(method, *new_args)
|
88
|
+
|
89
|
+
# Build reflection.
|
90
|
+
reflection = {
|
91
|
+
"time" => Time.now.to_i,
|
92
|
+
}
|
93
|
+
# When error.
|
76
94
|
rescue StandardError => error
|
77
|
-
|
95
|
+
reflection["status"] = "error"
|
96
|
+
reflection["error"] = error
|
97
|
+
# When success.
|
78
98
|
else
|
79
|
-
|
99
|
+
reflection["status"] = "success"
|
80
100
|
end
|
81
101
|
|
102
|
+
# Save reflection.
|
103
|
+
@@db.get("#{class_name}.#{method_name}")
|
104
|
+
.push(reflection)
|
105
|
+
|
82
106
|
end
|
83
107
|
|
84
108
|
private
|
@@ -93,15 +117,25 @@ module Reflekt
|
|
93
117
|
# Setup Klass.
|
94
118
|
def self.setup_klass()
|
95
119
|
|
120
|
+
# Receive configuration from host application.
|
121
|
+
$ENV ||= {}
|
122
|
+
$ENV[:reflekt] ||= $ENV[:reflekt] = {}
|
123
|
+
|
124
|
+
# Create "reflections" directory in configured path.
|
125
|
+
if $ENV[:reflekt][:output_path]
|
126
|
+
dir_path = File.join($ENV[:reflekt][:output_path], 'reflections')
|
96
127
|
# Create "reflections" directory in current execution path.
|
97
|
-
|
98
|
-
|
128
|
+
else
|
129
|
+
dir_path = File.join(Dir.pwd, 'reflections')
|
130
|
+
end
|
131
|
+
|
99
132
|
unless Dir.exist? dir_path
|
100
133
|
Dir.mkdir(dir_path)
|
101
134
|
end
|
102
135
|
|
103
|
-
|
104
|
-
@@db.
|
136
|
+
# Create database.
|
137
|
+
@@db = Rowdb.new(dir_path + '/db.json')
|
138
|
+
@@db.defaults({"reflections" => []})
|
105
139
|
|
106
140
|
return true
|
107
141
|
end
|
metadata
CHANGED
@@ -1,29 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: reflekt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Maedi Prichard
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-07-
|
11
|
+
date: 2020-07-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: oj
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ">="
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - ">="
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '0'
|
27
13
|
- !ruby/object:Gem::Dependency
|
28
14
|
name: rowdb
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -38,7 +24,7 @@ dependencies:
|
|
38
24
|
- - ">="
|
39
25
|
- !ruby/object:Gem::Version
|
40
26
|
version: '0'
|
41
|
-
description:
|
27
|
+
description: Reflective testing that's completely automated.
|
42
28
|
email: maediprichard@gmailcom
|
43
29
|
executables: []
|
44
30
|
extensions: []
|
@@ -67,5 +53,5 @@ requirements: []
|
|
67
53
|
rubygems_version: 3.0.2
|
68
54
|
signing_key:
|
69
55
|
specification_version: 4
|
70
|
-
summary:
|
56
|
+
summary: Reflective testing that's completely automated.
|
71
57
|
test_files: []
|