pact-ffi 0.0.3-x64-mingw-ucrt → 0.4.22-x64-mingw-ucrt

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: cf3c03ad2eabe7498fb70c61241463c1e77a7ff569d9afecaba4601f9b99a046
4
- data.tar.gz: effae8fb8c6df7278552afc5224ff2076109fb258b01b1d2478b40340ecbc2d7
3
+ metadata.gz: b0a40afb367c16dd2e4ad67e72cd9a63fe46ee93eb8048ecdae79e9d891c70c9
4
+ data.tar.gz: f5a2f3c63e25379b9f6c9db7aa4d909bf8af42729c995ab2db929073af767230
5
5
  SHA512:
6
- metadata.gz: caa2acba64d457160dea0c4382dc69987eaf3583719dfdc920b664c46be29a21fd241fc1cd101d7087e0017753b8ebaa721bc8d02bf3e374f8d36abfe7ec7225
7
- data.tar.gz: c16db2e3479984de8900331becd2c4152e513f24d7d898af671b18559517f3ae84c62672c152a0690b96d1421ea55cdae26141328710674560436a25f3d99831
6
+ metadata.gz: 977c39b0b16e6e8b1f34db6b8929b5b3fcdce20421ee6ad2e6a37281b873a8fb5fdb4d727f6d153389160f98210975643f1a8f50c3ece99e453cb39d61d9bc2f
7
+ data.tar.gz: 7b46d99fda913c814772b20c18aba6ef6723e0cdaf2e12fa549fb3f89b8de0c1e6adf0c3a54a269c619647e97ddb28238e722088b016745ab39e68b9e201f156
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Ruby spike gem, to show interactions with the Pact Rust FFI methods.
4
4
 
5
- Available on RubyGems - https://rubygems.org/gems/pact-ffi
5
+ Available on RubyGems - <https://rubygems.org/gems/pact-ffi>
6
6
 
7
7
  ## Installation
8
8
 
@@ -14,16 +14,12 @@ gem 'pact-ffi'
14
14
 
15
15
  And then execute:
16
16
 
17
-
18
17
  bundle
19
18
 
20
-
21
19
  Or install it yourself as:
22
-
23
20
 
24
21
  gem install pact-ffi
25
22
 
26
-
27
23
  ## Usage
28
24
 
29
25
  Simple
@@ -34,43 +30,42 @@ require 'pact/ffi'
34
30
  puts PactFfi.pactffi_version
35
31
  ```
36
32
 
37
-
38
33
  - See [`lib/pact/ffi.rb`](lib/pact/ffi.rb) for all available methods
39
34
  - See [`spec`](spec) folder to see the tests, with the library in use
40
35
  - See [`examples/area_calculator`](examples/area_calculator) folder for an example using a pact-plugin, to test the canonical area_calculator example
41
- - Test it out in your browser, with our Killercoda example! https://killercoda.com/safdotdev/course/safacoda/grpc_plugins_quick_start_ruby
42
-
36
+ - Test it out in your browser, with our Killercoda example! <https://killercoda.com/safdotdev/course/safacoda/grpc_plugins_quick_start_ruby>
43
37
 
44
38
  ## Supported Platforms
45
39
 
46
40
  - Ruby
47
- - This gem is compatible with all the rubies, and various platforms, it comes pre-packaged with the pact_ffi binary for each platform.
41
+ - This gem is compatible with all the rubies, and various platforms, it comes pre-packaged with the pact_ffi binary for each platform.
48
42
 
49
- | OS | Ruby | Architecture | Supported | Ruby Platform |
50
- | ------- | ------- | ------------ | --------- | --------- |
51
- | OSX | 2.6 - 3.2 | x86_64 | ✅ | x86_64-darwin |
52
- | OSX | 2.6 - 3.2 | aarch64 (arm)| ✅ | arm64-darwin |
53
- | Linux | 2.6 - 3.2 | x86_64 | ✅ | x86_64-linux |
54
- | Linux | 2.6 - 3.2 | aarch64 (arm)| ✅ | aarch64-linux |
55
- | Windows | 2.6 - 3.2 | x86_64 | ✅ | x64-mingw-ucrt |
43
+ | OS | Ruby | Architecture | Supported | Ruby Platform |
44
+ | ------- | ------- | ------------ | --------- | --------- |
45
+ | OSX | 2.6 - 3.3 | x86_64 | ✅ | x86_64-darwin |
46
+ | OSX | 2.6 - 3.3 | aarch64 (arm)| ✅ | arm64-darwin |
47
+ | Linux | 2.6 - 3.3 | x86_64 | ✅ | x86_64-linux |
48
+ | Linux | 2.6 - 3.3 | aarch64 (arm)| ✅ | aarch64-linux |
49
+ | Linux (musl) | 2.6 - 3.3 | x86_64 | ✅ | x86_64-linux-musl |
50
+ | Linux (musl) | 2.6 - 3.3 | aarch64 (arm)| ✅ | aarch64-linux-musl|
51
+ | Windows | 2.6 - 3.3 | x86_64 | ✅ | x64-mingw-ucrt |
56
52
 
57
53
  You can checkout the ci tests, to see all the architectures, platforms and examples tested
58
54
 
59
- - GitHub Actions https://github.com/YOU54F/pact-ruby-ffi/actions
60
- - Cirrus CI https://cirrus-ci.com/github/YOU54F/pact-ruby-ffi/main
55
+ - GitHub Actions <https://github.com/YOU54F/pact-ruby-ffi/actions>
56
+ - Cirrus CI <https://cirrus-ci.com/github/YOU54F/pact-ruby-ffi/main>
61
57
 
62
58
  _note_ - Alpine is currently not supported, but is on the list
63
59
 
64
60
  - FFI libraries for your current platform - run `./script/download-libs.sh` to download
65
61
 
66
62
  - If testing the protobuf plugin
67
- - `2.7` for protobuf/grpc example
68
- - See https://grpc.io/docs/languages/ruby/quickstart/ for steps
63
+ - `3.0` for protobuf/grpc example
64
+ - See <https://grpc.io/docs/languages/ruby/quickstart/> for steps
69
65
  - See `examples/proto-ruby/README.md` for notes
70
66
  - ruby-grpc is not currently, on m1 hardware for the `pact-protobuf-plugin` example
71
67
  - Have the pact-protobuf plugin available
72
68
  - Run `pact-plugin-cli -y install https://github.com/pactflow/pact-protobuf-plugin/releases/latest`
73
-
74
69
 
75
70
  ## Development
76
71
 
@@ -89,3 +84,35 @@ The gem is available as open source under the terms of the [MIT License](http://
89
84
  ## Code of Conduct
90
85
 
91
86
  Everyone interacting in the PactFfi project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/[USERNAME]/pact-ffi/blob/master/CODE_OF_CONDUCT.md).
87
+
88
+ ## Pact Compatibility Suite
89
+
90
+ Help us implement the [Pact Compatibility Suite](https://github.com/pact-foundation/pact-compatibility-suite)
91
+
92
+ ```
93
+ compatibility-suite/pact-compatibility-suite/features
94
+ ├── V1
95
+ │ ├── http_consumer.feature
96
+ │ └── http_provider.feature
97
+ ├── V2
98
+ │ ├── http_consumer.feature
99
+ │ └── http_provider.feature
100
+ ├── V3
101
+ │ ├── generators.feature
102
+ │ ├── http_consumer.feature
103
+ │ ├── http_generators.feature
104
+ │ ├── http_matching.feature
105
+ │ ├── http_provider.feature
106
+ │ ├── matching_rules.feature
107
+ │ ├── message_consumer.feature
108
+ │ └── message_provider.feature
109
+ ├── V4
110
+ │ ├── generators.feature
111
+ │ ├── http_consumer.feature ✅
112
+ │ ├── http_provider.feature
113
+ │ ├── matching_rules.feature
114
+ │ ├── message_consumer.feature ✅
115
+ │ ├── message_provider.feature ✅
116
+ │ ├── synchronous_message_consumer.feature ✅
117
+ │ └── v4.feature ✅
118
+ ```
Binary file
@@ -1,43 +1,40 @@
1
1
  module DetectOS
2
2
  def self.windows?
3
3
  return if (/cygwin|mswin|mingw|bccwin|wince|emx/ =~ RbConfig::CONFIG['arch']).nil?
4
-
5
- puts 'detected windows'
6
4
  true
7
5
  end
8
6
 
9
7
  def self.mac_arm?
10
8
  return unless !(/darwin/ =~ RbConfig::CONFIG['arch']).nil? && !(/arm64/ =~ RbConfig::CONFIG['arch']).nil?
11
-
12
- puts 'detected macos arm'
13
9
  true
14
10
  end
15
11
 
16
12
  def self.mac?
17
13
  return unless !(/darwin/ =~ RbConfig::CONFIG['arch']).nil? && !(/x86_64/ =~ RbConfig::CONFIG['arch']).nil?
14
+ true
15
+ end
18
16
 
19
- puts 'detected macos'
17
+ def self.linux_arm_musl?
18
+ return unless !(/linux/ =~ RbConfig::CONFIG['arch']).nil? && !(/aarch64/ =~ RbConfig::CONFIG['arch']).nil? && !(/musl/ =~ RbConfig::CONFIG['arch']).nil?
20
19
  true
21
20
  end
22
21
 
22
+ def self.linux_musl?
23
+ return unless !(/linux/ =~ RbConfig::CONFIG['arch']).nil? && !(/x86_64/ =~ RbConfig::CONFIG['arch']).nil?&& !(/musl/ =~ RbConfig::CONFIG['arch']).nil?
24
+ true
25
+ end
23
26
  def self.linux_arm?
24
27
  return unless !(/linux/ =~ RbConfig::CONFIG['arch']).nil? && !(/aarch64/ =~ RbConfig::CONFIG['arch']).nil?
25
-
26
- puts 'detected linux aarch64'
27
28
  true
28
29
  end
29
30
 
30
31
  def self.linux?
31
32
  return unless !(/linux/ =~ RbConfig::CONFIG['arch']).nil? && !(/x86_64/ =~ RbConfig::CONFIG['arch']).nil?
32
-
33
- puts 'detected linux'
34
33
  true
35
34
  end
36
35
 
37
36
  def self.debug?
38
37
  return if ENV['DEBUG_TARGET'].nil?
39
-
40
- puts 'detected debug target' + ENV['DEBUG_TARGET']
41
38
  true
42
39
  end
43
40
 
@@ -50,6 +47,10 @@ module DetectOS
50
47
  File.join(__dir__, '../../ffi/macos-arm64/libpact_ffi.dylib')
51
48
  elsif mac?
52
49
  File.join(__dir__, '../../ffi/macos-x64/libpact_ffi.dylib')
50
+ elsif linux_arm_musl?
51
+ File.join(__dir__, '../../ffi/linux-arm64-musl/libpact_ffi.so')
52
+ elsif linux_musl?
53
+ File.join(__dir__, '../../ffi/linux-x64-musl/libpact_ffi.so')
53
54
  elsif linux_arm?
54
55
  File.join(__dir__, '../../ffi/linux-arm64/libpact_ffi.so')
55
56
  elsif linux?
@@ -76,4 +77,4 @@ module DetectOS
76
77
  end
77
78
  end
78
79
 
79
- puts DetectOS.get_bin_path
80
+ ENV['PACT_DEBUG'] ? (puts "Detected platform: #{RbConfig::CONFIG['arch']} \nLoad Path: #{DetectOS.get_bin_path}" ): nil
@@ -7,9 +7,10 @@ module PactFfi
7
7
  extend FFI::Library
8
8
  ffi_lib DetectOS.get_bin_path
9
9
 
10
- DetectOS.windows? || DetectOS.linux_arm? ? (typedef :uint32, :uint32_type) : (typedef :uint32_t, :uint32_type)
10
+ # DetectOS.windows? || DetectOS.linux_arm? ? (typedef :uint32, :uint32_type) : (typedef :uint32_t, :uint32_type)
11
+ (typedef :uint32, :uint32_type)
11
12
 
12
- attach_function :new, :pactffi_async_message_new, %i[], :pointer
13
+ attach_function :new_async_message, :pactffi_async_message_new, %i[], :pointer
13
14
  attach_function :delete, :pactffi_async_message_delete, %i[pointer], :void
14
15
  attach_function :get_contents, :pactffi_async_message_get_contents, %i[pointer], :pointer
15
16
  attach_function :get_contents_str, :pactffi_async_message_get_contents_str, %i[pointer], :string
@@ -22,6 +23,7 @@ module PactFfi
22
23
  attach_function :get_provider_state, :pactffi_async_message_get_provider_state, %i[pointer uint32_type], :pointer
23
24
  attach_function :get_provider_state_iter, :pactffi_async_message_get_provider_state_iter, %i[pointer], :pointer
24
25
  attach_function :new, :pactffi_new_async_message, %i[uint16 string], :uint32_type
25
- attach_function :pact_interaction_as_asynchronous_message, :pactffi_pact_interaction_as_asynchronous_message, %i[pointer], :pointer
26
+ attach_function :pact_interaction_as_asynchronous_message, :pactffi_pact_interaction_as_asynchronous_message,
27
+ %i[pointer], :pointer
26
28
  end
27
29
  end
@@ -7,7 +7,8 @@ module PactFfi
7
7
  extend FFI::Library
8
8
  ffi_lib DetectOS.get_bin_path
9
9
 
10
- DetectOS.windows? || DetectOS.linux_arm? ? (typedef :uint32, :uint32_type) : (typedef :uint32_t, :uint32_type)
10
+ # DetectOS.windows? || DetectOS.linux_arm? ? (typedef :uint32, :uint32_type) : (typedef :uint32_t, :uint32_type)
11
+ (typedef :uint32, :uint32_type)
11
12
 
12
13
  attach_function :pact_interaction_iter_next, :pactffi_pact_interaction_iter_next, %i[pointer], :pointer
13
14
  attach_function :pact_interaction_iter_delete, :pactffi_pact_interaction_iter_delete, %i[pointer], :void
@@ -16,7 +17,7 @@ module PactFfi
16
17
  attach_function :upon_receiving, :pactffi_upon_receiving, %i[uint32_type string], :bool
17
18
  attach_function :given, :pactffi_given, %i[uint32_type string], :bool
18
19
  attach_function :given_with_param, :pactffi_given_with_param, %i[uint32_type string], :bool
19
- attach_function :given_with_params, :pactffi_given_with_params, %i[uint32_t string string], :int32
20
+ attach_function :given_with_params, :pactffi_given_with_params, %i[uint32_type string string], :int32
20
21
  attach_function :interaction_test_name, :pactffi_interaction_test_name, %i[uint32_type string], :uint32_type
21
22
  attach_function :given_with_param, :pactffi_given_with_param, %i[uint32_type string string string], :bool
22
23
  attach_function :with_request, :pactffi_with_request, %i[uint32_type string string], :bool
@@ -30,7 +31,10 @@ module PactFfi
30
31
  attach_function :response_status, :pactffi_response_status, %i[uint32_type uint16], :bool
31
32
  attach_function :with_body, :pactffi_with_body, %i[uint32_type int32 string string], :bool
32
33
  attach_function :with_binary_file, :pactffi_with_binary_file, %i[uint32_type int32 string pointer size_t], :bool
33
- attach_function :with_multipart_file, :pactffi_with_multipart_file, %i[uint32_type int32 string string string],
34
- :pointer
34
+ attach_function :with_multipart_file, :pactffi_with_multipart_file, %i[uint32_type int32 string string string], :pointer
35
+ attach_function :set_header, :pactffi_set_header, %i[uint32_type int32 string string], :bool
36
+ attach_function :with_binary_body, :pactffi_with_binary_body, %i[uint32_type int32 string pointer size_t], :bool
37
+ attach_function :with_matching_rules, :pactffi_with_matching_rules, %i[uint32_type int32 string], :bool
38
+ attach_function :with_multipart_file_v2, :pactffi_with_multipart_file_v2, %i[uint32_type int32 string string string string], :pointer
35
39
  end
36
40
  end
@@ -7,7 +7,8 @@ module PactFfi
7
7
  extend FFI::Library
8
8
  ffi_lib DetectOS.get_bin_path
9
9
 
10
- DetectOS.windows? || DetectOS.linux_arm? ? (typedef :uint32, :uint32_type) : (typedef :uint32_t, :uint32_type)
10
+ # DetectOS.windows? || DetectOS.linux_arm? ? (typedef :uint32, :uint32_type) : (typedef :uint32_t, :uint32_type)
11
+ (typedef :uint32, :uint32_type)
11
12
 
12
13
  LogLevel = Hash[
13
14
  'OFF' => 0,
@@ -19,15 +20,15 @@ module PactFfi
19
20
  ]
20
21
 
21
22
  attach_function :enable_ansi_support, :pactffi_enable_ansi_support, %i[], :void
22
- attach_function :log_message, :pactffi_log_message, %i[string string string], :void
23
+ attach_function :message, :pactffi_log_message, %i[string string string], :void
23
24
  attach_function :get_error_message, :pactffi_get_error_message, %i[string int32], :int32
24
25
  attach_function :log_to_stdout, :pactffi_log_to_stdout, %i[int32], :int32
25
26
  attach_function :log_to_stderr, :pactffi_log_to_stderr, %i[int32], :int32
26
27
  attach_function :log_to_file, :pactffi_log_to_file, %i[string int32], :int32
27
28
  attach_function :log_to_buffer, :pactffi_log_to_buffer, %i[int32], :int32
28
- attach_function :logger_init, :pactffi_logger_init, %i[], :void
29
+ attach_function :init, :pactffi_logger_init, %i[], :void
29
30
  attach_function :attach_sink, :pactffi_logger_attach_sink, %i[string int32], :int32
30
- attach_function :logger_apply, :pactffi_logger_apply, %i[], :int32
31
+ attach_function :apply, :pactffi_logger_apply, %i[], :int32
31
32
  attach_function :fetch_log_buffer, :pactffi_fetch_log_buffer, %i[string], :string
32
33
  end
33
34
  end
@@ -7,7 +7,8 @@ module PactFfi
7
7
  extend FFI::Library
8
8
  ffi_lib DetectOS.get_bin_path
9
9
 
10
- DetectOS.windows? || DetectOS.linux_arm? ? (typedef :uint32, :uint32_type) : (typedef :uint32_t, :uint32_type)
10
+ # DetectOS.windows? || DetectOS.linux_arm? ? (typedef :uint32, :uint32_type) : (typedef :uint32_t, :uint32_type)
11
+ (typedef :uint32, :uint32_type)
11
12
 
12
13
  FfiSpecificationVersion = Hash[
13
14
  'SPECIFICATION_VERSION_UNKNOWN' => 0,
@@ -71,7 +72,7 @@ module PactFfi
71
72
  ]
72
73
 
73
74
  attach_function :contents_get_contents_str, :pactffi_message_contents_get_contents_str, %i[pointer], :string
74
- attach_function :contents_set_contents_str,, :pactffi_message_contents_set_contents_str, %i[pointer string string], :void
75
+ attach_function :contents_set_contents_str, :pactffi_message_contents_set_contents_str, %i[pointer string string], :void
75
76
  attach_function :contents_get_contents_length, :pactffi_message_contents_get_contents_length, %i[pointer], :size_t
76
77
  attach_function :contents_get_contents_bin, :pactffi_message_contents_get_contents_bin, %i[pointer], :pointer
77
78
  attach_function :contents_set_contents_bin, :pactffi_message_contents_set_contents_bin, %i[pointer pointer size_t string], :void
@@ -118,10 +119,11 @@ module PactFfi
118
119
  attach_function :given_with_param, :pactffi_message_given_with_param, %i[uint32_type string string string], :void
119
120
  attach_function :with_contents, :pactffi_message_with_contents, %i[uint32_type string pointer size_t], :void
120
121
  attach_function :with_metadata, :pactffi_message_with_metadata, %i[uint32_type string string], :void
121
- attach_function :rreify, :pactffi_message_reify, %i[uint32_type], :string
122
+ attach_function :reify, :pactffi_message_reify, %i[uint32_type], :string
122
123
  attach_function :write_message_pact_file, :pactffi_write_message_pact_file, %i[uint16 string bool], :int32
123
124
  attach_function :with_message_pact_metadata, :pactffi_with_message_pact_metadata, %i[uint16 string string string], :void
124
125
  attach_function :free_handle, :pactffi_free_message_pact_handle, %i[uint16], :uint32_type
125
126
  attach_function :pact_handle_get_message_iter, :pactffi_pact_handle_get_message_iter, %i[uint16], :pointer
127
+ attach_function :with_metadata_v2, :pactffi_message_with_metadata_v2, %i[uint32_type string string], :void
126
128
  end
127
129
  end
@@ -7,7 +7,8 @@ module PactFfi
7
7
  extend FFI::Library
8
8
  ffi_lib DetectOS.get_bin_path
9
9
 
10
- DetectOS.windows? || DetectOS.linux_arm? ? (typedef :uint32, :uint32_type) : (typedef :uint32_t, :uint32_type)
10
+ # DetectOS.windows? || DetectOS.linux_arm? ? (typedef :uint32, :uint32_type) : (typedef :uint32_t, :uint32_type)
11
+ (typedef :uint32, :uint32_type)
11
12
 
12
13
  FfiSpecificationVersion = Hash[
13
14
  'SPECIFICATION_VERSION_UNKNOWN' => 0,
@@ -7,7 +7,8 @@ module PactFfi
7
7
  extend FFI::Library
8
8
  ffi_lib DetectOS.get_bin_path
9
9
 
10
- DetectOS.windows? || DetectOS.linux_arm? ? (typedef :uint32, :uint32_type) : (typedef :uint32_t, :uint32_type)
10
+ # DetectOS.windows? || DetectOS.linux_arm? ? (typedef :uint32, :uint32_type) : (typedef :uint32_t, :uint32_type)
11
+ (typedef :uint32, :uint32_type)
11
12
 
12
13
  # /*
13
14
  # -1 A null pointer was received
@@ -7,7 +7,8 @@ module PactFfi
7
7
  extend FFI::Library
8
8
  ffi_lib DetectOS.get_bin_path
9
9
 
10
- DetectOS.windows? || DetectOS.linux_arm? ? (typedef :uint32, :uint32_type) : (typedef :uint32_t, :uint32_type)
10
+ # DetectOS.windows? || DetectOS.linux_arm? ? (typedef :uint32, :uint32_type) : (typedef :uint32_t, :uint32_type)
11
+ (typedef :uint32, :uint32_type)
11
12
 
12
13
  attach_function :new, :pactffi_sync_http_new, %i[], :pointer
13
14
  attach_function :delete, :pactffi_sync_http_delete, %i[pointer], :void
@@ -7,7 +7,8 @@ module PactFfi
7
7
  extend FFI::Library
8
8
  ffi_lib DetectOS.get_bin_path
9
9
 
10
- DetectOS.windows? || DetectOS.linux_arm? ? (typedef :uint32, :uint32_type) : (typedef :uint32_t, :uint32_type)
10
+ # DetectOS.windows? || DetectOS.linux_arm? ? (typedef :uint32, :uint32_type) : (typedef :uint32_t, :uint32_type)
11
+ (typedef :uint32, :uint32_type)
11
12
 
12
13
  attach_function :pact_interaction_as_synchronous_message, :pactffi_pact_interaction_as_synchronous_message, %i[pointer], :pointer
13
14
  attach_function :iter_next, :pactffi_pact_sync_message_iter_next, %i[pointer], :pointer
@@ -7,7 +7,8 @@ module PactFfi
7
7
  extend FFI::Library
8
8
  ffi_lib DetectOS.get_bin_path
9
9
 
10
- DetectOS.windows? || DetectOS.linux_arm? ? (typedef :uint32, :uint32_type) : (typedef :uint32_t, :uint32_type)
10
+ # DetectOS.windows? || DetectOS.linux_arm? ? (typedef :uint32, :uint32_type) : (typedef :uint32_t, :uint32_type)
11
+ (typedef :uint32, :uint32_type)
11
12
  FfiSpecificationVersion = Hash[
12
13
  'SPECIFICATION_VERSION_UNKNOWN' => 0,
13
14
  'SPECIFICATION_VERSION_V1' => 1,
@@ -69,6 +70,10 @@ module PactFfi
69
70
  'RESULT_FAILED' => 1,
70
71
  ]
71
72
 
73
+ attach_function :add_text_comment, :pactffi_add_text_comment, %i[uint32_type string], :bool
74
+ attach_function :set_comment, :pactffi_set_comment, %i[uint32_type string string], :bool
75
+ attach_function :set_pending, :pactffi_set_pending, %i[uint32_type bool], :bool
76
+ attach_function :set_key, :pactffi_set_key, %i[uint32_type string], :bool
72
77
  attach_function :match_message, :pactffi_match_message, %i[pointer pointer], :pointer
73
78
  attach_function :mismatches_get_iter, :pactffi_mismatches_get_iter, %i[pointer], :pointer
74
79
  attach_function :mismatches_delete, :pactffi_mismatches_delete, %i[pointer], :void
@@ -139,5 +144,7 @@ module PactFfi
139
144
  attach_function :matches_binary_value, :pactffi_matches_binary_value,
140
145
  %i[pointer pointer ulong_long pointer ulong_long uint8], :string
141
146
  attach_function :matches_json_value, :pactffi_matches_json_value, %i[pointer string string uint8], :string
147
+ attach_function :pact_handle_to_pointer, :pactffi_pact_handle_to_pointer, %i[uint16], :pointer
148
+ attach_function :handle_get_pact_spec_version, :pactffi_handle_get_pact_spec_version, %i[uint16], :int32
142
149
  end
143
150
  end
@@ -9,7 +9,8 @@ module PactFfi
9
9
  module Verifier
10
10
  extend FFI::Library
11
11
  ffi_lib DetectOS.get_bin_path
12
- DetectOS.windows? || DetectOS.linux_arm? ? (typedef :uint32, :uint32_type) : (typedef :uint32_t, :uint32_type)
12
+ # DetectOS.windows? || DetectOS.linux_arm? ? (typedef :uint32, :uint32_type) : (typedef :uint32_t, :uint32_type)
13
+ (typedef :uint32, :uint32_type)
13
14
 
14
15
  # /*
15
16
  # * | Error | Description |
@@ -28,7 +29,7 @@ module PactFfi
28
29
  ]
29
30
 
30
31
  attach_function :verify, :pactffi_verify, %i[string], :int32
31
- attach_function :new, :pactffi_verifier_new_for_application, %i[], :pointer
32
+ attach_function :new, :pactffi_verifier_new, %i[], :pointer
32
33
  attach_function :new_for_application, :pactffi_verifier_new_for_application, %i[string string], :pointer
33
34
  attach_function :shutdown, :pactffi_verifier_shutdown, %i[pointer], :void
34
35
  attach_function :set_provider_info, :pactffi_verifier_set_provider_info,
@@ -1,5 +1,5 @@
1
1
  module Pact
2
2
  module Version
3
- VERSION = '0.4.7'
3
+ VERSION = '0.4.22'
4
4
  end
5
5
  end
data/lib/pact/ffi.rb CHANGED
@@ -8,8 +8,8 @@ module PactFfi
8
8
 
9
9
  # at least neccessary on x64-mingw-ucrt as uint32_type is undefined
10
10
  # also neccessary on linux aarch64 it seems
11
- DetectOS.windows? || DetectOS.linux_arm? ? (typedef :uint32, :uint32_type) : (typedef :uint32_t, :uint32_type)
12
-
11
+ # DetectOS.windows? || DetectOS.linux_arm? ? (typedef :uint32, :uint32_type) : (typedef :uint32_t, :uint32_type) (typedef :uint32, :uint32_type)
12
+ (typedef :uint32, :uint32_type)
13
13
  FfiSpecificationVersion = Hash[
14
14
  'SPECIFICATION_VERSION_UNKNOWN' => 0,
15
15
  'SPECIFICATION_VERSION_V1' => 1,
@@ -306,7 +306,7 @@ module PactFfi
306
306
  attach_function :upon_receiving, :pactffi_upon_receiving, %i[uint32_type string], :bool
307
307
  attach_function :given, :pactffi_given, %i[uint32_type string], :bool
308
308
  attach_function :given, :pactffi_given, %i[uint32_type string], :bool
309
- attach_function :given_with_params, :pactffi_given_with_params, %i[uint32_t string string], :int32
309
+ attach_function :given_with_params, :pactffi_given_with_params, %i[uint32_type string string], :int32
310
310
  attach_function :interaction_test_name, :pactffi_interaction_test_name, %i[uint32_type string], :uint32_type
311
311
  attach_function :given_with_param, :pactffi_given_with_param, %i[uint32_type string string string], :bool
312
312
  attach_function :with_request, :pactffi_with_request, %i[uint32_type string string], :bool
@@ -330,6 +330,8 @@ module PactFfi
330
330
  attach_function :message_given_with_param, :pactffi_message_given_with_param, %i[uint32_type string string string], :void
331
331
  attach_function :message_with_contents, :pactffi_message_with_contents, %i[uint32_type string pointer size_t], :void
332
332
  attach_function :message_with_metadata, :pactffi_message_with_metadata, %i[uint32_type string string], :void
333
+ attach_function :message_with_metadata_v2, :pactffi_message_with_metadata_v2, %i[uint32_type string string], :void
334
+ attach_function :with_metadata, :pactffi_with_metadata, %i[uint32_type string string int], :void
333
335
  attach_function :message_reify, :pactffi_message_reify, %i[uint32_type], :string
334
336
  attach_function :write_message_pact_file, :pactffi_write_message_pact_file, %i[uint16 string bool], :int32
335
337
  attach_function :with_message_pact_metadata, :pactffi_with_message_pact_metadata, %i[uint16 string string string], :void
@@ -372,4 +374,13 @@ module PactFfi
372
374
  attach_function :matches_bool_value, :pactffi_matches_bool_value, %i[pointer uint8 uint8 uint8], :string
373
375
  attach_function :matches_binary_value, :pactffi_matches_binary_value, %i[pointer pointer ulong_long pointer ulong_long uint8], :string
374
376
  attach_function :matches_json_value, :pactffi_matches_json_value, %i[pointer string string uint8], :string
377
+ attach_function :pact_handle_to_pointer, :pactffi_pact_handle_to_pointer, %i[uint16], :pointer
378
+ attach_function :handle_get_pact_spec_version, :pactffi_handle_get_pact_spec_version, %i[uint16], :int32
379
+ attach_function :with_multipart_file, :pactffi_with_multipart_file, %i[uint32_type int32 string string string], :pointer
380
+ attach_function :set_header, :pactffi_set_header, %i[uint32_type int32 string string], :bool
381
+ attach_function :with_binary_body, :pactffi_with_binary_body, %i[uint32_type int32 string pointer size_t], :bool
382
+ attach_function :with_matching_rules, :pactffi_with_matching_rules, %i[uint32_type int32 string], :bool
383
+ attach_function :with_multipart_file_v2, :pactffi_with_multipart_file_v2, %i[uint32_type int32 string string string string], :pointer
384
+ attach_function :message_with_metadata_v2, :pactffi_message_with_metadata_v2, %i[uint32_type string string], :void
385
+ attach_function :with_generators, :pactffi_with_generators, %i[uint32_type int string], :bool
375
386
  end
metadata CHANGED
@@ -1,43 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pact-ffi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.4.22
5
5
  platform: x64-mingw-ucrt
6
6
  authors:
7
7
  - Yousaf Nabi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-08-05 00:00:00.000000000 Z
11
+ date: 2024-08-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: bundler
14
+ name: cucumber
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '2.4'
19
+ version: '9.2'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '2.4'
26
+ version: '9.2'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: httparty
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.17.3
33
+ version: 0.21.0
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.17.3
40
+ version: 0.21.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: nokogiri
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.16'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.16'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: rake
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -66,6 +80,20 @@ dependencies:
66
80
  - - "~>"
67
81
  - !ruby/object:Gem::Version
68
82
  version: '3.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: webrick
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1.8'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '1.8'
69
97
  - !ruby/object:Gem::Dependency
70
98
  name: ffi
71
99
  requirement: !ruby/object:Gem::Requirement
@@ -99,15 +127,14 @@ files:
99
127
  - lib/pact/ffi/async_message_pact.rb
100
128
  - lib/pact/ffi/http_consumer.rb
101
129
  - lib/pact/ffi/logger.rb
102
- - lib/pact/ffi/message_pact.rb
130
+ - lib/pact/ffi/message_consumer.rb
103
131
  - lib/pact/ffi/mock_server.rb
104
- - lib/pact/ffi/plugins.rb
132
+ - lib/pact/ffi/plugin_consumer.rb
105
133
  - lib/pact/ffi/sync_http_consumer.rb
106
134
  - lib/pact/ffi/sync_message_consumer.rb
107
135
  - lib/pact/ffi/utils.rb
108
136
  - lib/pact/ffi/verifier.rb
109
137
  - lib/pact/ffi/version.rb
110
- - lib/pact/fiddle.rb
111
138
  homepage: https://github.com/you54f/pact-ffi
112
139
  licenses:
113
140
  - MIT
@@ -127,7 +154,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
127
154
  - !ruby/object:Gem::Version
128
155
  version: '0'
129
156
  requirements: []
130
- rubygems_version: 3.3.3
157
+ rubygems_version: 3.5.11
131
158
  signing_key:
132
159
  specification_version: 4
133
160
  summary: Pact Reference FFI libpact_ffi library wrapper