tyler_efm_client 1.0.0.pre.alpha.1
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 +7 -0
- data/CHANGELOG.md +34 -0
- data/GITHUB_SETUP.md +221 -0
- data/Gemfile +11 -0
- data/LICENSE +21 -0
- data/PUBLICATION_GUIDE.md +146 -0
- data/README.md +298 -0
- data/Rakefile +14 -0
- data/build_gem.rb +73 -0
- data/config.example.json +15 -0
- data/docs/getting_started.md +293 -0
- data/examples/authentication_example.rb +64 -0
- data/examples/complete_workflow_example.rb +149 -0
- data/examples/getcaselist_example.rb +142 -0
- data/lib/tyler_efm_client/client.rb +627 -0
- data/lib/tyler_efm_client/errors.rb +19 -0
- data/lib/tyler_efm_client/result_types.rb +77 -0
- data/lib/tyler_efm_client/version.rb +6 -0
- data/lib/tyler_efm_client.rb +41 -0
- data/publish_gem.rb +155 -0
- data/samples/court_filing_workflow/README.md +332 -0
- data/test_gem.rb +170 -0
- metadata +164 -0
data/test_gem.rb
ADDED
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
##
|
|
5
|
+
# Test script to verify the Tyler EFM Client gem can be imported and used.
|
|
6
|
+
# Run this after installing the gem to verify everything works.
|
|
7
|
+
|
|
8
|
+
def test_requires
|
|
9
|
+
puts '๐งช Testing gem requires...'
|
|
10
|
+
|
|
11
|
+
begin
|
|
12
|
+
require_relative 'lib/tyler_efm_client'
|
|
13
|
+
puts 'โ
tyler_efm_client required successfully'
|
|
14
|
+
rescue LoadError => e
|
|
15
|
+
puts "โ Failed to require tyler_efm_client: #{e.message}"
|
|
16
|
+
return false
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
true
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def test_class_availability
|
|
23
|
+
puts "\n๐งช Testing class availability..."
|
|
24
|
+
|
|
25
|
+
begin
|
|
26
|
+
client_class = TylerEfmClient::Client
|
|
27
|
+
puts 'โ
TylerEfmClient::Client class available'
|
|
28
|
+
rescue NameError => e
|
|
29
|
+
puts "โ TylerEfmClient::Client class not found: #{e.message}"
|
|
30
|
+
return false
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
begin
|
|
34
|
+
auth_result_class = TylerEfmClient::AuthenticationResult
|
|
35
|
+
puts 'โ
TylerEfmClient::AuthenticationResult class available'
|
|
36
|
+
rescue NameError => e
|
|
37
|
+
puts "โ TylerEfmClient::AuthenticationResult class not found: #{e.message}"
|
|
38
|
+
return false
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
begin
|
|
42
|
+
service_response_class = TylerEfmClient::ServiceResponse
|
|
43
|
+
puts 'โ
TylerEfmClient::ServiceResponse class available'
|
|
44
|
+
rescue NameError => e
|
|
45
|
+
puts "โ TylerEfmClient::ServiceResponse class not found: #{e.message}"
|
|
46
|
+
return false
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
true
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def test_client_creation
|
|
53
|
+
puts "\n๐งช Testing client creation..."
|
|
54
|
+
|
|
55
|
+
begin
|
|
56
|
+
client = TylerEfmClient::Client.new
|
|
57
|
+
puts 'โ
TylerEfmClient::Client created successfully'
|
|
58
|
+
true
|
|
59
|
+
rescue StandardError => e
|
|
60
|
+
puts "โ Failed to create TylerEfmClient::Client: #{e.message}"
|
|
61
|
+
false
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
def test_method_availability
|
|
66
|
+
puts "\n๐งช Testing method availability..."
|
|
67
|
+
|
|
68
|
+
begin
|
|
69
|
+
client = TylerEfmClient::Client.new
|
|
70
|
+
|
|
71
|
+
# Test authenticate method exists
|
|
72
|
+
if client.respond_to?(:authenticate)
|
|
73
|
+
puts 'โ
authenticate method available'
|
|
74
|
+
else
|
|
75
|
+
puts 'โ authenticate method not found'
|
|
76
|
+
return false
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
# Test call_service method exists
|
|
80
|
+
if client.respond_to?(:call_service)
|
|
81
|
+
puts 'โ
call_service method available'
|
|
82
|
+
else
|
|
83
|
+
puts 'โ call_service method not found'
|
|
84
|
+
return false
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
true
|
|
88
|
+
rescue StandardError => e
|
|
89
|
+
puts "โ Error testing methods: #{e.message}"
|
|
90
|
+
false
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
def test_exception_classes
|
|
95
|
+
puts "\n๐งช Testing exception classes..."
|
|
96
|
+
|
|
97
|
+
begin
|
|
98
|
+
error_class = TylerEfmClient::Error
|
|
99
|
+
puts 'โ
TylerEfmClient::Error class available'
|
|
100
|
+
rescue NameError => e
|
|
101
|
+
puts "โ TylerEfmClient::Error class not found: #{e.message}"
|
|
102
|
+
return false
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
begin
|
|
106
|
+
auth_error_class = TylerEfmClient::AuthenticationError
|
|
107
|
+
puts 'โ
TylerEfmClient::AuthenticationError class available'
|
|
108
|
+
rescue NameError => e
|
|
109
|
+
puts "โ TylerEfmClient::AuthenticationError class not found: #{e.message}"
|
|
110
|
+
return false
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
true
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
def test_version
|
|
117
|
+
puts "\n๐งช Testing version..."
|
|
118
|
+
|
|
119
|
+
begin
|
|
120
|
+
version = TylerEfmClient::VERSION
|
|
121
|
+
puts "โ
Version: #{version}"
|
|
122
|
+
true
|
|
123
|
+
rescue NameError => e
|
|
124
|
+
puts "โ Version not found: #{e.message}"
|
|
125
|
+
false
|
|
126
|
+
end
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
def main
|
|
130
|
+
puts 'Tyler EFM Client - Ruby Gem Test'
|
|
131
|
+
puts '=' * 50
|
|
132
|
+
|
|
133
|
+
tests = [
|
|
134
|
+
['Require Test', method(:test_requires)],
|
|
135
|
+
['Class Availability Test', method(:test_class_availability)],
|
|
136
|
+
['Client Creation Test', method(:test_client_creation)],
|
|
137
|
+
['Method Availability Test', method(:test_method_availability)],
|
|
138
|
+
['Exception Classes Test', method(:test_exception_classes)],
|
|
139
|
+
['Version Test', method(:test_version)]
|
|
140
|
+
]
|
|
141
|
+
|
|
142
|
+
passed = 0
|
|
143
|
+
total = tests.length
|
|
144
|
+
|
|
145
|
+
tests.each do |test_name, test_method|
|
|
146
|
+
puts "\n๐ Running #{test_name}..."
|
|
147
|
+
if test_method.call
|
|
148
|
+
passed += 1
|
|
149
|
+
puts "โ
#{test_name} PASSED"
|
|
150
|
+
else
|
|
151
|
+
puts "โ #{test_name} FAILED"
|
|
152
|
+
end
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
puts "\n๐ Test Results: #{passed}/#{total} tests passed"
|
|
156
|
+
|
|
157
|
+
if passed == total
|
|
158
|
+
puts '๐ All tests passed! Gem is ready to use.'
|
|
159
|
+
puts "\n๐ Next steps:"
|
|
160
|
+
puts ' 1. Check the examples/ directory for usage examples'
|
|
161
|
+
puts ' 2. Update the configuration in examples with your Tyler credentials'
|
|
162
|
+
puts ' 3. Run ruby examples/authentication_example.rb to test with your Tyler setup'
|
|
163
|
+
true
|
|
164
|
+
else
|
|
165
|
+
puts 'โ ๏ธ Some tests failed. Please check the gem installation.'
|
|
166
|
+
false
|
|
167
|
+
end
|
|
168
|
+
end
|
|
169
|
+
|
|
170
|
+
exit(main ? 0 : 1) if __FILE__ == $0
|
metadata
ADDED
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: tyler_efm_client
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 1.0.0.pre.alpha.1
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Tyler Technologies ECF Integration Team
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: exe
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2025-06-28 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: nokogiri
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - "~>"
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '1.15'
|
|
20
|
+
type: :runtime
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - "~>"
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: '1.15'
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: bundler
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - "~>"
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '2.0'
|
|
34
|
+
type: :development
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - "~>"
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: '2.0'
|
|
41
|
+
- !ruby/object:Gem::Dependency
|
|
42
|
+
name: rake
|
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
|
44
|
+
requirements:
|
|
45
|
+
- - "~>"
|
|
46
|
+
- !ruby/object:Gem::Version
|
|
47
|
+
version: '13.0'
|
|
48
|
+
type: :development
|
|
49
|
+
prerelease: false
|
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
+
requirements:
|
|
52
|
+
- - "~>"
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
version: '13.0'
|
|
55
|
+
- !ruby/object:Gem::Dependency
|
|
56
|
+
name: rspec
|
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
|
58
|
+
requirements:
|
|
59
|
+
- - "~>"
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: '3.0'
|
|
62
|
+
type: :development
|
|
63
|
+
prerelease: false
|
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
+
requirements:
|
|
66
|
+
- - "~>"
|
|
67
|
+
- !ruby/object:Gem::Version
|
|
68
|
+
version: '3.0'
|
|
69
|
+
- !ruby/object:Gem::Dependency
|
|
70
|
+
name: yard
|
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
|
72
|
+
requirements:
|
|
73
|
+
- - "~>"
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: '0.9'
|
|
76
|
+
type: :development
|
|
77
|
+
prerelease: false
|
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
+
requirements:
|
|
80
|
+
- - "~>"
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
version: '0.9'
|
|
83
|
+
- !ruby/object:Gem::Dependency
|
|
84
|
+
name: rubocop
|
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
|
86
|
+
requirements:
|
|
87
|
+
- - "~>"
|
|
88
|
+
- !ruby/object:Gem::Version
|
|
89
|
+
version: '1.21'
|
|
90
|
+
type: :development
|
|
91
|
+
prerelease: false
|
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
+
requirements:
|
|
94
|
+
- - "~>"
|
|
95
|
+
- !ruby/object:Gem::Version
|
|
96
|
+
version: '1.21'
|
|
97
|
+
description: |
|
|
98
|
+
A production-ready Ruby SDK for integrating with Tyler Technologies Electronic Filing Manager (EFM) services.
|
|
99
|
+
This gem simplifies authentication and SOAP service calls for Electronic Court Filing (ECF) systems.
|
|
100
|
+
|
|
101
|
+
Key features:
|
|
102
|
+
- Simple Authentication: One method to authenticate with Tyler EFM services
|
|
103
|
+
- Flexible SOAP Operations: Call any Tyler EFM SOAP operation with automatic security handling
|
|
104
|
+
- WS-Security Support: Automatic RSA-SHA1/SHA1 digital signatures (Tyler legacy compatibility)
|
|
105
|
+
- Certificate Management: Automatic PFX certificate handling and cleanup
|
|
106
|
+
- Response Formats: Choose between XML and JSON response formats
|
|
107
|
+
- Production Ready: Built from working Tyler ECF 5.0 integration code
|
|
108
|
+
email:
|
|
109
|
+
- ecf-support@tylertech.com
|
|
110
|
+
executables: []
|
|
111
|
+
extensions: []
|
|
112
|
+
extra_rdoc_files: []
|
|
113
|
+
files:
|
|
114
|
+
- CHANGELOG.md
|
|
115
|
+
- GITHUB_SETUP.md
|
|
116
|
+
- Gemfile
|
|
117
|
+
- LICENSE
|
|
118
|
+
- PUBLICATION_GUIDE.md
|
|
119
|
+
- README.md
|
|
120
|
+
- Rakefile
|
|
121
|
+
- build_gem.rb
|
|
122
|
+
- config.example.json
|
|
123
|
+
- docs/getting_started.md
|
|
124
|
+
- examples/authentication_example.rb
|
|
125
|
+
- examples/complete_workflow_example.rb
|
|
126
|
+
- examples/getcaselist_example.rb
|
|
127
|
+
- lib/tyler_efm_client.rb
|
|
128
|
+
- lib/tyler_efm_client/client.rb
|
|
129
|
+
- lib/tyler_efm_client/errors.rb
|
|
130
|
+
- lib/tyler_efm_client/result_types.rb
|
|
131
|
+
- lib/tyler_efm_client/version.rb
|
|
132
|
+
- publish_gem.rb
|
|
133
|
+
- samples/court_filing_workflow/README.md
|
|
134
|
+
- test_gem.rb
|
|
135
|
+
homepage: https://github.com/tyler-technologies/cj-esol-efm-client-ruby
|
|
136
|
+
licenses:
|
|
137
|
+
- MIT
|
|
138
|
+
metadata:
|
|
139
|
+
allowed_push_host: https://rubygems.org/
|
|
140
|
+
homepage_uri: https://github.com/tyler-technologies/cj-esol-efm-client-ruby
|
|
141
|
+
source_code_uri: https://github.com/tyler-technologies/cj-esol-efm-client-ruby
|
|
142
|
+
changelog_uri: https://github.com/tyler-technologies/cj-esol-efm-client-ruby/blob/main/CHANGELOG.md
|
|
143
|
+
documentation_uri: https://github.com/tyler-technologies/cj-esol-efm-client-ruby#readme
|
|
144
|
+
bug_tracker_uri: https://github.com/tyler-technologies/cj-esol-efm-client-ruby/issues
|
|
145
|
+
post_install_message:
|
|
146
|
+
rdoc_options: []
|
|
147
|
+
require_paths:
|
|
148
|
+
- lib
|
|
149
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
150
|
+
requirements:
|
|
151
|
+
- - ">="
|
|
152
|
+
- !ruby/object:Gem::Version
|
|
153
|
+
version: 3.0.0
|
|
154
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
155
|
+
requirements:
|
|
156
|
+
- - ">"
|
|
157
|
+
- !ruby/object:Gem::Version
|
|
158
|
+
version: 1.3.1
|
|
159
|
+
requirements: []
|
|
160
|
+
rubygems_version: 3.4.19
|
|
161
|
+
signing_key:
|
|
162
|
+
specification_version: 4
|
|
163
|
+
summary: Ruby SDK for Tyler Technologies Electronic Filing Manager (EFM) Services
|
|
164
|
+
test_files: []
|