moory 1.3.0 → 1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 983f866752e2c583a5c679b6657a4d4263a40b95518a908ab519579df8b0996d
4
- data.tar.gz: 1210a2dd052315e9cdf7e394dc81fd1ed3ee768a536b6bb49d7ea65a02c7fc8c
3
+ metadata.gz: 2ab9ae1abd3e12bb5f731b308fb9fe40bda637abe7450dce91e767677296293e
4
+ data.tar.gz: 62eecf80a37963a1028ed437961a81048a024ab7212307f02bce28b533dab55e
5
5
  SHA512:
6
- metadata.gz: f49ae820cf34be0c9294dd11dd005feb109d6c70c01bc1691719ab7b6b39b03a24a7777b985b63adb6fbbd3db8be939b43f1d219599125c90285df131d1c273d
7
- data.tar.gz: a94c117a2cab75ed66b1283e92139ad433c3b8751a1c11a809a5196a135d02d937bb6922b0c24b7ef6e1e539c9b9a1aad44d8383a416beac98fb2322601d03c2
6
+ metadata.gz: 333b36560266f3b65e095294012883e96831643a25ce38817223e8254cd8019614281e75b80d09bed2d2707dcd254966bbf0fd7ea71a65ecb5e15bfa507cf645
7
+ data.tar.gz: 99242641e5cee72b461fe48fb5e3b4c34caf29489767eb091335777210190c1b825084959ff909be81cd258c68e013395aab619ef719b4f20b300060393f9c7b
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- moory (1.3.0)
4
+ moory (1.3.1)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -19,7 +19,7 @@ module Moory
19
19
  class LineReader < Moory::Transducer
20
20
  attr_reader :scan_data
21
21
 
22
- IGNORE = [ ' ', '\t' ]
22
+ IGNORE = [ " ", "\t" ]
23
23
 
24
24
  def initialize
25
25
  @transitions = Transitions
@@ -39,15 +39,21 @@ module Moory
39
39
 
40
40
  def puts(string)
41
41
  string.each_char { |c| putc(c) }
42
- scan_data
42
+ scan_data.transform_values do |v|
43
+ v == '~s~' ? " " : v
44
+ end
43
45
  end
44
46
 
45
- alias special? understand?
47
+ alias delimiter? understand?
46
48
 
47
49
  def putc(char)
48
- (special?(char) ?
50
+ (delimiter?(char) ?
49
51
  issue(char) :
50
- target(state) << char) unless ignore?(char)
52
+ hold(char)) unless ignore?(char)
53
+ end
54
+
55
+ def hold(char)
56
+ target(state) << char
51
57
  end
52
58
 
53
59
  def prepare
@@ -8,7 +8,7 @@ module Moory
8
8
  end
9
9
 
10
10
  def store(params)
11
- storage.merge!(Hasher.new(params)) do |key, oldval, newval|
11
+ storage.merge!(Shunter.new(params)) do |key, oldval, newval|
12
12
  oldval.merge!(newval)
13
13
  end
14
14
  end
@@ -41,7 +41,7 @@ module Moory
41
41
  end
42
42
  end
43
43
 
44
- Hasher = Struct.new(
44
+ Shunter = Struct.new(
45
45
  :origin,
46
46
  :stimulus,
47
47
  :settlement,
@@ -54,15 +54,9 @@ module Moory
54
54
  origin && stimulus && settlement
55
55
  end
56
56
 
57
- def to_hash(for_storage: true)
57
+ def to_hash
58
58
  return {} unless valid?
59
59
 
60
- for_storage ? storage_hash : flat_hash
61
- end
62
-
63
- private
64
-
65
- def storage_hash
66
60
  p = Pair.new(left: origin, right: stimulus)
67
61
 
68
62
  p.shunt({
@@ -71,16 +65,6 @@ module Moory
71
65
  effector: effector
72
66
  }.compact)
73
67
  end
74
-
75
- def flat_hash
76
- {
77
- origin: origin,
78
- stimulus: stimulus,
79
- settlement: settlement,
80
- output: output,
81
- effector: effector
82
- }
83
- end
84
68
  end
85
69
  end
86
70
  end
@@ -1,3 +1,3 @@
1
1
  module Moory
2
- VERSION = "1.3.0"
2
+ VERSION = "1.3.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: moory
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam W. Grant