calyx 0.8.2 → 0.8.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d3f368fca27d4586669e9bf2a681e7af89ffd461
4
- data.tar.gz: 54750dca8ee597a148776e4a44eaa86afa1d2d77
3
+ metadata.gz: b3e641762dd894b48936eb9e945531b94be732b4
4
+ data.tar.gz: 0875b1def9d94ae12c2685f92a1fabd418b27853
5
5
  SHA512:
6
- metadata.gz: b14635a63d51ef8ac38dcb58179e841c275a1665ab7c8421b5f2996b9cc6865a269d469aa3669cfa4995c2ed47c8ab88f6bcff646c97ee8167b9ffa2d7e081ce
7
- data.tar.gz: fc8f02424498b81528b605cc42226941d64a79720039d636faed5ef9a949878b665275758fb1d0ce2554db654bc841068822264c5cdae875f158e54320ecb4e2
6
+ metadata.gz: 735ff80c2e8c154c07aa3344c4717c91212a5734ae79c03289d7b741b87e0b60a1c813fa5294733db6697e96fb443b2dce7938565893ab9744bbfb721aebd00b
7
+ data.tar.gz: abcfc630585f97fb81753f9fd77fbba90e3cc1399a396626c468d3ab30fe50dcb70829525962e527212ee174f60005aa2dc3fed440f5c82934f8b9dd4de4d823
@@ -43,7 +43,9 @@ module Calyx
43
43
  rules_map = arg if arg.class == Hash
44
44
  end
45
45
 
46
- @registry.evaluate(start_symbol, rules_map)
46
+ @registry.evaluate(start_symbol, rules_map).flatten.reject do |obj|
47
+ obj.is_a?(Symbol)
48
+ end.join(''.freeze)
47
49
  end
48
50
  end
49
51
  end
@@ -18,7 +18,7 @@ module Calyx
18
18
  end
19
19
 
20
20
  def evaluate
21
- @collection.sample.evaluate
21
+ [:choice, @collection.sample.evaluate]
22
22
  end
23
23
  end
24
24
  end
@@ -34,9 +34,11 @@ module Calyx
34
34
  end
35
35
 
36
36
  def evaluate
37
- @expansion.reduce('') do |exp, atom|
37
+ concat = @expansion.reduce([]) do |exp, atom|
38
38
  exp << atom.evaluate
39
39
  end
40
+
41
+ [:concat, concat]
40
42
  end
41
43
  end
42
44
  end
@@ -8,9 +8,12 @@ module Calyx
8
8
  end
9
9
 
10
10
  def evaluate
11
- @methods.reduce(@production.evaluate) do |value,method|
11
+ terminal = @production.evaluate.flatten.reject { |o| o.is_a?(Symbol) }.join(''.freeze)
12
+ expression = @methods.reduce(terminal) do |value,method|
12
13
  value.send(method)
13
14
  end
15
+
16
+ [:expression, expression]
14
17
  end
15
18
  end
16
19
  end
@@ -8,7 +8,7 @@ module Calyx
8
8
  end
9
9
 
10
10
  def evaluate
11
- @registry.expand(@symbol).evaluate
11
+ [@symbol, @registry.expand(@symbol).evaluate]
12
12
  end
13
13
  end
14
14
  end
@@ -7,7 +7,7 @@ module Calyx
7
7
  end
8
8
 
9
9
  def evaluate
10
- @atom
10
+ [:atom, @atom]
11
11
  end
12
12
  end
13
13
  end
@@ -29,7 +29,7 @@ module Calyx
29
29
  rand ** (1.0 / weight)
30
30
  end.first
31
31
 
32
- choice.evaluate
32
+ [:weighted_choice, choice.evaluate]
33
33
  end
34
34
  end
35
35
  end
@@ -38,7 +38,7 @@ module Calyx
38
38
  end
39
39
  end
40
40
 
41
- expand(start_symbol).evaluate
41
+ [start_symbol, expand(start_symbol).evaluate]
42
42
  end
43
43
 
44
44
  private
@@ -1,3 +1,3 @@
1
1
  module Calyx
2
- VERSION = '0.8.2'.freeze
2
+ VERSION = '0.8.3'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: calyx
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.2
4
+ version: 0.8.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Rickerby
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-04-06 00:00:00.000000000 Z
11
+ date: 2016-04-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler