vortex-ruby-sdk 1.0.0 → 1.1.3

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.
@@ -0,0 +1,87 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Vortex
4
+ # Type documentation for Vortex SDK responses
5
+ # Ruby uses dynamic typing with Hashes, but this documents the expected structure
6
+ module Types
7
+ # Group structure for JWT generation (input)
8
+ # @example
9
+ # {
10
+ # type: 'workspace',
11
+ # id: 'workspace-123', # Legacy field (deprecated, use groupId)
12
+ # groupId: 'workspace-123', # Preferred field
13
+ # name: 'My Workspace'
14
+ # }
15
+ GROUP_INPUT = {
16
+ type: String, # Required: Group type (e.g., "workspace", "team")
17
+ id: String, # Optional: Legacy field (deprecated, use groupId)
18
+ groupId: String, # Optional: Preferred - Customer's group ID
19
+ name: String # Required: Group name
20
+ }.freeze
21
+
22
+ # InvitationGroup structure from API responses
23
+ # This matches the MemberGroups table structure from the API
24
+ # @example
25
+ # {
26
+ # id: '550e8400-e29b-41d4-a716-446655440000',
27
+ # accountId: '6ba7b810-9dad-11d1-80b4-00c04fd430c8',
28
+ # groupId: 'workspace-123',
29
+ # type: 'workspace',
30
+ # name: 'My Workspace',
31
+ # createdAt: '2025-01-27T12:00:00.000Z'
32
+ # }
33
+ INVITATION_GROUP = {
34
+ id: String, # Vortex internal UUID
35
+ accountId: String, # Vortex account ID
36
+ groupId: String, # Customer's group ID (the ID they provided to Vortex)
37
+ type: String, # Group type (e.g., "workspace", "team")
38
+ name: String, # Group name
39
+ createdAt: String # ISO 8601 timestamp when the group was created
40
+ }.freeze
41
+
42
+ # AcceptUser structure for accepting invitations (new format - preferred)
43
+ # @example
44
+ # {
45
+ # email: 'user@example.com',
46
+ # phone: '+1234567890', # Optional
47
+ # name: 'John Doe' # Optional
48
+ # }
49
+ ACCEPT_USER = {
50
+ email: String, # Optional but either email or phone must be provided
51
+ phone: String, # Optional but either email or phone must be provided
52
+ name: String # Optional
53
+ }.freeze
54
+
55
+ # Invitation structure from API responses
56
+ # @example
57
+ # {
58
+ # id: '550e8400-e29b-41d4-a716-446655440000',
59
+ # accountId: '6ba7b810-9dad-11d1-80b4-00c04fd430c8',
60
+ # groups: [INVITATION_GROUP, ...],
61
+ # # ... other fields
62
+ # }
63
+ INVITATION = {
64
+ id: String,
65
+ accountId: String,
66
+ clickThroughs: Integer,
67
+ configurationAttributes: Hash,
68
+ attributes: Hash,
69
+ createdAt: String,
70
+ deactivated: :boolean,
71
+ deliveryCount: Integer,
72
+ deliveryTypes: Array, # of String
73
+ foreignCreatorId: String,
74
+ invitationType: String,
75
+ modifiedAt: String,
76
+ status: String,
77
+ target: Array, # of { type: String, value: String }
78
+ views: Integer,
79
+ widgetConfigurationId: String,
80
+ projectId: String,
81
+ groups: Array, # of INVITATION_GROUP structures
82
+ accepts: Array, # of acceptance structures
83
+ expired: :boolean,
84
+ expires: String # ISO 8601 timestamp (optional)
85
+ }.freeze
86
+ end
87
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Vortex
4
- VERSION = '1.0.0'
4
+ VERSION = '1.1.3'
5
5
  end
data/lib/vortex.rb CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  require 'vortex/version'
4
4
  require 'vortex/error'
5
+ require 'vortex/types'
5
6
  require 'vortex/client'
6
7
 
7
8
  # Vortex Ruby SDK
@@ -6,7 +6,7 @@ Gem::Specification.new do |spec|
6
6
  spec.name = 'vortex-ruby-sdk'
7
7
  spec.version = Vortex::VERSION
8
8
  spec.authors = ['Vortex Software']
9
- spec.email = ['support@vortexsoftware.io']
9
+ spec.email = ['support@vortexsoftware.com']
10
10
 
11
11
  spec.summary = 'Ruby SDK for Vortex invitation system'
12
12
  spec.description = 'A Ruby SDK that provides seamless integration with the Vortex invitation system, including JWT generation and invitation management.'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vortex-ruby-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vortex Software
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-10-17 00:00:00.000000000 Z
11
+ date: 2026-01-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -139,11 +139,13 @@ dependencies:
139
139
  description: A Ruby SDK that provides seamless integration with the Vortex invitation
140
140
  system, including JWT generation and invitation management.
141
141
  email:
142
- - support@vortexsoftware.io
142
+ - support@vortexsoftware.com
143
143
  executables: []
144
144
  extensions: []
145
145
  extra_rdoc_files: []
146
146
  files:
147
+ - ".claude/implementation-guide.md"
148
+ - CHANGELOG.md
147
149
  - LICENSE
148
150
  - PUBLISHING.md
149
151
  - README.md
@@ -156,6 +158,7 @@ files:
156
158
  - lib/vortex/error.rb
157
159
  - lib/vortex/rails.rb
158
160
  - lib/vortex/sinatra.rb
161
+ - lib/vortex/types.rb
159
162
  - lib/vortex/version.rb
160
163
  - vortex-ruby-sdk.gemspec
161
164
  homepage: https://github.com/vortexsoftware/vortex-ruby-sdk
@@ -166,7 +169,7 @@ metadata:
166
169
  homepage_uri: https://github.com/vortexsoftware/vortex-ruby-sdk
167
170
  source_code_uri: https://github.com/vortexsoftware/vortex-ruby-sdk
168
171
  changelog_uri: https://github.com/vortexsoftware/vortex-ruby-sdk/blob/main/CHANGELOG.md
169
- post_install_message:
172
+ post_install_message:
170
173
  rdoc_options: []
171
174
  require_paths:
172
175
  - lib
@@ -181,8 +184,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
181
184
  - !ruby/object:Gem::Version
182
185
  version: '0'
183
186
  requirements: []
184
- rubygems_version: 3.3.5
185
- signing_key:
187
+ rubygems_version: 3.4.19
188
+ signing_key:
186
189
  specification_version: 4
187
190
  summary: Ruby SDK for Vortex invitation system
188
191
  test_files: []