fbe 0.0.18 → 0.0.19

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
  SHA256:
3
- metadata.gz: d24abbe61d348fe36be6906b68607c26f66cd128b0f49a0b937bc1f3d78eeab0
4
- data.tar.gz: 74ca1b97ae8d7e9aa3accba9789e7b5a20770bbc234feba3fefcf0ac8ce7ebca
3
+ metadata.gz: d25c37b43cfba051943236b5a62e33f24e64569c638cabe65aff2a9bca5823dd
4
+ data.tar.gz: 99870b5a82826ea29fee426e357c6cf51533ad480c14a7b46a8a408a238b4a91
5
5
  SHA512:
6
- metadata.gz: 4d8ec18732572750d5424efdf12ed2245d74e841ac3b058771eea922b6f4471391751f892b5f614e156216e5aa9fe797e474b90e5c4d150fe7251488f4609f6f
7
- data.tar.gz: c378ebb1e584a4d07f5a0443b3804ee8966b5002f9f93b3b19353d7c458b913d1419e7163d01765119e05c01f58e4a6d4c8ec8552ca9f9a73be595b0e35e9973
6
+ metadata.gz: 64c1b1d1be331458fe3c34a99a80c81f5bf2e77a6e7b378d1269d5c421024e049b61cdf5651ccd435b7a1233eb8d315e8e39f8d04091cbcf813468e1417b94e0
7
+ data.tar.gz: b2feba50e12a9b157b09cbea421f87c97d50201afc0da2619f144f1b6963937718ffdf4fc050995d8c8b7c38798955989bb7b4dcf6d14f0c525c451c8002e738
@@ -27,4 +27,4 @@ jobs:
27
27
  runs-on: ubuntu-22.04
28
28
  steps:
29
29
  - uses: actions/checkout@v4
30
- - uses: yegor256/copyrights-action@0.0.4
30
+ - uses: yegor256/copyrights-action@0.0.5
data/Gemfile.lock CHANGED
@@ -2,19 +2,19 @@ PATH
2
2
  remote: .
3
3
  specs:
4
4
  fbe (0.0.0)
5
- backtrace
6
- decoor
7
- factbase
8
- faraday
9
- faraday-http-cache
10
- faraday-multipart
11
- faraday-retry
12
- judges
13
- loog
14
- obk
15
- octokit
16
- others
17
- verbose
5
+ backtrace (> 0)
6
+ decoor (> 0)
7
+ factbase (> 0)
8
+ faraday (> 0)
9
+ faraday-http-cache (> 0)
10
+ faraday-multipart (> 0)
11
+ faraday-retry (> 0)
12
+ judges (> 0)
13
+ loog (> 0)
14
+ obk (> 0)
15
+ octokit (> 0)
16
+ others (> 0)
17
+ verbose (> 0)
18
18
 
19
19
  GEM
20
20
  remote: https://rubygems.org/
@@ -63,7 +63,7 @@ GEM
63
63
  erubi (1.13.0)
64
64
  ethon (0.16.0)
65
65
  ffi (>= 1.15.0)
66
- factbase (0.0.60)
66
+ factbase (0.1.1)
67
67
  backtrace (~> 0.3)
68
68
  decoor (~> 0.0)
69
69
  json (~> 2.7)
@@ -87,7 +87,7 @@ GEM
87
87
  ffi (1.17.0-x64-mingw-ucrt)
88
88
  ffi (1.17.0-x86_64-darwin)
89
89
  ffi (1.17.0-x86_64-linux-gnu)
90
- gli (2.21.1)
90
+ gli (2.21.3)
91
91
  i18n (1.14.5)
92
92
  concurrent-ruby (~> 1.0)
93
93
  io-console (0.7.2)
@@ -96,7 +96,7 @@ GEM
96
96
  reline (>= 0.4.2)
97
97
  iri (0.8.0)
98
98
  json (2.7.2)
99
- judges (0.17.0)
99
+ judges (0.18.1)
100
100
  backtrace (~> 0)
101
101
  concurrent-ruby (~> 1.2)
102
102
  factbase (~> 0)
@@ -178,7 +178,7 @@ GEM
178
178
  reline (0.5.9)
179
179
  io-console (~> 0.5)
180
180
  retries (0.0.5)
181
- rexml (3.3.1)
181
+ rexml (3.3.2)
182
182
  strscan
183
183
  rspec-core (3.13.0)
184
184
  rspec-support (~> 3.13.0)
data/fbe.gemspec CHANGED
@@ -39,18 +39,18 @@ Gem::Specification.new do |s|
39
39
  s.files = `git ls-files`.split($RS)
40
40
  s.rdoc_options = ['--charset=UTF-8']
41
41
  s.extra_rdoc_files = ['README.md', 'LICENSE.txt']
42
- s.add_dependency 'backtrace'
43
- s.add_dependency 'decoor'
44
- s.add_dependency 'factbase'
45
- s.add_dependency 'faraday'
46
- s.add_dependency 'faraday-http-cache'
47
- s.add_dependency 'faraday-multipart'
48
- s.add_dependency 'faraday-retry'
49
- s.add_dependency 'judges'
50
- s.add_dependency 'loog'
51
- s.add_dependency 'obk'
52
- s.add_dependency 'octokit'
53
- s.add_dependency 'others'
54
- s.add_dependency 'verbose'
42
+ s.add_dependency 'backtrace', '>0'
43
+ s.add_dependency 'decoor', '>0'
44
+ s.add_dependency 'factbase', '>0'
45
+ s.add_dependency 'faraday', '>0'
46
+ s.add_dependency 'faraday-http-cache', '>0'
47
+ s.add_dependency 'faraday-multipart', '>0'
48
+ s.add_dependency 'faraday-retry', '>0'
49
+ s.add_dependency 'judges', '>0'
50
+ s.add_dependency 'loog', '>0'
51
+ s.add_dependency 'obk', '>0'
52
+ s.add_dependency 'octokit', '>0'
53
+ s.add_dependency 'others', '>0'
54
+ s.add_dependency 'verbose', '>0'
55
55
  s.metadata['rubygems_mfa_required'] = 'true'
56
56
  end
data/lib/fbe/award.rb ADDED
@@ -0,0 +1,262 @@
1
+ # frozen_string_literal: true
2
+
3
+ # MIT License
4
+ #
5
+ # Copyright (c) 2024 Zerocracy
6
+ #
7
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ # of this software and associated documentation files (the "Software"), to deal
9
+ # in the Software without restriction, including without limitation the rights
10
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ # copies of the Software, and to permit persons to whom the Software is
12
+ # furnished to do so, subject to the following conditions:
13
+ #
14
+ # The above copyright notice and this permission notice shall be included in all
15
+ # copies or substantial portions of the Software.
16
+ #
17
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23
+ # SOFTWARE.
24
+
25
+ require 'factbase/syntax'
26
+
27
+ # Award generator.
28
+ # Author:: Yegor Bugayenko (yegor256@gmail.com)
29
+ # Copyright:: Copyright (c) 2024 Yegor Bugayenko
30
+ # License:: MIT
31
+ class Fbe::Award
32
+ def initialize(query = J.pmp.hr.send($judge.gsub('-', '_')))
33
+ @query = query
34
+ end
35
+
36
+ def bill(vars = {})
37
+ term = Factbase::Syntax.new(@query, term: Fbe::Award::BTerm).to_term
38
+ bill = Bill.new
39
+ vars.each { |k, v| bill.set(k, v) }
40
+ term.bill_to(bill)
41
+ bill
42
+ end
43
+
44
+ def policy
45
+ term = Factbase::Syntax.new(@query, term: Fbe::Award::PTerm).to_term
46
+ policy = Policy.new
47
+ term.publish_to(policy)
48
+ policy
49
+ end
50
+
51
+ # A term for bill.
52
+ class BTerm
53
+ def initialize(operator, operands)
54
+ @op = operator
55
+ @operands = operands
56
+ end
57
+
58
+ def to_s
59
+ "(#{@op} #{@operands.join(' ')})"
60
+ end
61
+
62
+ def bill_to(bill)
63
+ case @op
64
+ when :award
65
+ @operands.each do |o|
66
+ o.bill_to(bill)
67
+ rescue StandardError => e
68
+ raise "Failure in #{o}: #{e.message}"
69
+ end
70
+ when :let, :set
71
+ bill.set(@operands[0], to_val(@operands[1], bill))
72
+ when :give
73
+ text = @operands[1]
74
+ text = '' if text.nil?
75
+ bill.line(to_val(@operands[0], bill), text)
76
+ when :explain, :in
77
+ # nothing, just ignore
78
+ else
79
+ raise "Unknown term '#{@op}'"
80
+ end
81
+ end
82
+
83
+ def to_val(any, bill)
84
+ if any.is_a?(BTerm)
85
+ any.calc(bill)
86
+ elsif any.is_a?(Symbol)
87
+ v = bill.vars[any]
88
+ raise "Unknown name '#{any}' among [#{bill.vars.keys.join(', ')}]" if v.nil?
89
+ v
90
+ else
91
+ any
92
+ end
93
+ end
94
+
95
+ def calc(bill)
96
+ case @op
97
+ when :total
98
+ bill.points
99
+ when :if
100
+ to_val(@operands[0], bill) ? to_val(@operands[1], bill) : to_val(@operands[2], bill)
101
+ when :eq
102
+ to_val(@operands[0], bill) == to_val(@operands[1], bill)
103
+ when :lt
104
+ to_val(@operands[0], bill) < to_val(@operands[1], bill)
105
+ when :lte
106
+ to_val(@operands[0], bill) <= to_val(@operands[1], bill)
107
+ when :gt
108
+ to_val(@operands[0], bill) > to_val(@operands[1], bill)
109
+ when :gte
110
+ to_val(@operands[0], bill) >= to_val(@operands[1], bill)
111
+ when :div
112
+ to_val(@operands[0], bill) / to_val(@operands[1], bill)
113
+ when :times
114
+ to_val(@operands[0], bill) * to_val(@operands[1], bill)
115
+ when :plus
116
+ to_val(@operands[0], bill) + to_val(@operands[1], bill)
117
+ when :minus
118
+ to_val(@operands[0], bill) - to_val(@operands[1], bill)
119
+ when :max
120
+ [to_val(@operands[0], bill), to_val(@operands[1], bill)].max
121
+ when :min
122
+ [to_val(@operands[0], bill), to_val(@operands[1], bill)].min
123
+ when :between
124
+ v = to_val(@operands[0], bill)
125
+ a = to_val(@operands[1], bill)
126
+ b = to_val(@operands[2], bill)
127
+ v = b if v > b
128
+ v = a if v < a
129
+ v
130
+ else
131
+ raise "Unknown term '#{@op}'"
132
+ end
133
+ end
134
+ end
135
+
136
+ # A term for policy.
137
+ class PTerm
138
+ def initialize(operator, operands)
139
+ @op = operator
140
+ @operands = operands
141
+ end
142
+
143
+ def to_s
144
+ case @op
145
+ when :total
146
+ 'total'
147
+ when :if
148
+ "if #{to_str(@operands[0])} then #{to_str(@operands[1])} else #{to_str(@operands[2])}"
149
+ when :eq
150
+ "#{to_str(@operands[0])} == #{to_str(@operands[1])}"
151
+ when :lt
152
+ "#{to_str(@operands[0])} < #{to_str(@operands[1])}"
153
+ when :lte
154
+ "#{to_str(@operands[0])} ≤ #{to_str(@operands[1])}"
155
+ when :gt
156
+ "#{to_str(@operands[0])} > #{to_str(@operands[1])}"
157
+ when :gte
158
+ "#{to_str(@operands[0])} ≥ #{to_str(@operands[1])}"
159
+ when :div
160
+ "#{to_str(@operands[0])} ÷ #{to_str(@operands[1])}"
161
+ when :times
162
+ "#{to_str(@operands[0])} × #{to_str(@operands[1])}"
163
+ when :plus
164
+ "#{to_str(@operands[0])} + #{to_str(@operands[1])}"
165
+ when :minus
166
+ "#{to_str(@operands[0])} - #{to_str(@operands[1])}"
167
+ when :max
168
+ "maximum of #{to_str(@operands[0])} and #{to_str(@operands[1])}"
169
+ when :min
170
+ "minimum of #{to_str(@operands[0])} and #{to_str(@operands[1])}"
171
+ when :between
172
+ "at least #{to_str(@operands[0])} and at most #{to_str(@operands[1])}"
173
+ else
174
+ raise "Unknown term '#{@op}'"
175
+ end
176
+ end
177
+
178
+ def publish_to(policy)
179
+ case @op
180
+ when :award
181
+ @operands.each do |o|
182
+ o.publish_to(policy)
183
+ rescue StandardError => e
184
+ raise "Failure in #{o}: #{e.message}"
185
+ end
186
+ when :explain
187
+ policy.intro(to_str(@operands[0]))
188
+ when :in
189
+ policy.line("assume that #{to_str(@operands[0])} is #{to_str(@operands[1])}")
190
+ when :let
191
+ policy.line("let #{to_str(@operands[0])} be equal to #{to_str(@operands[1])}")
192
+ when :set
193
+ policy.line("set #{to_str(@operands[0])} to #{to_str(@operands[1])}")
194
+ when :give
195
+ policy.line("award #{to_str(@operands[0])}")
196
+ else
197
+ raise "Unknown term '#{@op}'"
198
+ end
199
+ end
200
+
201
+ def to_str(any)
202
+ if any.is_a?(PTerm)
203
+ any.to_s
204
+ elsif any.is_a?(Symbol)
205
+ "_#{any}_"
206
+ else
207
+ any
208
+ end
209
+ end
210
+ end
211
+
212
+ # A bill.
213
+ class Bill
214
+ attr_reader :vars
215
+
216
+ def initialize
217
+ @lines = []
218
+ @vars = {}
219
+ end
220
+
221
+ def set(var, value)
222
+ @vars[var] = value
223
+ end
224
+
225
+ def line(value, text)
226
+ return if value.zero?
227
+ text = text.gsub(/\$\{([a-z_0-9]+)\}/) { |_x| @vars[Regexp.last_match[1].to_sym] }
228
+ @lines << { v: value, t: text }
229
+ end
230
+
231
+ def points
232
+ @lines.map { |l| l[:v] }.inject(&:+).to_i
233
+ end
234
+
235
+ def greeting
236
+ items = @lines.map { |l| "#{format('%+d', l[:v])} #{l[:t]}" }
237
+ "You've earned #{format('%+d', points)} points for this: #{items.join('; ')}. "
238
+ end
239
+ end
240
+
241
+ # A policy.
242
+ class Policy
243
+ attr_reader :vars
244
+
245
+ def initialize
246
+ @lines = []
247
+ @intro = ''
248
+ end
249
+
250
+ def intro(text)
251
+ @intro = text
252
+ end
253
+
254
+ def line(line)
255
+ @lines << line
256
+ end
257
+
258
+ def markdown
259
+ "#{@intro}. Here it how it's calculated: First, #{@lines.join('. Then, ')}."
260
+ end
261
+ end
262
+ end
data/lib/fbe.rb CHANGED
@@ -27,5 +27,5 @@
27
27
  # License:: MIT
28
28
  module Fbe
29
29
  # Current version of the gem (changed by .rultor.yml on every release)
30
- VERSION = '0.0.18'
30
+ VERSION = '0.0.19'
31
31
  end
@@ -0,0 +1,86 @@
1
+ # frozen_string_literal: true
2
+
3
+ # MIT License
4
+ #
5
+ # Copyright (c) 2024 Zerocracy
6
+ #
7
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ # of this software and associated documentation files (the "Software"), to deal
9
+ # in the Software without restriction, including without limitation the rights
10
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ # copies of the Software, and to permit persons to whom the Software is
12
+ # furnished to do so, subject to the following conditions:
13
+ #
14
+ # The above copyright notice and this permission notice shall be included in all
15
+ # copies or substantial portions of the Software.
16
+ #
17
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23
+ # SOFTWARE.
24
+
25
+ require 'minitest/autorun'
26
+ require_relative '../test__helper'
27
+ require_relative '../../lib/fbe/award'
28
+
29
+ # Test.
30
+ # Author:: Yegor Bugayenko (yegor256@gmail.com)
31
+ # Copyright:: Copyright (c) 2024 Yegor Bugayenko
32
+ # License:: MIT
33
+ class TestAward < Minitest::Test
34
+ def test_simple
35
+ a = Fbe::Award.new(
36
+ '
37
+ (award
38
+ (explain "When a bug is resolved by the person who was assigned to it, a reward is granted to this person")
39
+ (in hours "hours passed between bug reported and closed")
40
+ (let max 36)
41
+ (let basis 30)
42
+ (give basis "as a basis")
43
+ (set b1 (if (lt hours max) 10 0))
44
+ (give b1 "for resolving the bug in ${hours} (<${max}) hours")
45
+ (set days (div hours 24))
46
+ (set b2 (times days -1))
47
+ (let worst -20)
48
+ (set b2 (max b2 worst))
49
+ (let at_least -5)
50
+ (set b2 (if (lt b2 at_least) b2 0))
51
+ (set b2 (between b2 3 120))
52
+ (give b2 "for holding the bug open for too long (${days} days)"))
53
+ '
54
+ )
55
+ b = a.bill(hours: 10)
56
+ assert(b.points <= 100)
57
+ assert(b.points >= 5)
58
+ assert_equal(43, b.points)
59
+ g = b.greeting
60
+ [
61
+ 'You\'ve earned +43 points for this',
62
+ '+10 for resolving the bug in 10',
63
+ 'too long (0 days)',
64
+ 'bug in 10 (<36) hours',
65
+ '+30 as a basis'
66
+ ].each { |t| assert(g.include?(t), g) }
67
+ md = a.policy.markdown
68
+ [
69
+ 'First, assume that _hours_ is hours',
70
+ 'Then, award _b2_'
71
+ ].each { |t| assert(md.include?(t), md) }
72
+ end
73
+
74
+ def test_some_terms
75
+ {
76
+ '(let x 25)' => 0,
77
+ '(award (give 25 "for being a good boy"))' => 25,
78
+ '(award (give (between 42 -10 -50) "empty"))' => -10,
79
+ '(award (give (between -3 -10 -50) "empty"))' => -10,
80
+ '(award (give (between -100 -50 -10) "empty"))' => -50
81
+ }.each do |q, v|
82
+ a = Fbe::Award.new(q)
83
+ assert_equal(v, a.bill.points, q)
84
+ end
85
+ end
86
+ end
@@ -27,6 +27,7 @@ require 'loog'
27
27
  require 'factbase'
28
28
  require 'factbase/syntax'
29
29
  require 'judges/options'
30
+ require_relative '../test__helper'
30
31
  require_relative '../../lib/fbe/conclude'
31
32
  require_relative '../../lib/fbe/fb'
32
33
 
data/test/fbe/test_fb.rb CHANGED
@@ -26,6 +26,7 @@ require 'minitest/autorun'
26
26
  require 'factbase'
27
27
  require 'loog'
28
28
  require 'judges/options'
29
+ require_relative '../test__helper'
29
30
  require_relative '../../lib/fbe'
30
31
  require_relative '../../lib/fbe/fb'
31
32
 
@@ -27,6 +27,7 @@ require 'tmpdir'
27
27
  require 'factbase'
28
28
  require 'factbase/looged'
29
29
  require 'loog'
30
+ require_relative '../test__helper'
30
31
  require_relative '../../lib/fbe/if_absent'
31
32
 
32
33
  # Test.
@@ -24,6 +24,7 @@
24
24
 
25
25
  require 'minitest/autorun'
26
26
  require 'loog'
27
+ require_relative '../test__helper'
27
28
  require_relative '../../lib/fbe/issue'
28
29
 
29
30
  # Test.
@@ -26,6 +26,7 @@ require 'minitest/autorun'
26
26
  require 'loog'
27
27
  require 'factbase'
28
28
  require 'judges/options'
29
+ require_relative '../test__helper'
29
30
  require_relative '../../lib/fbe/iterate'
30
31
 
31
32
  # Test.
@@ -25,6 +25,7 @@
25
25
  require 'minitest/autorun'
26
26
  require 'judges/options'
27
27
  require 'loog'
28
+ require_relative '../test__helper'
28
29
  require_relative '../../lib/fbe/octo'
29
30
 
30
31
  # Test.
data/test/fbe/test_sec.rb CHANGED
@@ -23,6 +23,7 @@
23
23
  # SOFTWARE.
24
24
 
25
25
  require 'minitest/autorun'
26
+ require_relative '../test__helper'
26
27
  require_relative '../../lib/fbe/sec'
27
28
 
28
29
  # Test.
@@ -25,6 +25,7 @@
25
25
  require 'minitest/autorun'
26
26
  require 'judges/options'
27
27
  require 'loog'
28
+ require_relative '../test__helper'
28
29
  require_relative '../../lib/fbe/unmask_repos'
29
30
 
30
31
  # Test.
data/test/fbe/test_who.rb CHANGED
@@ -24,6 +24,7 @@
24
24
 
25
25
  require 'minitest/autorun'
26
26
  require 'loog'
27
+ require_relative '../test__helper'
27
28
  require_relative '../../lib/fbe/who'
28
29
 
29
30
  # Test.
data/test/test_fbe.rb CHANGED
@@ -21,6 +21,7 @@
21
21
  # SOFTWARE.
22
22
 
23
23
  require 'minitest/autorun'
24
+ require_relative 'test__helper'
24
25
  require_relative '../lib/fbe'
25
26
 
26
27
  # Main module test.
metadata CHANGED
@@ -1,195 +1,195 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fbe
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.18
4
+ version: 0.0.19
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yegor Bugayenko
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-07-16 00:00:00.000000000 Z
11
+ date: 2024-07-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: backtrace
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - ">"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
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
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: decoor
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - ">"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '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
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: factbase
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - ">"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
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
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: faraday
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - ">"
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
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
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: faraday-http-cache
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">="
73
+ - - ">"
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
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
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: faraday-multipart
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ">="
87
+ - - ">"
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ">="
94
+ - - ">"
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: faraday-retry
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ">="
101
+ - - ">"
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ">="
108
+ - - ">"
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: judges
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ">="
115
+ - - ">"
116
116
  - !ruby/object:Gem::Version
117
117
  version: '0'
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ">="
122
+ - - ">"
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: loog
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - ">="
129
+ - - ">"
130
130
  - !ruby/object:Gem::Version
131
131
  version: '0'
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - ">="
136
+ - - ">"
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: obk
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - ">="
143
+ - - ">"
144
144
  - !ruby/object:Gem::Version
145
145
  version: '0'
146
146
  type: :runtime
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - ">="
150
+ - - ">"
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0'
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: octokit
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
- - - ">="
157
+ - - ">"
158
158
  - !ruby/object:Gem::Version
159
159
  version: '0'
160
160
  type: :runtime
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
- - - ">="
164
+ - - ">"
165
165
  - !ruby/object:Gem::Version
166
166
  version: '0'
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: others
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
- - - ">="
171
+ - - ">"
172
172
  - !ruby/object:Gem::Version
173
173
  version: '0'
174
174
  type: :runtime
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
- - - ">="
178
+ - - ">"
179
179
  - !ruby/object:Gem::Version
180
180
  version: '0'
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: verbose
183
183
  requirement: !ruby/object:Gem::Requirement
184
184
  requirements:
185
- - - ">="
185
+ - - ">"
186
186
  - !ruby/object:Gem::Version
187
187
  version: '0'
188
188
  type: :runtime
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
- - - ">="
192
+ - - ">"
193
193
  - !ruby/object:Gem::Version
194
194
  version: '0'
195
195
  description: A collection of extensions for a factbase, helping the judges of Zerocracy
@@ -224,6 +224,7 @@ files:
224
224
  - Rakefile
225
225
  - fbe.gemspec
226
226
  - lib/fbe.rb
227
+ - lib/fbe/award.rb
227
228
  - lib/fbe/conclude.rb
228
229
  - lib/fbe/fb.rb
229
230
  - lib/fbe/if_absent.rb
@@ -235,6 +236,7 @@ files:
235
236
  - lib/fbe/who.rb
236
237
  - renovate.json
237
238
  - rules/basic.fe
239
+ - test/fbe/test_award.rb
238
240
  - test/fbe/test_conclude.rb
239
241
  - test/fbe/test_fb.rb
240
242
  - test/fbe/test_if_absent.rb