ree_lib 1.0.45 → 1.0.46

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1833caceb1fab8b06725a1a975b37176fe614d2977bec18a0bbcde694bc8c386
4
- data.tar.gz: d7a55eebaeabce9227d6d5c991bbd55ce2b70e3a2c1857bef588205320d8a911
3
+ metadata.gz: c891f66e5e8dfeb011588bb1cdfebebd2d1ca88552a2e623eeb573d72b43fd47
4
+ data.tar.gz: 3c9885f0abfb06dc1cde8d9fcdcb7a5901c859dbb629c61d7939caf1eb74b242
5
5
  SHA512:
6
- metadata.gz: ca8d804780cdaed54a20b120bc8054568af74ca303fc2cd4e237944f1d8db6a9f26dd89fcbe31f912f5a3f966d315839267cc76208fe8a76dfbe7834faf3ab3a
7
- data.tar.gz: 5840f846e9bf90ba3882454d21f9bf2df376319512a30766ba28ac41e72f70d70429dd0c4c69edc5bdf0bf4b45825c451861f46bb5b0cbbced98b58c7d625393
6
+ metadata.gz: '0726859940ca7bc5e7f32a1995ad40f42670cc41a3c829d5211b37712ef65092efb5a643cd0b000d55f1497fd4db2fa37eee991cb7e5f27185515d6f3f996cc7'
7
+ data.tar.gz: fed4151d293502fbf5eb73236acf2e944f3ceade748d7e73da38bbf3cf906df1153388789db47c11469c005a06fb7a79eca8736e55e0d496f1a2df252bde6047
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ree_lib (1.0.45)
4
+ ree_lib (1.0.46)
5
5
  binding_of_caller (~> 1.0.0)
6
6
  i18n (~> 1.12.0)
7
7
  loofah (~> 2.18.0)
@@ -36,7 +36,9 @@ GEM
36
36
  crass (~> 1.0.2)
37
37
  nokogiri (>= 1.5.9)
38
38
  msgpack (1.6.0)
39
- nokogiri (1.14.2-x86_64-linux)
39
+ nokogiri (1.14.3-x86_64-darwin)
40
+ racc (~> 1.4)
41
+ nokogiri (1.14.3-x86_64-linux)
40
42
  racc (~> 1.4)
41
43
  oj (3.13.23)
42
44
  pg (1.4.6)
@@ -52,7 +52,11 @@ class ReeRoda::BuildRouteErrors
52
52
  klass, :call, scope: :instance
53
53
  )
54
54
 
55
- method_decorator&.errors || []
55
+ original_method_decorator = Ree::Contracts.get_method_decorator(
56
+ klass, :__original_call, scope: :instance
57
+ )
58
+
59
+ method_decorator&.errors || original_method_decorator&.errors || []
56
60
  end
57
61
 
58
62
  def status_from_error(error)
@@ -0,0 +1,77 @@
1
+ # frozen_string_literal: true
2
+
3
+ package_require("ree_errors/validation_error")
4
+
5
+ RSpec.describe :build_swagger_from_routes do
6
+ link :add_load_path, from: :ree_i18n
7
+ link :build_swagger_from_routes, from: :ree_roda
8
+
9
+ before :all do
10
+ add_load_path(Dir[File.join(__dir__, 'locales/*.yml')])
11
+
12
+ Ree.enable_irb_mode
13
+
14
+ module ReeRodaTestSwagger
15
+ include Ree::PackageDSL
16
+
17
+ package do
18
+ depends_on :ree_actions
19
+ depends_on :ree_dao
20
+ end
21
+ end
22
+
23
+ class ReeRodaTestSwagger::Cmd
24
+ include ReeActions::DSL
25
+
26
+ action :cmd
27
+
28
+ ActionCaster = build_mapper.use(:cast) do
29
+ integer :id
30
+ end
31
+
32
+ InvalidErr = ReeErrors::ValidationError.build(:invalid, "invalid")
33
+
34
+ contract(Any, Any => Any).throws(InvalidErr)
35
+ def call(access, attrs)
36
+ raise InvalidErr if false
37
+ end
38
+ end
39
+
40
+ class ReeRodaTestSwagger::TestRoutes
41
+ include ReeRoutes::DSL
42
+
43
+ routes :test_routes do
44
+ default_warden_scope :identity
45
+ opts = { from: :ree_roda_test_swagger }
46
+
47
+ post "api/actions" do
48
+ summary "Some action"
49
+ action :cmd, **opts
50
+ end
51
+ end
52
+ end
53
+
54
+ class TestSwaggerApp < ReeRoda::App
55
+ plugin :ree_routes
56
+
57
+ ree_routes ReeRodaTestSwagger::TestRoutes.new
58
+
59
+ route do |r|
60
+ r.ree_routes
61
+ end
62
+ end
63
+ end
64
+
65
+ after :all do
66
+ Ree.disable_irb_mode
67
+ end
68
+
69
+ let(:routes) { TestSwaggerApp.instance_variable_get(:@ree_routes) }
70
+
71
+ it {
72
+ swagger = build_swagger_from_routes(routes, "test", "test", "1.0", "https://example.com")
73
+
74
+ expect(swagger.dig(:paths, "/api/actions", :post, :responses, 422, :description))
75
+ .to eq("- type: **validation**, code: **invalid**, message: **invalid**")
76
+ }
77
+ end
@@ -0,0 +1,2 @@
1
+ en:
2
+ invalid: "invalid"
@@ -0,0 +1,2 @@
1
+ ru:
2
+ invalid: "invalid"
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ReeLib
4
- VERSION = "1.0.45"
4
+ VERSION = "1.0.46"
5
5
  end
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.45
4
+ version: 1.0.46
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-04-10 00:00:00.000000000 Z
11
+ date: 2023-05-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ree
@@ -1131,6 +1131,9 @@ files:
1131
1131
  - lib/ree_lib/packages/ree_roda/spec/package_schema_spec.rb
1132
1132
  - lib/ree_lib/packages/ree_roda/spec/ree_roda/app_spec.rb
1133
1133
  - lib/ree_lib/packages/ree_roda/spec/ree_roda/services/build_routing_tree_spec.rb
1134
+ - lib/ree_lib/packages/ree_roda/spec/ree_roda/services/build_swagger_from_routes_spec.rb
1135
+ - lib/ree_lib/packages/ree_roda/spec/ree_roda/services/locales/en.yml
1136
+ - lib/ree_lib/packages/ree_roda/spec/ree_roda/services/locales/ru.yml
1134
1137
  - lib/ree_lib/packages/ree_roda/spec/spec_helper.rb
1135
1138
  - lib/ree_lib/packages/ree_routes/.gitignore
1136
1139
  - lib/ree_lib/packages/ree_routes/.rspec