ree_lib 1.0.49 → 1.0.50
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/Gemfile.lock +4 -3
- data/lib/ree_lib/Packages.schema.json +4 -0
- data/lib/ree_lib/packages/ree_actions/spec/ree_actions/dsl_spec.rb +17 -10
- data/lib/ree_lib/packages/ree_dao/Package.schema.json +10 -0
- data/lib/ree_lib/packages/ree_dao/package/ree_dao/aggregate_dsl.rb +26 -0
- data/lib/ree_lib/packages/ree_dao/package/ree_dao/association.rb +311 -0
- data/lib/ree_lib/packages/ree_dao/package/ree_dao/associations.rb +148 -0
- data/lib/ree_lib/packages/ree_dao/package/ree_dao/beans/dao_cache.rb +40 -19
- data/lib/ree_lib/packages/ree_dao/package/ree_dao/contract/dao_dataset_contract.rb +15 -0
- data/lib/ree_lib/packages/ree_dao/package/ree_dao/contract/entity_contract.rb +15 -0
- data/lib/ree_lib/packages/ree_dao/package/ree_dao/dataset_extensions.rb +4 -0
- data/lib/ree_lib/packages/ree_dao/package/ree_dao/dsl.rb +1 -1
- data/lib/ree_lib/packages/ree_dao/package/ree_dao/functions/build_pg_connection.rb +1 -0
- data/lib/ree_lib/packages/ree_dao/package/ree_dao/functions/build_sqlite_connection.rb +1 -0
- data/lib/ree_lib/packages/ree_dao/package/ree_dao/functions/drop_cache.rb +1 -1
- data/lib/ree_lib/packages/ree_dao/package/ree_dao/functions/init_cache.rb +1 -1
- data/lib/ree_lib/packages/ree_dao/package/ree_dao/functions/load_agg.rb +63 -0
- data/lib/ree_lib/packages/ree_dao/package/ree_dao/thread_parents.rb +40 -0
- data/lib/ree_lib/packages/ree_dao/package/ree_dao.rb +9 -0
- data/lib/ree_lib/packages/ree_dao/schemas/ree_dao/functions/build_pg_connection.schema.json +1 -1
- data/lib/ree_lib/packages/ree_dao/schemas/ree_dao/functions/build_sqlite_connection.schema.json +1 -1
- data/lib/ree_lib/packages/ree_dao/schemas/ree_dao/functions/load_agg.schema.json +43 -0
- data/lib/ree_lib/packages/ree_dao/spec/ree_dao/functions/load_agg/load_agg_benchmark_spec.rb +414 -0
- data/lib/ree_lib/packages/ree_dao/spec/ree_dao/functions/load_agg/load_agg_spec.rb +605 -0
- data/lib/ree_lib/packages/ree_dao/spec/ree_dao/functions/load_agg/ree_dao_load_agg_test.rb +524 -0
- data/lib/ree_lib/packages/ree_logger/package/ree_logger/multi_logger.rb +19 -10
- data/lib/ree_lib/packages/ree_logger/spec/ree_logger/multi_logger_spec.rb +10 -0
- data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/mapper_factory_proxy.rb +6 -3
- data/lib/ree_lib/packages/ree_std/.gitignore +0 -0
- data/lib/ree_lib/packages/ree_std/.rspec +2 -0
- data/lib/ree_lib/packages/ree_std/Package.schema.json +24 -0
- data/lib/ree_lib/packages/ree_std/bin/console +5 -0
- data/lib/ree_lib/packages/ree_std/package/ree_std/functions/retry_on_fail.rb +46 -0
- data/lib/ree_lib/packages/ree_std/package/ree_std/retry.rb +67 -0
- data/lib/ree_lib/packages/ree_std/package/ree_std.rb +6 -0
- data/lib/ree_lib/packages/ree_std/schemas/ree_std/functions/retry_on_fail.schema.json +38 -0
- data/lib/ree_lib/packages/ree_std/spec/package_schema_spec.rb +14 -0
- data/lib/ree_lib/packages/ree_std/spec/ree_std/functions/retry_on_fail_spec.rb +97 -0
- data/lib/ree_lib/packages/ree_std/spec/spec_helper.rb +3 -0
- data/lib/ree_lib/packages/ree_swagger/package/ree_swagger/functions/build_request_body_schema.rb +5 -0
- data/lib/ree_lib/packages/ree_swagger/package/ree_swagger/functions/build_serializer_schema.rb +5 -0
- data/lib/ree_lib/packages/ree_swagger/spec/functions/build_endpoint_schema_spec.rb +4 -2
- data/lib/ree_lib/packages/ree_swagger/spec/functions/build_request_body_spec.rb +4 -2
- data/lib/ree_lib/version.rb +1 -1
- metadata +38 -2
@@ -0,0 +1,67 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class ReeStd::Retry
|
4
|
+
contract(
|
5
|
+
Kwargs[
|
6
|
+
max: Integer,
|
7
|
+
],
|
8
|
+
Ksplat[
|
9
|
+
interval?: Integer,
|
10
|
+
max_interval?: Integer,
|
11
|
+
backoff_factor?: Integer,
|
12
|
+
exceptions?: ArrayOf[SubclassOf[StandardError]],
|
13
|
+
retry_block?: Proc,
|
14
|
+
retry_if?: Proc,
|
15
|
+
] => Any
|
16
|
+
)
|
17
|
+
def initialize(max:, **opts)
|
18
|
+
@max = max
|
19
|
+
@current_attempt = 0
|
20
|
+
|
21
|
+
@interval = opts.fetch(:interval, 1)
|
22
|
+
@max_interval = opts.fetch(:max_interval, Float::INFINITY)
|
23
|
+
@backoff_factor = opts.fetch(:backoff_factor, 1)
|
24
|
+
|
25
|
+
@exceptions = opts.fetch(:exceptions) { [StandardError].freeze }
|
26
|
+
@retry_block = opts.fetch(:retry_block, Proc.new {})
|
27
|
+
@retry_if = opts.fetch(:retry_if, Proc.new { true })
|
28
|
+
end
|
29
|
+
|
30
|
+
contract(
|
31
|
+
Block => Any
|
32
|
+
)
|
33
|
+
def call(&block)
|
34
|
+
block.call
|
35
|
+
rescue => e
|
36
|
+
raise unless match_error?(e)
|
37
|
+
raise unless has_attempts?
|
38
|
+
|
39
|
+
@retry_block.call(@current_attempt, e)
|
40
|
+
|
41
|
+
Kernel.sleep(calculate_retry_interval)
|
42
|
+
|
43
|
+
increment_attemt!
|
44
|
+
retry
|
45
|
+
end
|
46
|
+
|
47
|
+
private
|
48
|
+
|
49
|
+
def has_attempts?
|
50
|
+
@current_attempt < @max
|
51
|
+
end
|
52
|
+
|
53
|
+
def increment_attemt!
|
54
|
+
@current_attempt += 1
|
55
|
+
end
|
56
|
+
|
57
|
+
def calculate_retry_interval
|
58
|
+
current_interval = @interval * (@backoff_factor ** @current_attempt)
|
59
|
+
|
60
|
+
[@max_interval, current_interval].min
|
61
|
+
end
|
62
|
+
|
63
|
+
def match_error?(e)
|
64
|
+
puts @retry_if.call(e)
|
65
|
+
@retry_if.call(e) && @exceptions.any? { e.is_a? _1 }
|
66
|
+
end
|
67
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
{
|
2
|
+
"schema_type": "object",
|
3
|
+
"schema_version": "1.1",
|
4
|
+
"name": "retry_on_fail",
|
5
|
+
"path": "packages/ree_std/package/ree_std/functions/retry_on_fail.rb",
|
6
|
+
"mount_as": "fn",
|
7
|
+
"class": "ReeStd::RetryOnFail",
|
8
|
+
"factory": null,
|
9
|
+
"methods": [
|
10
|
+
{
|
11
|
+
"doc": "## **Ruby Function: retry_on_fail**\n\nThis function allows you to execute a provided block of code and automatically retry it in case a specific exception occurs.\n\nrubyCopy code\n\n`x = 0 retry_on_fail(max: 2, retry_block: ->(attempt, e) { x += 1 } ) { 1 / x }`\n\n## **Parameters**\n\n* **max** (Integer, required): Specifies the maximum number of retry attempts.\n* **interval** (Integer, optional, default: 1): Sets the base delay between retry attempts in seconds.\n* **max_interval** (Integer, optional, default: Float::INFINITY): Defines the upper limit for the delay between retry attempts.\n* **backoff_factor** (Integer, optional, default: 1): Determines the increasing factor for the delay based on the attempt number.\n* **exceptions** (StandardError[], optional, default: [StandardError]): Specifies a list of exceptions that should trigger a retry.\n* **retry_block** (Proc, optional, default: **Proc.new {|attempt_number, exception|}**): Allows you to provide a custom block of code to be executed after a failed attempt.\n* **retry_if** (Proc, optional, default: **Proc.new { |exception| true }**): Provides an additional condition that must be satisfied before initiating a new retry attempt.",
|
12
|
+
"throws": [
|
13
|
+
|
14
|
+
],
|
15
|
+
"return": "Any",
|
16
|
+
"args": [
|
17
|
+
{
|
18
|
+
"arg": "max",
|
19
|
+
"arg_type": "keyreq",
|
20
|
+
"type": "Integer"
|
21
|
+
},
|
22
|
+
{
|
23
|
+
"arg": "opts",
|
24
|
+
"arg_type": "keyrest",
|
25
|
+
"type": "Ksplat[:interval? => Integer, :max_interval? => Integer, :backoff_factor? => Integer, :exceptions? => ArrayOf[SubclassOf[StandardError]], :retry_block? => Proc, :retry_if? => Proc]"
|
26
|
+
},
|
27
|
+
{
|
28
|
+
"arg": "block",
|
29
|
+
"arg_type": "block",
|
30
|
+
"type": "Block"
|
31
|
+
}
|
32
|
+
]
|
33
|
+
}
|
34
|
+
],
|
35
|
+
"links": [
|
36
|
+
|
37
|
+
]
|
38
|
+
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
RSpec.describe "ReeStd" do
|
2
|
+
it "generates package schema" do
|
3
|
+
require 'fileutils'
|
4
|
+
|
5
|
+
packages_schema_path = Ree.locate_packages_schema(__dir__)
|
6
|
+
packages_schema_dir = Pathname.new(packages_schema_path).dirname.to_s
|
7
|
+
|
8
|
+
FileUtils.cd packages_schema_dir do
|
9
|
+
expect(
|
10
|
+
system("bundle exec ree gen.package_json ree_std --silence")
|
11
|
+
).to eq(true)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,97 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
RSpec.describe :retry_on_fail do
|
4
|
+
link :retry_on_fail, from: :ree_std
|
5
|
+
|
6
|
+
SampleException = Class.new(StandardError)
|
7
|
+
YetAnotherException = Class.new(StandardError)
|
8
|
+
|
9
|
+
class TestRetryProcedure
|
10
|
+
def initialize(failed_count: 0, raise_error:)
|
11
|
+
@failed_count = failed_count
|
12
|
+
@raise_error = raise_error
|
13
|
+
@current_attempt = 0
|
14
|
+
end
|
15
|
+
|
16
|
+
def call
|
17
|
+
unless succeed?
|
18
|
+
@current_attempt += 1
|
19
|
+
raise @raise_error
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def succeed?
|
24
|
+
@current_attempt > @failed_count
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
describe "handles specific exception" do
|
29
|
+
let(:procedure) { TestRetryProcedure.new(failed_count: 1, raise_error: SampleException.new("sample exception message")) }
|
30
|
+
|
31
|
+
before(:each) do
|
32
|
+
@message = nil
|
33
|
+
|
34
|
+
retry_on_fail(
|
35
|
+
max: 2,
|
36
|
+
exceptions: [SampleException],
|
37
|
+
retry_block: ->(attempt, e) { @message = "Attempt ##{attempt}: '#{e.message}'" },
|
38
|
+
) { procedure.call }
|
39
|
+
end
|
40
|
+
|
41
|
+
it "should reach succeed case if failed count is less than max retries" do
|
42
|
+
expect(procedure.succeed?).to be true
|
43
|
+
end
|
44
|
+
|
45
|
+
it "should execute :retry_block" do
|
46
|
+
expect(@message).to eq("Attempt #1: 'sample exception message'")
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
describe "when max attempts was reached" do
|
51
|
+
let(:procedure) { TestRetryProcedure.new(failed_count: 3, raise_error: SampleException) }
|
52
|
+
|
53
|
+
it "raises error" do
|
54
|
+
expect {
|
55
|
+
retry_on_fail(
|
56
|
+
max: 2,
|
57
|
+
retry_if: ->(e) { e.is_a?(SampleException) && e.message == 'sample exception message' }
|
58
|
+
) { procedure.call }
|
59
|
+
}.to raise_error(SampleException)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
describe "when handle another exception" do
|
64
|
+
let(:procedure) { TestRetryProcedure.new(failed_count: 1, raise_error: YetAnotherException) }
|
65
|
+
|
66
|
+
it "raises error" do
|
67
|
+
expect {
|
68
|
+
retry_on_fail(
|
69
|
+
max: 2,
|
70
|
+
exceptions: [SampleException],
|
71
|
+
) { procedure.call }
|
72
|
+
}.to raise_error(YetAnotherException)
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
describe ":retry_if parameter" do
|
77
|
+
let(:procedure) { TestRetryProcedure.new(failed_count: 1, raise_error: SampleException) }
|
78
|
+
|
79
|
+
it "checks positive case" do
|
80
|
+
expect {
|
81
|
+
retry_on_fail(
|
82
|
+
max: 2,
|
83
|
+
retry_if: ->(e) { e.class == SampleException }
|
84
|
+
) { procedure.call }
|
85
|
+
}.not_to raise_error
|
86
|
+
end
|
87
|
+
|
88
|
+
it "checks negative case" do
|
89
|
+
expect {
|
90
|
+
retry_on_fail(
|
91
|
+
max: 2,
|
92
|
+
retry_if: ->(e) { e.class == YetAnotherException }
|
93
|
+
) { procedure.call }
|
94
|
+
}.to raise_error(SampleException)
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
data/lib/ree_lib/packages/ree_swagger/package/ree_swagger/functions/build_serializer_schema.rb
CHANGED
@@ -16,6 +16,11 @@ class ReeSwagger::BuildSerializerSchema
|
|
16
16
|
properties = mapper.fields.each_with_object({}) do |(_name, field), acc|
|
17
17
|
next unless fields_filters.all? { _1.allow?(field.name) }
|
18
18
|
|
19
|
+
if field.type == mapper
|
20
|
+
acc[field.name] = {}
|
21
|
+
next
|
22
|
+
end
|
23
|
+
|
19
24
|
swagger_field = {}
|
20
25
|
|
21
26
|
field_mapper = field.type
|
@@ -44,8 +44,9 @@ RSpec.describe :build_endpoint_schema do
|
|
44
44
|
|
45
45
|
ReeSwaggerTest::Locales.register_as_swagger_type
|
46
46
|
|
47
|
-
serializer = mapper_factory.call.use(:serialize) do
|
47
|
+
serializer = mapper_factory.call(register_as: :obj).use(:serialize) do
|
48
48
|
integer :id
|
49
|
+
obj :prev_obj, null: true
|
49
50
|
end
|
50
51
|
|
51
52
|
_tag_caster = mapper_factory.call(register_as: :tag).use(:cast) do
|
@@ -133,7 +134,8 @@ RSpec.describe :build_endpoint_schema do
|
|
133
134
|
schema: {
|
134
135
|
type: 'object',
|
135
136
|
properties: {
|
136
|
-
id: { type: 'integer' }
|
137
|
+
id: { type: 'integer' },
|
138
|
+
prev_obj: {}
|
137
139
|
}
|
138
140
|
}
|
139
141
|
}
|
@@ -14,10 +14,11 @@ RSpec.describe :build_request_body_schema_spec do
|
|
14
14
|
}
|
15
15
|
|
16
16
|
it {
|
17
|
-
caster = mapper_factory.call.use(:cast) do
|
17
|
+
caster = mapper_factory.call(register_as: :user).use(:cast) do
|
18
18
|
string :name
|
19
19
|
string :email
|
20
20
|
string? :last_name
|
21
|
+
user :friend
|
21
22
|
end
|
22
23
|
|
23
24
|
schema = {
|
@@ -25,7 +26,8 @@ RSpec.describe :build_request_body_schema_spec do
|
|
25
26
|
properties: {
|
26
27
|
name: { type: "string" },
|
27
28
|
email: { type: "string" },
|
28
|
-
last_name: { type: "string" }
|
29
|
+
last_name: { type: "string" },
|
30
|
+
friend: {}
|
29
31
|
},
|
30
32
|
required: ["name", "email"]
|
31
33
|
}
|
data/lib/ree_lib/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ree_lib
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.50
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ruslan Gatiyatov
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-06-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ree
|
@@ -220,6 +220,20 @@ dependencies:
|
|
220
220
|
- - "~>"
|
221
221
|
- !ruby/object:Gem::Version
|
222
222
|
version: 3.3.1
|
223
|
+
- !ruby/object:Gem::Dependency
|
224
|
+
name: faker
|
225
|
+
requirement: !ruby/object:Gem::Requirement
|
226
|
+
requirements:
|
227
|
+
- - "~>"
|
228
|
+
- !ruby/object:Gem::Version
|
229
|
+
version: '3.2'
|
230
|
+
type: :development
|
231
|
+
prerelease: false
|
232
|
+
version_requirements: !ruby/object:Gem::Requirement
|
233
|
+
requirements:
|
234
|
+
- - "~>"
|
235
|
+
- !ruby/object:Gem::Version
|
236
|
+
version: '3.2'
|
223
237
|
description: Ree Lib provides set of packages to extend Ruby Standard Library
|
224
238
|
email:
|
225
239
|
- ruslan.gatiyatov@gmail.com
|
@@ -292,8 +306,13 @@ files:
|
|
292
306
|
- lib/ree_lib/packages/ree_dao/Package.schema.json
|
293
307
|
- lib/ree_lib/packages/ree_dao/bin/console
|
294
308
|
- lib/ree_lib/packages/ree_dao/package/ree_dao.rb
|
309
|
+
- lib/ree_lib/packages/ree_dao/package/ree_dao/aggregate_dsl.rb
|
310
|
+
- lib/ree_lib/packages/ree_dao/package/ree_dao/association.rb
|
311
|
+
- lib/ree_lib/packages/ree_dao/package/ree_dao/associations.rb
|
295
312
|
- lib/ree_lib/packages/ree_dao/package/ree_dao/beans/connections.rb
|
296
313
|
- lib/ree_lib/packages/ree_dao/package/ree_dao/beans/dao_cache.rb
|
314
|
+
- lib/ree_lib/packages/ree_dao/package/ree_dao/contract/dao_dataset_contract.rb
|
315
|
+
- lib/ree_lib/packages/ree_dao/package/ree_dao/contract/entity_contract.rb
|
297
316
|
- lib/ree_lib/packages/ree_dao/package/ree_dao/dataset_extensions.rb
|
298
317
|
- lib/ree_lib/packages/ree_dao/package/ree_dao/dsl.rb
|
299
318
|
- lib/ree_lib/packages/ree_dao/package/ree_dao/functions/build_connection.rb
|
@@ -303,9 +322,11 @@ files:
|
|
303
322
|
- lib/ree_lib/packages/ree_dao/package/ree_dao/functions/drop_cache.rb
|
304
323
|
- lib/ree_lib/packages/ree_dao/package/ree_dao/functions/extract_changes.rb
|
305
324
|
- lib/ree_lib/packages/ree_dao/package/ree_dao/functions/init_cache.rb
|
325
|
+
- lib/ree_lib/packages/ree_dao/package/ree_dao/functions/load_agg.rb
|
306
326
|
- lib/ree_lib/packages/ree_dao/package/ree_dao/functions/one_to_many.rb
|
307
327
|
- lib/ree_lib/packages/ree_dao/package/ree_dao/functions/one_to_one.rb
|
308
328
|
- lib/ree_lib/packages/ree_dao/package/ree_dao/functions/persist_assoc.rb
|
329
|
+
- lib/ree_lib/packages/ree_dao/package/ree_dao/thread_parents.rb
|
309
330
|
- lib/ree_lib/packages/ree_dao/package/ree_dao/wrappers/pg_array.rb
|
310
331
|
- lib/ree_lib/packages/ree_dao/package/ree_dao/wrappers/pg_jsonb.rb
|
311
332
|
- lib/ree_lib/packages/ree_dao/schemas/ree_dao/beans/connections.schema.json
|
@@ -317,6 +338,7 @@ files:
|
|
317
338
|
- lib/ree_lib/packages/ree_dao/schemas/ree_dao/functions/drop_cache.schema.json
|
318
339
|
- lib/ree_lib/packages/ree_dao/schemas/ree_dao/functions/extract_changes.schema.json
|
319
340
|
- lib/ree_lib/packages/ree_dao/schemas/ree_dao/functions/init_cache.schema.json
|
341
|
+
- lib/ree_lib/packages/ree_dao/schemas/ree_dao/functions/load_agg.schema.json
|
320
342
|
- lib/ree_lib/packages/ree_dao/schemas/ree_dao/functions/one_to_many.schema.json
|
321
343
|
- lib/ree_lib/packages/ree_dao/schemas/ree_dao/functions/one_to_one.schema.json
|
322
344
|
- lib/ree_lib/packages/ree_dao/schemas/ree_dao/functions/persist_assoc.schema.json
|
@@ -324,6 +346,9 @@ files:
|
|
324
346
|
- lib/ree_lib/packages/ree_dao/spec/ree_dao/functions/build_pg_connection_spec.rb
|
325
347
|
- lib/ree_lib/packages/ree_dao/spec/ree_dao/functions/build_sqlite_connection/max_connections_spec.rb
|
326
348
|
- lib/ree_lib/packages/ree_dao/spec/ree_dao/functions/build_sqlite_connection_spec.rb
|
349
|
+
- lib/ree_lib/packages/ree_dao/spec/ree_dao/functions/load_agg/load_agg_benchmark_spec.rb
|
350
|
+
- lib/ree_lib/packages/ree_dao/spec/ree_dao/functions/load_agg/load_agg_spec.rb
|
351
|
+
- lib/ree_lib/packages/ree_dao/spec/ree_dao/functions/load_agg/ree_dao_load_agg_test.rb
|
327
352
|
- lib/ree_lib/packages/ree_dao/spec/ree_dao/functions/one_to_many_spec.rb
|
328
353
|
- lib/ree_lib/packages/ree_dao/spec/ree_dao/functions/one_to_one_spec.rb
|
329
354
|
- lib/ree_lib/packages/ree_dao/spec/ree_dao/functions/persist_assoc_spec.rb
|
@@ -1146,6 +1171,17 @@ files:
|
|
1146
1171
|
- lib/ree_lib/packages/ree_routes/spec/package_schema_spec.rb
|
1147
1172
|
- lib/ree_lib/packages/ree_routes/spec/ree_routes/dsl_spec.rb
|
1148
1173
|
- lib/ree_lib/packages/ree_routes/spec/spec_helper.rb
|
1174
|
+
- lib/ree_lib/packages/ree_std/.gitignore
|
1175
|
+
- lib/ree_lib/packages/ree_std/.rspec
|
1176
|
+
- lib/ree_lib/packages/ree_std/Package.schema.json
|
1177
|
+
- lib/ree_lib/packages/ree_std/bin/console
|
1178
|
+
- lib/ree_lib/packages/ree_std/package/ree_std.rb
|
1179
|
+
- lib/ree_lib/packages/ree_std/package/ree_std/functions/retry_on_fail.rb
|
1180
|
+
- lib/ree_lib/packages/ree_std/package/ree_std/retry.rb
|
1181
|
+
- lib/ree_lib/packages/ree_std/schemas/ree_std/functions/retry_on_fail.schema.json
|
1182
|
+
- lib/ree_lib/packages/ree_std/spec/package_schema_spec.rb
|
1183
|
+
- lib/ree_lib/packages/ree_std/spec/ree_std/functions/retry_on_fail_spec.rb
|
1184
|
+
- lib/ree_lib/packages/ree_std/spec/spec_helper.rb
|
1149
1185
|
- lib/ree_lib/packages/ree_string/.gitignore
|
1150
1186
|
- lib/ree_lib/packages/ree_string/.rspec
|
1151
1187
|
- lib/ree_lib/packages/ree_string/Package.schema.json
|