reflekt 0.1.1 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- 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: []
|