Skip to content

Commit 6e2c6a3

Browse files
committed
remove sorbet, fix bug in e2e test
1 parent 3ff2219 commit 6e2c6a3

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+56
-60033
lines changed

Gemfile.lock

Lines changed: 43 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -2,62 +2,60 @@ PATH
22
remote: .
33
specs:
44
SgfParser (3.0.2)
5-
sorbet-runtime
65

76
GEM
87
remote: https://rubygems.org/
98
specs:
10-
ast (2.4.0)
11-
byebug (11.0.1)
12-
coderay (1.1.2)
13-
diff-lcs (1.3)
14-
docile (1.3.2)
15-
jaro_winkler (1.5.3)
16-
json (2.3.1)
17-
method_source (0.9.2)
18-
parallel (1.17.0)
19-
parser (2.6.3.0)
20-
ast (~> 2.4.0)
21-
pry (0.12.2)
22-
coderay (~> 1.1.0)
23-
method_source (~> 0.9.0)
24-
pry-byebug (3.7.0)
9+
ast (2.4.2)
10+
byebug (11.1.3)
11+
coderay (1.1.3)
12+
diff-lcs (1.5.0)
13+
docile (1.3.5)
14+
method_source (1.0.0)
15+
parallel (1.20.1)
16+
parser (3.1.0.0)
17+
ast (~> 2.4.1)
18+
pry (0.13.1)
19+
coderay (~> 1.1)
20+
method_source (~> 1.0)
21+
pry-byebug (3.9.0)
2522
byebug (~> 11.0)
26-
pry (~> 0.10)
23+
pry (~> 0.13.0)
2724
rainbow (3.0.0)
28-
rake (13.0.1)
29-
rdoc (6.1.1)
30-
rspec (3.8.0)
31-
rspec-core (~> 3.8.0)
32-
rspec-expectations (~> 3.8.0)
33-
rspec-mocks (~> 3.8.0)
34-
rspec-core (3.8.1)
35-
rspec-support (~> 3.8.0)
36-
rspec-expectations (3.8.4)
25+
rake (13.0.6)
26+
rdoc (6.3.3)
27+
regexp_parser (2.2.0)
28+
rexml (3.2.5)
29+
rspec (3.10.0)
30+
rspec-core (~> 3.10.0)
31+
rspec-expectations (~> 3.10.0)
32+
rspec-mocks (~> 3.10.0)
33+
rspec-core (3.10.1)
34+
rspec-support (~> 3.10.0)
35+
rspec-expectations (3.10.1)
3736
diff-lcs (>= 1.2.0, < 2.0)
38-
rspec-support (~> 3.8.0)
39-
rspec-mocks (3.8.1)
37+
rspec-support (~> 3.10.0)
38+
rspec-mocks (3.10.2)
4039
diff-lcs (>= 1.2.0, < 2.0)
41-
rspec-support (~> 3.8.0)
42-
rspec-support (3.8.2)
43-
rubocop (0.72.0)
44-
jaro_winkler (~> 1.5.1)
40+
rspec-support (~> 3.10.0)
41+
rspec-support (3.10.3)
42+
rubocop (1.12.1)
4543
parallel (~> 1.10)
46-
parser (>= 2.6)
44+
parser (>= 3.0.0.0)
4745
rainbow (>= 2.2.2, < 4.0)
46+
regexp_parser (>= 1.8, < 3.0)
47+
rexml
48+
rubocop-ast (>= 1.2.0, < 2.0)
4849
ruby-progressbar (~> 1.7)
49-
unicode-display_width (>= 1.4.0, < 1.7)
50-
ruby-progressbar (1.10.1)
51-
simplecov (0.16.1)
50+
unicode-display_width (>= 1.4.0, < 3.0)
51+
rubocop-ast (1.4.1)
52+
parser (>= 2.7.1.5)
53+
ruby-progressbar (1.11.0)
54+
simplecov (0.18.5)
5255
docile (~> 1.1)
53-
json (>= 1.8, < 3)
54-
simplecov-html (~> 0.10.0)
55-
simplecov-html (0.10.2)
56-
sorbet (0.5.6134)
57-
sorbet-static (= 0.5.6134)
58-
sorbet-runtime (0.4.4314)
59-
sorbet-static (0.5.6134-universal-darwin-14)
60-
unicode-display_width (1.6.0)
56+
simplecov-html (~> 0.11)
57+
simplecov-html (0.12.3)
58+
unicode-display_width (2.1.0)
6159

6260
PLATFORMS
6361
ruby
@@ -70,7 +68,6 @@ DEPENDENCIES
7068
rspec
7169
rubocop
7270
simplecov
73-
sorbet
7471

7572
BUNDLED WITH
76-
2.0.2
73+
2.2.29

SgfParser.gemspec

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,4 @@ Gem::Specification.new do |s|
2424
s.add_development_dependency 'rspec'
2525
s.add_development_dependency 'rubocop'
2626
s.add_development_dependency 'simplecov'
27-
s.add_development_dependency 'sorbet'
28-
s.add_runtime_dependency 'sorbet-runtime'
2927
end

lib/sgf.rb

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,8 @@
1-
# typed: strict
21
# frozen_string_literal: true
32

4-
require 'sorbet-runtime'
5-
63
module SGF
7-
extend T::Sig
8-
94
class FileDoesNotExistError < StandardError; end
105

11-
sig {
12-
params(filename: String)
13-
.returns(T.any(T.noreturn, SGF::Collection))
14-
}
156
def self.parse(filename)
167
SGF::Parser.new.parse File.read(filename)
178
rescue Errno::ENOENT
@@ -25,6 +16,10 @@ def self.parse(filename)
2516
require_relative 'sgf/variation'
2617
require_relative 'sgf/node'
2718
require_relative 'sgf/collection'
19+
require_relative 'sgf/collection_assembler'
20+
require_relative 'sgf/parsing_tokens'
21+
require_relative 'sgf/error_checkers'
22+
require_relative 'sgf/stream'
2823
require_relative 'sgf/parser'
2924
require_relative 'sgf/gametree'
3025
require_relative 'sgf/writer'

lib/sgf/collection.rb

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,12 @@
1-
# typed: true
21
# frozen_string_literal: true
32

43
# Collection holds most of the logic, for now.
54
# It has all the nodes, can iterate over them, and can even save to a file!
65
module SGF
7-
# mwa ha ha
86
class Collection
97
include Observable
108
include Enumerable
119

12-
extend ::T::Sig
13-
1410
attr_accessor :current_node, :errors, :gametrees
1511
attr_reader :root
1612

@@ -24,11 +20,6 @@ def initialize(root = SGF::Node.new)
2420
end
2521
end
2622

27-
sig {
28-
params(
29-
_block: T.proc.params(arg0: SGF::Node).void
30-
).returns(SGF::Collection)
31-
}
3223
def each(&_block)
3324
gametrees.each do |game|
3425
game.each do |node|
@@ -38,41 +29,33 @@ def each(&_block)
3829
self
3930
end
4031

41-
sig {
42-
params(gametree: Gametree).returns(Collection)
43-
}
4432
def <<(gametree)
4533
@root.add_children gametree.root
4634
self
4735
end
4836

4937
# Compares a tree to another tree, node by node.
5038
# Nodes must be the same (same properties, parents and children).
51-
sig { params(other: Collection).returns(T::Boolean) }
5239
def ==(other)
5340
map { |node| node } == other.map { |node| node }
5441
end
5542

56-
sig { returns(String) }
5743
def inspect
5844
out = "#<SGF::Collection:#{object_id}, "
5945
out += "#{gametrees.count} Games, "
6046
out += "#{node_count} Nodes"
6147
out + '>'
6248
end
6349

64-
sig { returns(String) }
6550
def to_s
6651
SGF::Writer.new.stringify_tree_from @root
6752
end
6853

6954
# Saves the Collection as an SGF file. Takes a filename as argument.
70-
sig { params(filename: String).returns(T.nilable(IO)) }
7155
def save(filename)
7256
SGF::Writer.new.save(@root, filename)
7357
end
7458

75-
sig { params(message: Symbol, data: T::Array[Node]).returns(TrueClass)}
7659
def update(message, data)
7760
case message
7861
when :new_children
@@ -85,15 +68,10 @@ def update(message, data)
8568

8669
private
8770

88-
sig { returns(Integer) }
8971
def node_count
9072
gametrees.inject(0) { |sum, game| sum + game.count }
9173
end
9274

93-
sig {
94-
params(method_name: Symbol, args: T::Array)
95-
.returns(T.any(T.noreturn, T::Array, String))
96-
}
9775
def method_missing(method_name, *args)
9876
if @root.children.empty? || !@root.children[0].properties.key?(method_name)
9977
super
@@ -102,7 +80,6 @@ def method_missing(method_name, *args)
10280
end
10381
end
10482

105-
sig { params(name: Symbol, _include_private: T::Boolean).returns(T::Boolean) }
10683
def respond_to_missing?(name, _include_private = false)
10784
@root.children[0].properties.key?(name)
10885
end

lib/sgf/collection_assembler.rb

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
1-
# typed: true
21
# frozen_string_literal: true
32

43
require_relative 'node'
54
require_relative 'collection'
65

76
class SGF::CollectionAssembler
8-
extend T::Sig
97

108
attr_reader :collection
119

@@ -15,25 +13,21 @@ def initialize
1513
@branches = []
1614
end
1715

18-
sig { void }
1916
def open_branch
2017
@branches.unshift @current_node
2118
end
2219

23-
sig { void }
2420
def close_branch
2521
@current_node = @branches.shift
2622
end
2723

28-
sig { params(properties: Hash).void }
2924
def create_node_with_properties(properties)
3025
node = SGF::Node.new
3126
@current_node.add_children node
3227
@current_node = node
3328
@current_node.add_properties properties
3429
end
3530

36-
sig { params(message: String).void }
3731
def add_error(message)
3832
collection.errors << message
3933
end

lib/sgf/error.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
# typed: strong
21
# frozen_string_literal: true
32

43
module SGF

lib/sgf/error_checkers.rb

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
1-
# typed: strict
21
# frozen_string_literal: true
32

43
class SGF::StrictErrorChecker
5-
extend T::Sig
6-
7-
sig { params(string: String).returns(T.any(T.noreturn, TrueClass))}
84
def check_for_errors_before_parsing(string)
95
if string[/\A\s*\(\s*;/]
106
return true
@@ -17,9 +13,6 @@ def check_for_errors_before_parsing(string)
1713
end
1814

1915
class SGF::LaxErrorChecker
20-
extend T::Sig
21-
22-
sig { params(_string: String).returns(TrueClass)}
2316
def check_for_errors_before_parsing(_string)
2417
# just look the other way
2518
true

lib/sgf/gametree.rb

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
# typed: false
21
# frozen_string_literal: true
32

43
require_relative 'writer'
@@ -7,48 +6,35 @@ module SGF
76
class Gametree
87
include Enumerable
98

10-
extend T::Sig
11-
129
attr_reader :root
13-
1410
attr_accessor :current_node
1511

1612
# Takes a SGF::Node as an argument. It will be a problem if that node isn't
1713
# really the first node of of a game (ie: no FF property)
18-
sig { params(node: SGF::Node).void }
1914
def initialize(node)
2015
@root = node
2116
@current_node = node
2217
end
2318

2419
# A simple way to go to the next node in the same branch of the tree
25-
sig { returns(Node) }
2620
def next_node
2721
@current_node = @current_node.children[0]
2822
end
2923

3024
# Iterate through all the nodes in preorder fashion
31-
sig {
32-
params(
33-
block: T.proc.params(arg0: SGF::Node).void
34-
).returns(SGF::Gametree)
35-
}
3625
def each(&block)
3726
@root.each(&block)
3827
self
3928
end
4029

41-
sig { returns(String) }
4230
def inspect
4331
"<SGF::Gametree:#{object_id}>"
4432
end
4533

46-
sig { returns(String) }
4734
def to_s
4835
SGF::Writer.new.stringify_tree_from @root
4936
end
5037

51-
sig { params(range: T::Range[Integer]).returns(Gametree) }
5238
def slice(range)
5339
new_root = nil
5440
each do |node|

lib/sgf/gtp_writer.rb

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
1-
# typed: true
21
# frozen_string_literal: true
32

43
class SGF::GtpWriter < SGF::Writer
54

6-
extend T::Sig
7-
85
attr_writer :upside_down
96

107
def initialize
@@ -13,7 +10,6 @@ def initialize
1310

1411
private
1512

16-
sig { params(node: SGF::Node).returns(String) }
1713
def gtp_move(node)
1814
pps = node.properties
1915
if pps['SZ']
@@ -33,7 +29,6 @@ def gtp_move(node)
3329
end
3430
end
3531

36-
sig { params(color: String, pos: String).returns(String) }
3732
def to_play(color, pos)
3833
if pos == ''
3934
gtp_pos = 'pass'
@@ -53,7 +48,6 @@ def to_play(color, pos)
5348
"play #{color} #{gtp_pos}"
5449
end
5550

56-
sig { params(node: T.any(SGF::Node, NilClass)).void }
5751
def write_tree_from(node)
5852
return unless node
5953

0 commit comments

Comments
 (0)