proiel 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 +4 -4
- data/README.md +1 -1
- data/lib/proiel/alignment/builder.rb +1 -1
- data/lib/proiel/chronology.rb +3 -3
- data/lib/proiel/dictionary/builder.rb +3 -4
- data/lib/proiel/lemma.rb +2 -3
- data/lib/proiel/proiel_xml/validator.rb +5 -7
- data/lib/proiel/sentence.rb +6 -2
- data/lib/proiel/statistics.rb +2 -2
- data/lib/proiel/token.rb +4 -4
- data/lib/proiel/tokenization.rb +2 -2
- data/lib/proiel/treebank.rb +2 -2
- data/lib/proiel/utils.rb +0 -1
- data/lib/proiel/valency/arguments.rb +12 -8
- data/lib/proiel/valency/obliqueness.rb +1 -1
- data/lib/proiel/version.rb +1 -2
- data/lib/proiel/visualization/graphviz.rb +8 -4
- metadata +52 -38
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b0df361b20a949a5a7c51f1055470507b8b152af79737a896762ac269ac62c20
|
4
|
+
data.tar.gz: 2346771429bd177c4233e470c8e1830871001b2a511e311ef4cb70520f19687f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4c2195b08451ee0208aec4f80d7c6edfba1b0ecd2c0405d8a797a5e9fc8a8b135c6a9997d7a1b7b5a52519a3d8275e2be1d0b9389bd698b371372180254202a9
|
7
|
+
data.tar.gz: eb23ab51a1e7607dd4453e84820aa558636e5ebef7c7caf96824cb0f6dd17af7edaa34ad03efc663d1e66b60b3d63ea2d8053726c86b6435efe3a27f50ea53ba
|
data/README.md
CHANGED
@@ -8,7 +8,7 @@ module PROIEL
|
|
8
8
|
# now a reasonable approximation.
|
9
9
|
def self.compute_matrix(alignment, source, blacklist = [], log_directory = nil)
|
10
10
|
matrix1 = group_backwards(alignment, source, blacklist)
|
11
|
-
raise unless matrix1.map { |r| r[:original]
|
11
|
+
raise unless matrix1.map { |r| r[:original] }.flatten.compact == alignment.sentences.map(&:id)
|
12
12
|
|
13
13
|
matrix2 = group_forwards(alignment, source, blacklist)
|
14
14
|
raise unless matrix2.map { |r| r[:translation] }.flatten.compact == source.sentences.map(&:id)
|
data/lib/proiel/chronology.rb
CHANGED
@@ -25,14 +25,14 @@ module PROIEL::Chronology
|
|
25
25
|
# Handle missing Julian year 0 by shifting years after 1 BC down by 1 and then shifting the midpoint back
|
26
26
|
# up again unless negative
|
27
27
|
if i.first < 0 and i.last > 0
|
28
|
-
y = (i.first + i.last - 1)/2.0
|
28
|
+
y = (i.first + i.last - 1) / 2.0
|
29
29
|
if y < 0
|
30
30
|
y.floor
|
31
31
|
else
|
32
32
|
(y + 1).floor
|
33
33
|
end
|
34
34
|
else
|
35
|
-
((i.first + i.last)/2.0).floor # a non-integer midpoint is within the year of the integer part
|
35
|
+
((i.first + i.last) / 2.0).floor # a non-integer midpoint is within the year of the integer part
|
36
36
|
end
|
37
37
|
elsif i.is_a?(Integer)
|
38
38
|
i
|
@@ -70,7 +70,7 @@ module PROIEL::Chronology
|
|
70
70
|
a = -$1.to_i * 100
|
71
71
|
[a, a + 99]
|
72
72
|
when /^\s*(?:c\.\s+)?\d+(\s+BC)?\s*-\s*(c\.\s+)?\d+(\s+BC)?\s*$/
|
73
|
-
s.split('-').map { |i|
|
73
|
+
s.split('-').map { |i| parse(i) }.tap do |from, to|
|
74
74
|
raise ArgumentError, 'invalid range' unless from < to
|
75
75
|
end
|
76
76
|
else
|
@@ -34,7 +34,7 @@ module PROIEL
|
|
34
34
|
index_homographs!
|
35
35
|
end
|
36
36
|
|
37
|
-
CURRENT_SCHEMA_VERSION = '3.0'
|
37
|
+
CURRENT_SCHEMA_VERSION = '3.0'.freeze
|
38
38
|
|
39
39
|
def to_xml(io)
|
40
40
|
builder = ::Builder::XmlMarkup.new(target: io, indent: 2)
|
@@ -62,7 +62,7 @@ module PROIEL
|
|
62
62
|
raise ArgumentError, 'file not found' unless File.exists?(filename)
|
63
63
|
|
64
64
|
CSV.foreach(filename, headers: true, encoding: 'utf-8', col_sep: "\t",
|
65
|
-
|
65
|
+
header_converters: :symbol, quote_char: "\b") do |row|
|
66
66
|
h = row.to_h
|
67
67
|
data = languages.map { |l| [l, h[l]] }.to_h
|
68
68
|
|
@@ -182,7 +182,7 @@ module PROIEL
|
|
182
182
|
end
|
183
183
|
|
184
184
|
def index_homographs!
|
185
|
-
@lemmata.keys.group_by { |l| l.split(/[,#]/).first }.each do |
|
185
|
+
@lemmata.keys.group_by { |l| l.split(/[,#]/).first }.each do |_, homographs|
|
186
186
|
if homographs.count > 1
|
187
187
|
homographs.each do |form|
|
188
188
|
@lemmata[form][:homographs] = homographs.reject { |homograph| homograph == form }
|
@@ -204,7 +204,6 @@ module PROIEL
|
|
204
204
|
lemma[:paradigm][token.morphology][token.form] ||= 0
|
205
205
|
lemma[:paradigm][token.morphology][token.form] += 1
|
206
206
|
|
207
|
-
|
208
207
|
# Find verbal nodes
|
209
208
|
if token.part_of_speech[/^V/]
|
210
209
|
frame = PROIEL::Valency::Arguments.get_argument_frame(token)
|
data/lib/proiel/lemma.rb
CHANGED
@@ -45,7 +45,7 @@ module PROIEL
|
|
45
45
|
private
|
46
46
|
|
47
47
|
def from_xml(xml)
|
48
|
-
@n =
|
48
|
+
@n = nullify(xml.n, :int)
|
49
49
|
|
50
50
|
@distribution = xml.distribution.map { |h| [h.idref, nullify(h.n, :int)] }.to_h
|
51
51
|
@glosses = xml.glosses.map { |h| [h.language.to_sym, h.gloss] }.to_h
|
@@ -55,7 +55,7 @@ module PROIEL
|
|
55
55
|
xml.valency.map do |frame|
|
56
56
|
{
|
57
57
|
arguments: frame.arguments.map { |a| { relation: a.relation, lemma: a.lemma, part_of_speech: a.part_of_speech, mood: a.mood, case: a.case } },
|
58
|
-
tokens: frame.tokens.map { |t| { flags: t.flags, idref: t.idref
|
58
|
+
tokens: frame.tokens.map { |t| { flags: t.flags, idref: t.idref } },
|
59
59
|
}
|
60
60
|
end
|
61
61
|
end
|
@@ -75,4 +75,3 @@ module PROIEL
|
|
75
75
|
end
|
76
76
|
end
|
77
77
|
end
|
78
|
-
|
@@ -43,15 +43,13 @@ module PROIEL
|
|
43
43
|
# @return [true, false]
|
44
44
|
#
|
45
45
|
def wellformed?
|
46
|
-
|
47
|
-
Nokogiri::XML(File.read(@filename)) { |config| config.strict }
|
46
|
+
Nokogiri::XML(File.read(@filename)) { |config| config.strict }
|
48
47
|
|
49
|
-
|
50
|
-
|
51
|
-
|
48
|
+
true
|
49
|
+
rescue Nokogiri::XML::SyntaxError => _
|
50
|
+
@errors << 'XML file is not wellformed'
|
52
51
|
|
53
|
-
|
54
|
-
end
|
52
|
+
false
|
55
53
|
end
|
56
54
|
|
57
55
|
# Checks if the PROIEL XML file has a valid schema version number.
|
data/lib/proiel/sentence.rb
CHANGED
@@ -57,10 +57,14 @@ module PROIEL
|
|
57
57
|
raise ArgumentError, 'integer or nil expected' unless alignment_id.nil? or alignment_id.is_a?(Integer)
|
58
58
|
@alignment_id = alignment_id
|
59
59
|
|
60
|
-
|
60
|
+
unless annotated_at.nil? or PROIEL::Utilities.xmlschema_datetime?(annotated_at)
|
61
|
+
raise ArgumentError, 'XML schema date time or nil expected'
|
62
|
+
end
|
61
63
|
@annotated_at = annotated_at ? DateTime.xmlschema(annotated_at).freeze : nil
|
62
64
|
|
63
|
-
|
65
|
+
unless reviewed_at.nil? or PROIEL::Utilities.xmlschema_datetime?(reviewed_at)
|
66
|
+
raise ArgumentError, 'XML schema date time or nil expected'
|
67
|
+
end
|
64
68
|
@reviewed_at = reviewed_at ? DateTime.xmlschema(reviewed_at).freeze : nil
|
65
69
|
|
66
70
|
raise ArgumentError, 'string or nil expected' unless annotated_by.nil? or annotated_by.is_a?(String)
|
data/lib/proiel/statistics.rb
CHANGED
@@ -26,11 +26,11 @@ module PROIEL
|
|
26
26
|
|
27
27
|
x_mean = x.reduce(&:+).to_f / x.size
|
28
28
|
y_mean = y.reduce(&:+).to_f / y.size
|
29
|
-
x_sqsum = x.reduce(0.0) { |sum, n| sum + n
|
29
|
+
x_sqsum = x.reduce(0.0) { |sum, n| sum + n**2 }
|
30
30
|
xy_sum = x.zip(y).reduce(0.0) { |sum, (m, n)| sum + m * n }
|
31
31
|
|
32
32
|
sxy = xy_sum - x.length * x_mean * y_mean
|
33
|
-
sx2 = x_sqsum - x.length * (x_mean
|
33
|
+
sx2 = x_sqsum - x.length * (x_mean**2)
|
34
34
|
|
35
35
|
beta = sxy / sx2
|
36
36
|
alfa = y_mean - beta * x_mean
|
data/lib/proiel/token.rb
CHANGED
@@ -282,7 +282,7 @@ module PROIEL
|
|
282
282
|
#
|
283
283
|
# @return [Array<Token>] descendents
|
284
284
|
def descendents
|
285
|
-
dependents.map { |dependent| [dependent
|
285
|
+
dependents.map { |dependent| [dependent] + dependent.descendents }.flatten
|
286
286
|
end
|
287
287
|
|
288
288
|
memoize :descendents
|
@@ -405,18 +405,18 @@ module PROIEL
|
|
405
405
|
|
406
406
|
# FIXME: extract this from the header of the PROIEL XML file instead and
|
407
407
|
# subclass PositionalTag
|
408
|
-
POS_POSITIONAL_TAG_SEQUENCE = %i(major minor)
|
408
|
+
POS_POSITIONAL_TAG_SEQUENCE = %i(major minor).freeze
|
409
409
|
|
410
410
|
# FIXME: extract this from the header of the PROIEL XML file instead and
|
411
411
|
# subclass PositionalTag
|
412
412
|
MORPHOLOGY_POSITIONAL_TAG_SEQUENCE = %i(
|
413
413
|
person number tense mood voice gender case degree strength inflection
|
414
|
-
)
|
414
|
+
).freeze
|
415
415
|
|
416
416
|
NULL_PARTS_OF_SPEECH = {
|
417
417
|
'V' => 'V-',
|
418
418
|
'C' => 'C-',
|
419
419
|
'P' => 'Pp',
|
420
|
-
}
|
420
|
+
}.freeze
|
421
421
|
end
|
422
422
|
end
|
data/lib/proiel/tokenization.rb
CHANGED
@@ -24,7 +24,7 @@ module PROIEL
|
|
24
24
|
|
25
25
|
patterns = JSON.parse(File.read(filename))
|
26
26
|
|
27
|
-
regexes = patterns.map { |l, p| [l,
|
27
|
+
regexes = patterns.map { |l, p| [l, make_regex(p)] }.to_h
|
28
28
|
|
29
29
|
@@regexes ||= {}
|
30
30
|
@@regexes.merge!(regexes)
|
@@ -59,7 +59,7 @@ module PROIEL
|
|
59
59
|
form and form.length > 1
|
60
60
|
end
|
61
61
|
|
62
|
-
WORD_PATTERN = /([^[\u{E000}-\u{F8FF}][[:word:]]]+)
|
62
|
+
WORD_PATTERN = /([^[\u{E000}-\u{F8FF}][[:word:]]]+)/.freeze
|
63
63
|
|
64
64
|
# Splits a token form using the tokenization patterns that apply for a
|
65
65
|
# the specified language. Tokenization patterns must already have been
|
data/lib/proiel/treebank.rb
CHANGED
@@ -61,7 +61,7 @@ module PROIEL
|
|
61
61
|
printed_text_date
|
62
62
|
chronology_composition
|
63
63
|
chronology_manuscript
|
64
|
-
)
|
64
|
+
).freeze
|
65
65
|
|
66
66
|
# Creates a new treebank object.
|
67
67
|
def initialize
|
@@ -116,7 +116,7 @@ module PROIEL
|
|
116
116
|
# FIXME: consolidate export times? This is a design flaw in PROIEL XML
|
117
117
|
# 2.0: export time ought to be per source not per PROIEL XML file, so
|
118
118
|
# not clear what to do here. Pass it down to the source object?
|
119
|
-
|
119
|
+
# @export_time = tf.proiel.export_time
|
120
120
|
else
|
121
121
|
raise SchemaMismatch
|
122
122
|
end
|
data/lib/proiel/utils.rb
CHANGED
@@ -21,7 +21,7 @@ module PROIEL::Valency::Arguments
|
|
21
21
|
'A' => :nominal,
|
22
22
|
'M' => :nominal,
|
23
23
|
'V' => :verbal,
|
24
|
-
}
|
24
|
+
}.freeze
|
25
25
|
|
26
26
|
# Collapses dependents based on features
|
27
27
|
def self.collapse_dependents(dependents)
|
@@ -43,7 +43,7 @@ module PROIEL::Valency::Arguments
|
|
43
43
|
if lemmas.length == 1
|
44
44
|
dependents.first
|
45
45
|
else
|
46
|
-
#STDERR.puts "Different lemmas R/G: #{lemmas.inspect}"
|
46
|
+
# STDERR.puts "Different lemmas R/G: #{lemmas.inspect}"
|
47
47
|
nil
|
48
48
|
end
|
49
49
|
when :nominal
|
@@ -51,7 +51,7 @@ module PROIEL::Valency::Arguments
|
|
51
51
|
if cases.length == 1
|
52
52
|
dependents.first
|
53
53
|
else
|
54
|
-
#STDERR.puts "Different cases N/P: #{cases.inspect}"
|
54
|
+
# STDERR.puts "Different cases N/P: #{cases.inspect}"
|
55
55
|
nil
|
56
56
|
end
|
57
57
|
when :verbal
|
@@ -59,11 +59,11 @@ module PROIEL::Valency::Arguments
|
|
59
59
|
if moods.length == 1
|
60
60
|
dependents.first
|
61
61
|
else
|
62
|
-
#STDERR.puts "Different moods V: #{moods.inspect}"
|
62
|
+
# STDERR.puts "Different moods V: #{moods.inspect}"
|
63
63
|
nil
|
64
64
|
end
|
65
65
|
else
|
66
|
-
#STDERR.puts "Unknown combination: #{dependents.map(&:pos).inspect}"
|
66
|
+
# STDERR.puts "Unknown combination: #{dependents.map(&:pos).inspect}"
|
67
67
|
nil
|
68
68
|
end
|
69
69
|
end
|
@@ -94,7 +94,9 @@ module PROIEL::Valency::Arguments
|
|
94
94
|
# coordinators. All relevant dependents have the relation PRED.
|
95
95
|
dependents = argument.dependents.select { |d| d.relation == 'pred' }.map { |a| hoist_dependents(a) }
|
96
96
|
local_argument = collapse_dependents(dependents)
|
97
|
-
|
97
|
+
if local_argument and local_argument.morphology_hash[:mood]
|
98
|
+
features[:mood] = local_argument.morphology_hash[:mood]
|
99
|
+
end
|
98
100
|
when 'R'
|
99
101
|
features[:lemma] = argument.lemma
|
100
102
|
features[:part_of_speech] = argument.part_of_speech
|
@@ -103,7 +105,9 @@ module PROIEL::Valency::Arguments
|
|
103
105
|
# coordinators. All relevant dependents have the relation OBL.
|
104
106
|
dependents = argument.dependents.select { |d| d.relation == 'obl' }.map { |a| hoist_dependents(a) }
|
105
107
|
local_argument = collapse_dependents(dependents)
|
106
|
-
|
108
|
+
if local_argument and local_argument.morphology_hash[:case]
|
109
|
+
features[:case] = local_argument.morphology_hash[:case]
|
110
|
+
end
|
107
111
|
when 'V'
|
108
112
|
features[:mood] = argument.morphology_hash[:mood] if argument.morphology_hash[:mood]
|
109
113
|
when 'D'
|
@@ -121,7 +125,7 @@ module PROIEL::Valency::Arguments
|
|
121
125
|
end
|
122
126
|
end
|
123
127
|
|
124
|
-
#
|
128
|
+
# Determines the arguments of a predicate
|
125
129
|
def self.collect_arguments(token)
|
126
130
|
token.dependents.select do |dependent|
|
127
131
|
case dependent.relation
|
@@ -23,7 +23,7 @@ module PROIEL::Valency::Obliqueness
|
|
23
23
|
obliqueness_of_relation(argument[:relation]) * 2 + (argument[:lemma].nil? ? 0 : 1)
|
24
24
|
end
|
25
25
|
|
26
|
-
OBLIQUENESS_HIERARCHY = %w(sub ag obj xobj arg obl comp narg)
|
26
|
+
OBLIQUENESS_HIERARCHY = %w(sub ag obj xobj arg obl comp narg).freeze
|
27
27
|
|
28
28
|
def self.obliqueness_of_relation(relation)
|
29
29
|
OBLIQUENESS_HIERARCHY.index(relation) || OBLIQUENESS_HIERARCHY.length
|
data/lib/proiel/version.rb
CHANGED
@@ -2,8 +2,8 @@ module PROIEL
|
|
2
2
|
module Visualization
|
3
3
|
module Graphviz
|
4
4
|
DEFAULT_GRAPHVIZ_BINARY = 'dot'.freeze
|
5
|
-
DEFAULT_TEMPLATES = %i(classic linearized packed modern aligned-modern)
|
6
|
-
SUPPORTED_OUTPUT_FORMATS = %i(png svg)
|
5
|
+
DEFAULT_TEMPLATES = %i(classic linearized packed modern aligned-modern).freeze
|
6
|
+
SUPPORTED_OUTPUT_FORMATS = %i(png svg).freeze
|
7
7
|
|
8
8
|
class GraphvizError < Exception
|
9
9
|
end
|
@@ -39,7 +39,9 @@ module PROIEL
|
|
39
39
|
|
40
40
|
def self.generate_image(dot_code, output_format, options = {})
|
41
41
|
raise ArgumentError, 'string expected' unless dot_code.is_a?(String)
|
42
|
-
|
42
|
+
unless output_format.is_a?(String) or output_format.is_a?(Symbol)
|
43
|
+
raise ArgumentError, 'string or symbol expected'
|
44
|
+
end
|
43
45
|
raise ArgumentError, 'invalid output format' unless SUPPORTED_OUTPUT_FORMATS.include?(output_format.to_sym)
|
44
46
|
|
45
47
|
graphviz_binary = options[:graphviz_binary] || DEFAULT_GRAPHVIZ_BINARY
|
@@ -59,7 +61,9 @@ module PROIEL
|
|
59
61
|
end
|
60
62
|
|
61
63
|
def self.generate_dot(template, graph, options)
|
62
|
-
|
64
|
+
unless options[:direction].nil? or %(TD LR).include?(options[:direction])
|
65
|
+
raise ArgumentError, 'invalid direction'
|
66
|
+
end
|
63
67
|
|
64
68
|
filename = template_filename(template)
|
65
69
|
|
metadata
CHANGED
@@ -1,169 +1,183 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: proiel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.
|
4
|
+
version: 1.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marius L. Jøhndal
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-07-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: builder
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 3.2.4
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 3.2.4
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: json
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 2.3.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 2.3.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: memoist
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: 0.16.2
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: 0.16.2
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: nokogiri
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: 1.10.9
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
68
|
+
version: 1.10.9
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: sax-machine
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
75
|
+
version: 1.3.2
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
82
|
+
version: 1.3.2
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: bundler
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - "
|
87
|
+
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
89
|
+
version: 2.1.4
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - "
|
94
|
+
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version:
|
96
|
+
version: 2.1.4
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: pry
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 0.13.1
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 0.13.1
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
112
|
name: rake
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
100
114
|
requirements:
|
101
115
|
- - "~>"
|
102
116
|
- !ruby/object:Gem::Version
|
103
|
-
version:
|
117
|
+
version: 13.0.1
|
104
118
|
type: :development
|
105
119
|
prerelease: false
|
106
120
|
version_requirements: !ruby/object:Gem::Requirement
|
107
121
|
requirements:
|
108
122
|
- - "~>"
|
109
123
|
- !ruby/object:Gem::Version
|
110
|
-
version:
|
124
|
+
version: 13.0.1
|
111
125
|
- !ruby/object:Gem::Dependency
|
112
126
|
name: rspec
|
113
127
|
requirement: !ruby/object:Gem::Requirement
|
114
128
|
requirements:
|
115
129
|
- - "~>"
|
116
130
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
131
|
+
version: 3.9.0
|
118
132
|
type: :development
|
119
133
|
prerelease: false
|
120
134
|
version_requirements: !ruby/object:Gem::Requirement
|
121
135
|
requirements:
|
122
136
|
- - "~>"
|
123
137
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
138
|
+
version: 3.9.0
|
125
139
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
140
|
+
name: rubocop
|
127
141
|
requirement: !ruby/object:Gem::Requirement
|
128
142
|
requirements:
|
129
|
-
- - "
|
143
|
+
- - "~>"
|
130
144
|
- !ruby/object:Gem::Version
|
131
|
-
version:
|
145
|
+
version: 0.86.0
|
132
146
|
type: :development
|
133
147
|
prerelease: false
|
134
148
|
version_requirements: !ruby/object:Gem::Requirement
|
135
149
|
requirements:
|
136
|
-
- - "
|
150
|
+
- - "~>"
|
137
151
|
- !ruby/object:Gem::Version
|
138
|
-
version:
|
152
|
+
version: 0.86.0
|
139
153
|
- !ruby/object:Gem::Dependency
|
140
154
|
name: simplecov
|
141
155
|
requirement: !ruby/object:Gem::Requirement
|
142
156
|
requirements:
|
143
157
|
- - "~>"
|
144
158
|
- !ruby/object:Gem::Version
|
145
|
-
version:
|
159
|
+
version: 0.18.5
|
146
160
|
type: :development
|
147
161
|
prerelease: false
|
148
162
|
version_requirements: !ruby/object:Gem::Requirement
|
149
163
|
requirements:
|
150
164
|
- - "~>"
|
151
165
|
- !ruby/object:Gem::Version
|
152
|
-
version:
|
166
|
+
version: 0.18.5
|
153
167
|
- !ruby/object:Gem::Dependency
|
154
168
|
name: yard
|
155
169
|
requirement: !ruby/object:Gem::Requirement
|
156
170
|
requirements:
|
157
171
|
- - "~>"
|
158
172
|
- !ruby/object:Gem::Version
|
159
|
-
version:
|
173
|
+
version: 0.9.25
|
160
174
|
type: :development
|
161
175
|
prerelease: false
|
162
176
|
version_requirements: !ruby/object:Gem::Requirement
|
163
177
|
requirements:
|
164
178
|
- - "~>"
|
165
179
|
- !ruby/object:Gem::Version
|
166
|
-
version:
|
180
|
+
version: 0.9.25
|
167
181
|
description: This provides a library of functions for reading and manipulating treebanks
|
168
182
|
using the PROIEL dependency format.
|
169
183
|
email:
|
@@ -221,7 +235,7 @@ homepage: http://proiel.github.com
|
|
221
235
|
licenses:
|
222
236
|
- MIT
|
223
237
|
metadata: {}
|
224
|
-
post_install_message:
|
238
|
+
post_install_message:
|
225
239
|
rdoc_options: []
|
226
240
|
require_paths:
|
227
241
|
- lib
|
@@ -229,7 +243,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
229
243
|
requirements:
|
230
244
|
- - ">="
|
231
245
|
- !ruby/object:Gem::Version
|
232
|
-
version: '2.
|
246
|
+
version: '2.4'
|
233
247
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
234
248
|
requirements:
|
235
249
|
- - ">="
|
@@ -237,7 +251,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
237
251
|
version: '0'
|
238
252
|
requirements: []
|
239
253
|
rubygems_version: 3.1.2
|
240
|
-
signing_key:
|
254
|
+
signing_key:
|
241
255
|
specification_version: 4
|
242
256
|
summary: A library for working with treebanks using the PROIEL dependency format
|
243
257
|
test_files: []
|