reflekt 1.0.5 → 1.0.10
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/accessor.rb +45 -0
- data/lib/action.rb +127 -0
- data/lib/action_stack.rb +44 -0
- data/lib/{Clone.rb → clone.rb} +11 -11
- data/lib/config.rb +48 -0
- data/lib/control.rb +81 -0
- data/lib/experiment.rb +99 -0
- data/lib/meta.rb +75 -0
- data/lib/meta/array_meta.rb +32 -0
- data/lib/meta/boolean_meta.rb +26 -0
- data/lib/meta/float_meta.rb +26 -0
- data/lib/meta/integer_meta.rb +26 -0
- data/lib/meta/{NullMeta.rb → null_meta.rb} +21 -19
- data/lib/meta/object_meta.rb +35 -0
- data/lib/meta/string_meta.rb +26 -0
- data/lib/meta_builder.rb +100 -0
- data/lib/reflection.rb +123 -0
- data/lib/reflekt.rb +277 -0
- data/lib/renderer.rb +38 -0
- data/lib/rule.rb +54 -0
- data/lib/rule_set.rb +110 -0
- data/lib/rule_set_aggregator.rb +260 -0
- data/lib/rules/array_rule.rb +94 -0
- data/lib/rules/boolean_rule.rb +43 -0
- data/lib/rules/float_rule.rb +55 -0
- data/lib/rules/integer_rule.rb +55 -0
- data/lib/rules/null_rule.rb +35 -0
- data/lib/rules/object_rule.rb +42 -0
- data/lib/rules/string_rule.rb +75 -0
- data/lib/web/index.html +3 -4
- metadata +46 -29
- data/lib/Accessor.rb +0 -37
- data/lib/Action.rb +0 -88
- data/lib/ActionStack.rb +0 -44
- data/lib/Aggregator.rb +0 -260
- data/lib/Config.rb +0 -42
- data/lib/Control.rb +0 -83
- data/lib/Meta.rb +0 -71
- data/lib/MetaBuilder.rb +0 -84
- data/lib/Reflection.rb +0 -195
- data/lib/Reflekt.rb +0 -243
- data/lib/Renderer.rb +0 -39
- data/lib/Rule.rb +0 -52
- data/lib/RuleSet.rb +0 -109
- data/lib/meta/ArrayMeta.rb +0 -34
- data/lib/meta/BooleanMeta.rb +0 -26
- data/lib/meta/FloatMeta.rb +0 -26
- data/lib/meta/IntegerMeta.rb +0 -26
- data/lib/meta/StringMeta.rb +0 -26
- data/lib/rules/ArrayRule.rb +0 -88
- data/lib/rules/BooleanRule.rb +0 -47
- data/lib/rules/FloatRule.rb +0 -57
- data/lib/rules/IntegerRule.rb +0 -57
- data/lib/rules/NullRule.rb +0 -33
- data/lib/rules/StringRule.rb +0 -81
data/lib/rules/FloatRule.rb
DELETED
@@ -1,57 +0,0 @@
|
|
1
|
-
require 'Rule'
|
2
|
-
|
3
|
-
class FloatRule < Rule
|
4
|
-
|
5
|
-
def initialize()
|
6
|
-
|
7
|
-
@type = :float
|
8
|
-
@min = nil
|
9
|
-
@max = nil
|
10
|
-
|
11
|
-
end
|
12
|
-
|
13
|
-
##
|
14
|
-
# @param meta [FloatMeta]
|
15
|
-
##
|
16
|
-
def train(meta)
|
17
|
-
|
18
|
-
value = meta[:value]
|
19
|
-
|
20
|
-
if @min.nil?
|
21
|
-
@min = value
|
22
|
-
else
|
23
|
-
@min = value if value < @min
|
24
|
-
end
|
25
|
-
|
26
|
-
if @max.nil?
|
27
|
-
@max = value
|
28
|
-
else
|
29
|
-
@max = value if value > @max
|
30
|
-
end
|
31
|
-
|
32
|
-
end
|
33
|
-
|
34
|
-
##
|
35
|
-
# @param value [Float]
|
36
|
-
##
|
37
|
-
def test(value)
|
38
|
-
|
39
|
-
return false if value < @min
|
40
|
-
return false if value > @max
|
41
|
-
|
42
|
-
true
|
43
|
-
end
|
44
|
-
|
45
|
-
def result()
|
46
|
-
{
|
47
|
-
:type => @type,
|
48
|
-
:min => @min,
|
49
|
-
:max => @max
|
50
|
-
}
|
51
|
-
end
|
52
|
-
|
53
|
-
def random()
|
54
|
-
rand(@min..@max)
|
55
|
-
end
|
56
|
-
|
57
|
-
end
|
data/lib/rules/IntegerRule.rb
DELETED
@@ -1,57 +0,0 @@
|
|
1
|
-
require 'Rule'
|
2
|
-
|
3
|
-
class IntegerRule < Rule
|
4
|
-
|
5
|
-
def initialize()
|
6
|
-
|
7
|
-
@type = :int
|
8
|
-
@min = nil
|
9
|
-
@max = nil
|
10
|
-
|
11
|
-
end
|
12
|
-
|
13
|
-
##
|
14
|
-
# @param meta [IntegerMeta]
|
15
|
-
##
|
16
|
-
def train(meta)
|
17
|
-
|
18
|
-
value = meta[:value]
|
19
|
-
|
20
|
-
if @min.nil?
|
21
|
-
@min = value
|
22
|
-
else
|
23
|
-
@min = value if value < @min
|
24
|
-
end
|
25
|
-
|
26
|
-
if @max.nil?
|
27
|
-
@max = value
|
28
|
-
else
|
29
|
-
@max = value if value > @max
|
30
|
-
end
|
31
|
-
|
32
|
-
end
|
33
|
-
|
34
|
-
##
|
35
|
-
# @param value [Integer]
|
36
|
-
##
|
37
|
-
def test(value)
|
38
|
-
|
39
|
-
return false if value < @min
|
40
|
-
return false if value > @max
|
41
|
-
|
42
|
-
true
|
43
|
-
end
|
44
|
-
|
45
|
-
def result()
|
46
|
-
{
|
47
|
-
:type => @type,
|
48
|
-
:min => @min,
|
49
|
-
:max => @max
|
50
|
-
}
|
51
|
-
end
|
52
|
-
|
53
|
-
def random()
|
54
|
-
rand(@min..@max)
|
55
|
-
end
|
56
|
-
|
57
|
-
end
|
data/lib/rules/NullRule.rb
DELETED
@@ -1,33 +0,0 @@
|
|
1
|
-
require 'Rule'
|
2
|
-
|
3
|
-
class NullRule < Rule
|
4
|
-
|
5
|
-
def initialize()
|
6
|
-
@type = :null
|
7
|
-
end
|
8
|
-
|
9
|
-
##
|
10
|
-
# @param meta [NullMeta]
|
11
|
-
##
|
12
|
-
def train(meta)
|
13
|
-
# No need to train as NullMeta is always nil.
|
14
|
-
end
|
15
|
-
|
16
|
-
##
|
17
|
-
# @param value [NilClass]
|
18
|
-
##
|
19
|
-
def test(value)
|
20
|
-
value.nil?
|
21
|
-
end
|
22
|
-
|
23
|
-
def result()
|
24
|
-
{
|
25
|
-
:type => @type
|
26
|
-
}
|
27
|
-
end
|
28
|
-
|
29
|
-
def random()
|
30
|
-
nil
|
31
|
-
end
|
32
|
-
|
33
|
-
end
|
data/lib/rules/StringRule.rb
DELETED
@@ -1,81 +0,0 @@
|
|
1
|
-
require 'Rule'
|
2
|
-
|
3
|
-
class StringRule < Rule
|
4
|
-
|
5
|
-
attr_accessor :min_length
|
6
|
-
attr_accessor :max_length
|
7
|
-
|
8
|
-
def initialize()
|
9
|
-
|
10
|
-
@type = :string
|
11
|
-
@min_length = nil
|
12
|
-
@max_length = nil
|
13
|
-
|
14
|
-
end
|
15
|
-
|
16
|
-
##
|
17
|
-
# @param meta [StringMeta]
|
18
|
-
##
|
19
|
-
def train(meta)
|
20
|
-
|
21
|
-
length = meta[:length]
|
22
|
-
|
23
|
-
if @min_length.nil?
|
24
|
-
@min_length = length
|
25
|
-
else
|
26
|
-
@min_length = length if length < @min_length
|
27
|
-
end
|
28
|
-
|
29
|
-
if @max_length.nil?
|
30
|
-
@max_length = length
|
31
|
-
else
|
32
|
-
@max_length = length if length > @max_length
|
33
|
-
end
|
34
|
-
|
35
|
-
end
|
36
|
-
|
37
|
-
##
|
38
|
-
# @param value [String]
|
39
|
-
##
|
40
|
-
def test(value)
|
41
|
-
|
42
|
-
length = value.length
|
43
|
-
|
44
|
-
return false if length < @min_length
|
45
|
-
return false if length > @max_length
|
46
|
-
|
47
|
-
true
|
48
|
-
end
|
49
|
-
|
50
|
-
def result()
|
51
|
-
{
|
52
|
-
:type => @type,
|
53
|
-
:min_length => @min_length,
|
54
|
-
:max_length => @max_length
|
55
|
-
}
|
56
|
-
end
|
57
|
-
|
58
|
-
def random()
|
59
|
-
|
60
|
-
# Build alphabet soup.
|
61
|
-
alpha_numeric = Array('A'..'Z') + Array('a'..'z')
|
62
|
-
10.times do
|
63
|
-
alpha_numeric << ' '
|
64
|
-
end
|
65
|
-
|
66
|
-
# Dip ladle into alphabet soup.
|
67
|
-
last_char = nil
|
68
|
-
sentence = Array.new(rand(@min_length..@max_length)) do |index|
|
69
|
-
char = alpha_numeric.sample
|
70
|
-
# Put no character next to the same character twice.
|
71
|
-
while char == last_char
|
72
|
-
char = alpha_numeric.sample
|
73
|
-
end
|
74
|
-
last_char = char
|
75
|
-
end
|
76
|
-
|
77
|
-
return sentence.join
|
78
|
-
|
79
|
-
end
|
80
|
-
|
81
|
-
end
|