fbe 0.0.27 → 0.0.28

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: 0b7ed70e3e3d37780d727b9c269cd27a86179da0df8b781eb2cc8a339e443ac5
4
- data.tar.gz: 9635ce676a24efc7e63567d0b370588a4b8af12de34cbcc65bb5718991658c8e
3
+ metadata.gz: bd990128519eca8f209d125189adf9c6478747eacf3f1c38b78453a41b6fc743
4
+ data.tar.gz: d19077d3747061780cb14f45efbbc8ab84399e8c959d11c2bfaf197ce215b1d0
5
5
  SHA512:
6
- metadata.gz: 5dfd3ace2f914dc4fa31869a743b41fd56851419f32e2d0b1077b1517b9faa9e8829ecc2c545653162161c0722856019ea112411133ec7c79a065eb046f376b1
7
- data.tar.gz: 87ffa308115144cf84cb725e084917473dce9ab3f73bca02dc2e231d160c74fb0a46cd4676791c0891d25b5406dc95f0313d08ffda13c8e6ff903fc625570798
6
+ metadata.gz: 74f4e2a03f13db7d934e29ebbee0357796b6c192401a65ac3bdeb01422a920b80c4e24c70191bf4ffb2ffb482131026cac0c43fdfbff1bd5d448e8df1368fb83
7
+ data.tar.gz: 5918f4ea19d6b979411cae675a37f290894ac139fef72a4c021222001f96a52963150e0ae362b4bbb5d24d09b46694491f4d64efb4edc89224cb0396ef9350be
data/lib/fbe/award.rb CHANGED
@@ -148,9 +148,10 @@ class Fbe::Award
148
148
  v = to_val(@operands[0], bill)
149
149
  a = to_val(@operands[1], bill)
150
150
  b = to_val(@operands[2], bill)
151
- v = b if v > b
152
- v = a if v < a
153
- v
151
+ min, max = [a, b].minmax
152
+ return 0 if (v.positive? && v < min) || (v.negative? && v > max)
153
+
154
+ v.clamp(min, max)
154
155
  else
155
156
  raise "Unknown term '#{@op}'"
156
157
  end
data/lib/fbe/octo.rb CHANGED
@@ -37,16 +37,24 @@ def Fbe.octo(options: $options, global: $global, loog: $loog)
37
37
  if options.testing.nil?
38
38
  o = Octokit::Client.new
39
39
  token = options.github_token
40
- loog.debug("The 'github_token' option is not provided") if token.nil?
41
- token = ENV.fetch('GITHUB_TOKEN', nil) if token.nil?
42
- loog.debug("The 'GITHUB_TOKEN' environment variable is not set") if token.nil?
40
+ if token.nil?
41
+ loog.debug("The 'github_token' option is not provided")
42
+ token = ENV.fetch('GITHUB_TOKEN', nil)
43
+ if token.nil?
44
+ loog.debug("The 'GITHUB_TOKEN' environment variable is not set")
45
+ else
46
+ loog.debug("The 'GITHUB_TOKEN' environment was provided")
47
+ end
48
+ else
49
+ loog.debug("The 'github_token' option was provided")
50
+ end
43
51
  if token.nil?
44
52
  loog.warn('Accessing GitHub API without a token!')
45
53
  elsif token.empty?
46
54
  loog.warn('The GitHub API token is an empty string, won\'t use it')
47
55
  else
48
56
  o = Octokit::Client.new(access_token: token)
49
- loog.info("Accessing GitHub API with a token (#{token.length} chars)")
57
+ loog.info("Accessing GitHub API with a token (#{token.length} chars, ending by #{token[-(token.size - 4)..]})")
50
58
  end
51
59
  o.auto_paginate = true
52
60
  o.per_page = 100
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.27'
30
+ VERSION = '0.0.28'
31
31
  end
@@ -79,7 +79,7 @@ class TestAward < Minitest::Test
79
79
  '(let x 25)' => 0,
80
80
  '(award (give 25 "for being a good boy"))' => 25,
81
81
  '(award (give (between 42 -10 -50) "empty"))' => -10,
82
- '(award (give (between -3 -10 -50) "empty"))' => -10,
82
+ '(award (give (between -3 -10 -50) "empty"))' => 0,
83
83
  '(award (give (between -100 -50 -10) "empty"))' => -50
84
84
  }.each do |q, v|
85
85
  a = Fbe::Award.new(q)
@@ -87,6 +87,20 @@ class TestAward < Minitest::Test
87
87
  end
88
88
  end
89
89
 
90
+ def test_must_not_give_anything_when_too_small_value
91
+ {
92
+ '(award (give (between 13 5 20)))' => 13,
93
+ '(award (give (between 3 5 20)))' => 0,
94
+ '(award (give (between 25 5 20)))' => 20,
95
+ '(award (give (between -2 -10 -30)))' => 0,
96
+ '(award (give (between -15 -10 -30)))' => -15,
97
+ '(award (give (between -50 -10 -30)))' => -30
98
+ }.each do |q, v|
99
+ a = Fbe::Award.new(q)
100
+ assert_equal(v, a.bill.points, q)
101
+ end
102
+ end
103
+
90
104
  def test_some_policies
91
105
  {
92
106
  '(award (let x_a 25) (set z (plus x_a 1)) (give z "..."))' =>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fbe
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.27
4
+ version: 0.0.28
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-22 00:00:00.000000000 Z
11
+ date: 2024-07-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: backtrace