memori-client 0.2.1 → 0.2.2

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: 7592af5e2d26be8087d2a19c7e5159a4fabbecc4c009975ccbd9578281ab26be
4
- data.tar.gz: ed1fbe1cbc4af3d2013ec9ea40c9b67bb7a3bd4058dbd7cd220750ff95797368
3
+ metadata.gz: bae91c6b7752f092bea77f9a56af6d00b663ab9095b42a340867323c4fdfddda
4
+ data.tar.gz: e77b4380ad85835fe79bf2e555a74a7ca83e3d0a2525a805e29fafa47bcb5b52
5
5
  SHA512:
6
- metadata.gz: da3adc611208ccb5ca49c04b5734b9c43e97679956341552a9af2f4f080db316203ad5b4a8ba476a02b1f0ea7c377526dc9435f4cd62b47d2cd7ec30e00ebcf0
7
- data.tar.gz: f114260a0ee34f9b6085b60201df408419ba554978d83af9e21ee0c329a40cc58364e158f3628ec83ce1ad519d82d592ad729e1eb13e312ab036976924230c1b
6
+ metadata.gz: 0dde5db083c16c941440a1012983ca38a0deba153a4ecd5eb3b61fa7e4f04369607653184b971700ae488ff034d47ee51676e249d41143c347a5ea41b7902064
7
+ data.tar.gz: 35d05c6cc87de25b3cd403205acc54eb731570766392ada28c9809e0814ef58c8c7634f522ed95d62cabeb4b694c034a932e70c29e5b882f7c555cf7a519429c
@@ -1,3 +1,3 @@
1
1
  {
2
-
3
- }
2
+ "post /memori/v2/TextEnteredEventAsync/{strSessionID}": "MemoriClient::Engine::V2::Dialog#enter_text_async"
3
+ }
@@ -0,0 +1,5 @@
1
+ module MemoriClient
2
+ module Swagger
3
+ class MethodCollisionError < StandardError; end
4
+ end
5
+ end
@@ -12,7 +12,6 @@ module MemoriClient
12
12
  end
13
13
 
14
14
  def call
15
- puts "Processing Swagger spec #{@kind} from #{@uri}"
16
15
  data = URI.open(@uri).read
17
16
  parsed = JSON.parse(data)
18
17
  @swagger_spec = parsed
@@ -31,24 +30,23 @@ module MemoriClient
31
30
 
32
31
  # Verify collisions
33
32
  @methods.keys.sort.each do |m|
34
- if @methods[m].size > 1
35
- @methods_collisions << m
36
- puts "#{m} => #{@methods[m].size}"
37
- @methods[m].each do |mm|
38
- puts " - #{mm}"
39
- end
40
- end
33
+ @methods_collisions << m if @methods[m].size > 1
41
34
  end
42
35
 
43
- if @methods_collisions.size > 0
44
- puts "Stopping because we found #{@methods_collisions.size} collisions in ns #{@kind}. Collisions are:"
45
- @methods_collisions.each do |m|
46
- puts "Method: #{m}"
47
- puts @methods[m].join("\n")
48
- puts '--'
49
- end
50
-
51
- raise "Stop"
36
+ if @methods_collisions.any?
37
+ details = @methods_collisions.map do |m|
38
+ endpoints = @methods[m].map { |e| " #{e}" }.join("\n")
39
+ " - #{m} (#{@methods[m].size} endpoints):\n#{endpoints}"
40
+ end.join("\n")
41
+
42
+ raise MemoriClient::Swagger::MethodCollisionError, <<~MSG
43
+ Cannot process '#{@kind}' spec from #{@uri}: #{@methods_collisions.size} method collision(s) detected.
44
+ Two or more endpoints generate the same method name. Add an override entry in
45
+ '#{@kind}_overrides.jsonc' with key "<http_method> <path>" and value "Module#method"
46
+ to disambiguate one of the conflicting endpoints.
47
+ Collisions detected:
48
+ #{details}
49
+ MSG
52
50
  end
53
51
 
54
52
  @result
data/lib/memori_client.rb CHANGED
@@ -19,6 +19,7 @@ if defined?(::Rails)
19
19
  require 'memori_client/railtie'
20
20
  end
21
21
 
22
+ require 'memori_client/swagger/errors'
22
23
  require 'memori_client/swagger/process_specification'
23
24
  require 'memori_client/swagger/get_module_and_method'
24
25
  require 'memori_client/swagger/schema_store'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: memori-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stefano Lampis
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-10-20 00:00:00.000000000 Z
11
+ date: 2026-07-27 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Memori Client to interact with Memori backend and engine API
14
14
  email: me@stefanolampis.com
@@ -29,6 +29,7 @@ files:
29
29
  - lib/memori_client/resource.rb
30
30
  - lib/memori_client/resource_proxy.rb
31
31
  - lib/memori_client/response.rb
32
+ - lib/memori_client/swagger/errors.rb
32
33
  - lib/memori_client/swagger/get_module_and_method.rb
33
34
  - lib/memori_client/swagger/process_specification.rb
34
35
  - lib/memori_client/swagger/schema_store.rb