growsurf-ruby 0.2.0 → 0.4.0

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.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/README.md +9 -9
  4. data/lib/growsurf_ruby/models/campaign/create.rb +93 -0
  5. data/lib/growsurf_ruby/models/campaign/participant.rb +13 -1
  6. data/lib/growsurf_ruby/models/campaign/participant_add_params.rb +2 -73
  7. data/lib/growsurf_ruby/models/campaign_create_mobile_participant_token_params.rb +20 -0
  8. data/lib/growsurf_ruby/models/campaign_create_mobile_participant_token_response.rb +45 -0
  9. data/lib/growsurf_ruby/models.rb +3 -0
  10. data/lib/growsurf_ruby/resources/campaign/participant.rb +7 -30
  11. data/lib/growsurf_ruby/resources/campaign.rb +47 -0
  12. data/lib/growsurf_ruby/version.rb +1 -1
  13. data/lib/growsurf_ruby.rb +3 -2
  14. data/rbi/growsurf_ruby/models/campaign/create.rbi +162 -0
  15. data/rbi/growsurf_ruby/models/campaign/participant.rbi +10 -0
  16. data/rbi/growsurf_ruby/models/campaign/participant_add_params.rbi +3 -129
  17. data/rbi/growsurf_ruby/models/campaign_create_mobile_participant_token_params.rbi +38 -0
  18. data/rbi/growsurf_ruby/models/campaign_create_mobile_participant_token_response.rbi +71 -0
  19. data/rbi/growsurf_ruby/models.rbi +3 -0
  20. data/rbi/growsurf_ruby/resources/campaign/participant.rbi +5 -21
  21. data/rbi/growsurf_ruby/resources/campaign.rbi +42 -0
  22. data/sig/growsurf_ruby/models/campaign/create.rbs +91 -0
  23. data/sig/growsurf_ruby/models/campaign/participant.rbs +5 -0
  24. data/sig/growsurf_ruby/models/campaign/participant_add_params.rbs +4 -72
  25. data/sig/growsurf_ruby/models/campaign_create_mobile_participant_token_params.rbs +25 -0
  26. data/sig/growsurf_ruby/models/campaign_create_mobile_participant_token_response.rbs +35 -0
  27. data/sig/growsurf_ruby/models.rbs +2 -0
  28. data/sig/growsurf_ruby/resources/campaign/participant.rbs +2 -7
  29. data/sig/growsurf_ruby/resources/campaign.rbs +14 -0
  30. metadata +11 -8
  31. data/lib/growsurf_ruby/models/campaign/participant_create_mobile_token_params.rb +0 -28
  32. data/lib/growsurf_ruby/models/campaign/participant_create_mobile_token_response.rb +0 -27
  33. data/rbi/growsurf_ruby/models/campaign/participant_create_mobile_token_params.rbi +0 -48
  34. data/rbi/growsurf_ruby/models/campaign/participant_create_mobile_token_response.rbi +0 -44
  35. data/sig/growsurf_ruby/models/campaign/participant_create_mobile_token_params.rbs +0 -30
  36. data/sig/growsurf_ruby/models/campaign/participant_create_mobile_token_response.rbs +0 -18
@@ -2,93 +2,25 @@ module GrowsurfRuby
2
2
  module Models
3
3
  module Campaign
4
4
  type participant_add_params =
5
- {
6
- id: String,
7
- email: String,
8
- fingerprint: String,
9
- first_name: String,
10
- ip_address: String,
11
- last_name: String,
12
- metadata: ::Hash[Symbol, top],
13
- referral_status: GrowsurfRuby::Models::Campaign::ParticipantAddParams::referral_status,
14
- referred_by: String
15
- }
16
- & GrowsurfRuby::Internal::Type::request_parameters
5
+ { id: String } & GrowsurfRuby::Internal::Type::request_parameters
17
6
 
18
- class ParticipantAddParams < GrowsurfRuby::Internal::Type::BaseModel
7
+ class ParticipantAddParams < GrowsurfRuby::Models::Campaign::Create
19
8
  extend GrowsurfRuby::Internal::Type::RequestParameters::Converter
20
9
  include GrowsurfRuby::Internal::Type::RequestParameters
21
10
 
22
- attr_accessor id: String
23
-
24
- attr_accessor email: String
25
-
26
- attr_reader fingerprint: String?
27
-
28
- def fingerprint=: (String) -> String
29
-
30
- attr_reader first_name: String?
31
-
32
- def first_name=: (String) -> String
33
-
34
- attr_reader ip_address: String?
35
-
36
- def ip_address=: (String) -> String
37
-
38
- attr_reader last_name: String?
11
+ def id: -> String
39
12
 
40
- def last_name=: (String) -> String
41
-
42
- attr_reader metadata: ::Hash[Symbol, top]?
43
-
44
- def metadata=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top]
45
-
46
- attr_reader referral_status: GrowsurfRuby::Models::Campaign::ParticipantAddParams::referral_status?
47
-
48
- def referral_status=: (
49
- GrowsurfRuby::Models::Campaign::ParticipantAddParams::referral_status
50
- ) -> GrowsurfRuby::Models::Campaign::ParticipantAddParams::referral_status
51
-
52
- attr_reader referred_by: String?
53
-
54
- def referred_by=: (String) -> String
13
+ def id=: (String _) -> String
55
14
 
56
15
  def initialize: (
57
16
  id: String,
58
- email: String,
59
- ?fingerprint: String,
60
- ?first_name: String,
61
- ?ip_address: String,
62
- ?last_name: String,
63
- ?metadata: ::Hash[Symbol, top],
64
- ?referral_status: GrowsurfRuby::Models::Campaign::ParticipantAddParams::referral_status,
65
- ?referred_by: String,
66
17
  ?request_options: GrowsurfRuby::request_opts
67
18
  ) -> void
68
19
 
69
20
  def to_hash: -> {
70
21
  id: String,
71
- email: String,
72
- fingerprint: String,
73
- first_name: String,
74
- ip_address: String,
75
- last_name: String,
76
- metadata: ::Hash[Symbol, top],
77
- referral_status: GrowsurfRuby::Models::Campaign::ParticipantAddParams::referral_status,
78
- referred_by: String,
79
22
  request_options: GrowsurfRuby::RequestOptions
80
23
  }
81
-
82
- type referral_status = :CREDIT_PENDING | :CREDIT_AWARDED
83
-
84
- module ReferralStatus
85
- extend GrowsurfRuby::Internal::Type::Enum
86
-
87
- CREDIT_PENDING: :CREDIT_PENDING
88
- CREDIT_AWARDED: :CREDIT_AWARDED
89
-
90
- def self?.values: -> ::Array[GrowsurfRuby::Models::Campaign::ParticipantAddParams::referral_status]
91
- end
92
24
  end
93
25
  end
94
26
  end
@@ -0,0 +1,25 @@
1
+ module GrowsurfRuby
2
+ module Models
3
+ type campaign_create_mobile_participant_token_params =
4
+ { id: String } & GrowsurfRuby::Internal::Type::request_parameters
5
+
6
+ class CampaignCreateMobileParticipantTokenParams < GrowsurfRuby::Models::Campaign::Create
7
+ extend GrowsurfRuby::Internal::Type::RequestParameters::Converter
8
+ include GrowsurfRuby::Internal::Type::RequestParameters
9
+
10
+ def id: -> String
11
+
12
+ def id=: (String _) -> String
13
+
14
+ def initialize: (
15
+ id: String,
16
+ ?request_options: GrowsurfRuby::request_opts
17
+ ) -> void
18
+
19
+ def to_hash: -> {
20
+ id: String,
21
+ request_options: GrowsurfRuby::RequestOptions
22
+ }
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,35 @@
1
+ module GrowsurfRuby
2
+ module Models
3
+ type campaign_create_mobile_participant_token_response =
4
+ {
5
+ expires_in: Integer,
6
+ is_new: bool,
7
+ participant: GrowsurfRuby::Campaign::CampaignParticipant,
8
+ participant_token: String
9
+ }
10
+
11
+ class CampaignCreateMobileParticipantTokenResponse < GrowsurfRuby::Internal::Type::BaseModel
12
+ attr_accessor expires_in: Integer
13
+
14
+ attr_accessor is_new: bool
15
+
16
+ attr_accessor participant: GrowsurfRuby::Campaign::CampaignParticipant
17
+
18
+ attr_accessor participant_token: String
19
+
20
+ def initialize: (
21
+ expires_in: Integer,
22
+ is_new: bool,
23
+ participant: GrowsurfRuby::Campaign::CampaignParticipant,
24
+ participant_token: String
25
+ ) -> void
26
+
27
+ def to_hash: -> {
28
+ expires_in: Integer,
29
+ is_new: bool,
30
+ participant: GrowsurfRuby::Campaign::CampaignParticipant,
31
+ participant_token: String
32
+ }
33
+ end
34
+ end
35
+ end
@@ -3,6 +3,8 @@ module GrowsurfRuby
3
3
 
4
4
  class CampaignAPI = GrowsurfRuby::Models::CampaignAPI
5
5
 
6
+ class CampaignCreateMobileParticipantTokenParams = GrowsurfRuby::Models::CampaignCreateMobileParticipantTokenParams
7
+
6
8
  class CampaignListCommissionsParams = GrowsurfRuby::Models::CampaignListCommissionsParams
7
9
 
8
10
  class CampaignListLeaderboardParams = GrowsurfRuby::Models::CampaignListLeaderboardParams
@@ -36,17 +36,12 @@ module GrowsurfRuby
36
36
  ?ip_address: String,
37
37
  ?last_name: String,
38
38
  ?metadata: ::Hash[Symbol, top],
39
- ?referral_status: GrowsurfRuby::Models::Campaign::ParticipantAddParams::referral_status,
39
+ ?mobile_instance_id: String,
40
+ ?referral_status: GrowsurfRuby::Models::Campaign::Create::referral_status,
40
41
  ?referred_by: String,
41
42
  ?request_options: GrowsurfRuby::request_opts
42
43
  ) -> GrowsurfRuby::Campaign::CampaignParticipant
43
44
 
44
- def create_mobile_token: (
45
- String participant_id_or_email,
46
- id: String,
47
- ?request_options: GrowsurfRuby::request_opts
48
- ) -> GrowsurfRuby::Models::Campaign::ParticipantCreateMobileTokenResponse
49
-
50
45
  def list_commissions: (
51
46
  String participant_id_or_email,
52
47
  id: String,
@@ -16,6 +16,20 @@ module GrowsurfRuby
16
16
  ?request_options: GrowsurfRuby::request_opts
17
17
  ) -> GrowsurfRuby::Models::CampaignListResponse
18
18
 
19
+ def create_mobile_participant_token: (
20
+ String id,
21
+ email: String,
22
+ ?fingerprint: String,
23
+ ?first_name: String,
24
+ ?ip_address: String,
25
+ ?last_name: String,
26
+ ?metadata: ::Hash[Symbol, top],
27
+ ?mobile_instance_id: String,
28
+ ?referral_status: GrowsurfRuby::Models::Campaign::Create::referral_status,
29
+ ?referred_by: String,
30
+ ?request_options: GrowsurfRuby::request_opts
31
+ ) -> GrowsurfRuby::Models::CampaignCreateMobileParticipantTokenResponse
32
+
19
33
  def list_commissions: (
20
34
  String id,
21
35
  ?limit: Integer,
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: growsurf-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Growsurf
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-05-15 00:00:00.000000000 Z
11
+ date: 2026-05-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cgi
@@ -74,11 +74,10 @@ files:
74
74
  - lib/growsurf_ruby/models/campaign/commission_approve_response.rb
75
75
  - lib/growsurf_ruby/models/campaign/commission_delete_params.rb
76
76
  - lib/growsurf_ruby/models/campaign/commission_delete_response.rb
77
+ - lib/growsurf_ruby/models/campaign/create.rb
77
78
  - lib/growsurf_ruby/models/campaign/fraud_risk_level.rb
78
79
  - lib/growsurf_ruby/models/campaign/participant.rb
79
80
  - lib/growsurf_ruby/models/campaign/participant_add_params.rb
80
- - lib/growsurf_ruby/models/campaign/participant_create_mobile_token_params.rb
81
- - lib/growsurf_ruby/models/campaign/participant_create_mobile_token_response.rb
82
81
  - lib/growsurf_ruby/models/campaign/participant_delete_params.rb
83
82
  - lib/growsurf_ruby/models/campaign/participant_delete_response.rb
84
83
  - lib/growsurf_ruby/models/campaign/participant_list_commissions_params.rb
@@ -103,6 +102,8 @@ files:
103
102
  - lib/growsurf_ruby/models/campaign/reward_delete_response.rb
104
103
  - lib/growsurf_ruby/models/campaign/reward_fulfill_params.rb
105
104
  - lib/growsurf_ruby/models/campaign/reward_fulfill_response.rb
105
+ - lib/growsurf_ruby/models/campaign_create_mobile_participant_token_params.rb
106
+ - lib/growsurf_ruby/models/campaign_create_mobile_participant_token_response.rb
106
107
  - lib/growsurf_ruby/models/campaign_list_commissions_params.rb
107
108
  - lib/growsurf_ruby/models/campaign_list_leaderboard_params.rb
108
109
  - lib/growsurf_ruby/models/campaign_list_params.rb
@@ -149,11 +150,10 @@ files:
149
150
  - rbi/growsurf_ruby/models/campaign/commission_approve_response.rbi
150
151
  - rbi/growsurf_ruby/models/campaign/commission_delete_params.rbi
151
152
  - rbi/growsurf_ruby/models/campaign/commission_delete_response.rbi
153
+ - rbi/growsurf_ruby/models/campaign/create.rbi
152
154
  - rbi/growsurf_ruby/models/campaign/fraud_risk_level.rbi
153
155
  - rbi/growsurf_ruby/models/campaign/participant.rbi
154
156
  - rbi/growsurf_ruby/models/campaign/participant_add_params.rbi
155
- - rbi/growsurf_ruby/models/campaign/participant_create_mobile_token_params.rbi
156
- - rbi/growsurf_ruby/models/campaign/participant_create_mobile_token_response.rbi
157
157
  - rbi/growsurf_ruby/models/campaign/participant_delete_params.rbi
158
158
  - rbi/growsurf_ruby/models/campaign/participant_delete_response.rbi
159
159
  - rbi/growsurf_ruby/models/campaign/participant_list_commissions_params.rbi
@@ -178,6 +178,8 @@ files:
178
178
  - rbi/growsurf_ruby/models/campaign/reward_delete_response.rbi
179
179
  - rbi/growsurf_ruby/models/campaign/reward_fulfill_params.rbi
180
180
  - rbi/growsurf_ruby/models/campaign/reward_fulfill_response.rbi
181
+ - rbi/growsurf_ruby/models/campaign_create_mobile_participant_token_params.rbi
182
+ - rbi/growsurf_ruby/models/campaign_create_mobile_participant_token_response.rbi
181
183
  - rbi/growsurf_ruby/models/campaign_list_commissions_params.rbi
182
184
  - rbi/growsurf_ruby/models/campaign_list_leaderboard_params.rbi
183
185
  - rbi/growsurf_ruby/models/campaign_list_params.rbi
@@ -223,11 +225,10 @@ files:
223
225
  - sig/growsurf_ruby/models/campaign/commission_approve_response.rbs
224
226
  - sig/growsurf_ruby/models/campaign/commission_delete_params.rbs
225
227
  - sig/growsurf_ruby/models/campaign/commission_delete_response.rbs
228
+ - sig/growsurf_ruby/models/campaign/create.rbs
226
229
  - sig/growsurf_ruby/models/campaign/fraud_risk_level.rbs
227
230
  - sig/growsurf_ruby/models/campaign/participant.rbs
228
231
  - sig/growsurf_ruby/models/campaign/participant_add_params.rbs
229
- - sig/growsurf_ruby/models/campaign/participant_create_mobile_token_params.rbs
230
- - sig/growsurf_ruby/models/campaign/participant_create_mobile_token_response.rbs
231
232
  - sig/growsurf_ruby/models/campaign/participant_delete_params.rbs
232
233
  - sig/growsurf_ruby/models/campaign/participant_delete_response.rbs
233
234
  - sig/growsurf_ruby/models/campaign/participant_list_commissions_params.rbs
@@ -252,6 +253,8 @@ files:
252
253
  - sig/growsurf_ruby/models/campaign/reward_delete_response.rbs
253
254
  - sig/growsurf_ruby/models/campaign/reward_fulfill_params.rbs
254
255
  - sig/growsurf_ruby/models/campaign/reward_fulfill_response.rbs
256
+ - sig/growsurf_ruby/models/campaign_create_mobile_participant_token_params.rbs
257
+ - sig/growsurf_ruby/models/campaign_create_mobile_participant_token_response.rbs
255
258
  - sig/growsurf_ruby/models/campaign_list_commissions_params.rbs
256
259
  - sig/growsurf_ruby/models/campaign_list_leaderboard_params.rbs
257
260
  - sig/growsurf_ruby/models/campaign_list_params.rbs
@@ -1,28 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module GrowsurfRuby
4
- module Models
5
- module Campaign
6
- # @see GrowsurfRuby::Resources::Campaign::Participant#create_mobile_token
7
- class ParticipantCreateMobileTokenParams < GrowsurfRuby::Internal::Type::BaseModel
8
- extend GrowsurfRuby::Internal::Type::RequestParameters::Converter
9
- include GrowsurfRuby::Internal::Type::RequestParameters
10
-
11
- # @!attribute id
12
- #
13
- # @return [String]
14
- required :id, String
15
-
16
- # @!attribute participant_id_or_email
17
- #
18
- # @return [String]
19
- required :participant_id_or_email, String
20
-
21
- # @!method initialize(id:, participant_id_or_email:, request_options: {})
22
- # @param id [String]
23
- # @param participant_id_or_email [String]
24
- # @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}]
25
- end
26
- end
27
- end
28
- end
@@ -1,27 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module GrowsurfRuby
4
- module Models
5
- module Campaign
6
- # @see GrowsurfRuby::Resources::Campaign::Participant#create_mobile_token
7
- class ParticipantCreateMobileTokenResponse < GrowsurfRuby::Internal::Type::BaseModel
8
- # @!attribute expires_in
9
- # Token lifetime in seconds.
10
- #
11
- # @return [Integer]
12
- required :expires_in, Integer, api_name: :expiresIn
13
-
14
- # @!attribute participant_token
15
- # Participant-scoped bearer token for GrowSurf mobile SDK participant endpoints.
16
- #
17
- # @return [String]
18
- required :participant_token, String, api_name: :participantToken
19
-
20
- # @!method initialize(expires_in:, participant_token:)
21
- # @param expires_in [Integer] Token lifetime in seconds.
22
- #
23
- # @param participant_token [String] Participant-scoped bearer token for GrowSurf mobile SDK participant endpoints.
24
- end
25
- end
26
- end
27
- end
@@ -1,48 +0,0 @@
1
- # typed: strong
2
-
3
- module GrowsurfRuby
4
- module Models
5
- module Campaign
6
- class ParticipantCreateMobileTokenParams < GrowsurfRuby::Internal::Type::BaseModel
7
- extend GrowsurfRuby::Internal::Type::RequestParameters::Converter
8
- include GrowsurfRuby::Internal::Type::RequestParameters
9
-
10
- OrHash =
11
- T.type_alias do
12
- T.any(
13
- GrowsurfRuby::Campaign::ParticipantCreateMobileTokenParams,
14
- GrowsurfRuby::Internal::AnyHash
15
- )
16
- end
17
-
18
- sig { returns(String) }
19
- attr_accessor :id
20
-
21
- sig { returns(String) }
22
- attr_accessor :participant_id_or_email
23
-
24
- sig do
25
- params(
26
- id: String,
27
- participant_id_or_email: String,
28
- request_options: GrowsurfRuby::RequestOptions::OrHash
29
- ).returns(T.attached_class)
30
- end
31
- def self.new(id:, participant_id_or_email:, request_options: {})
32
- end
33
-
34
- sig do
35
- override.returns(
36
- {
37
- id: String,
38
- participant_id_or_email: String,
39
- request_options: GrowsurfRuby::RequestOptions
40
- }
41
- )
42
- end
43
- def to_hash
44
- end
45
- end
46
- end
47
- end
48
- end
@@ -1,44 +0,0 @@
1
- # typed: strong
2
-
3
- module GrowsurfRuby
4
- module Models
5
- module Campaign
6
- class ParticipantCreateMobileTokenResponse < GrowsurfRuby::Internal::Type::BaseModel
7
- OrHash =
8
- T.type_alias do
9
- T.any(
10
- GrowsurfRuby::Models::Campaign::ParticipantCreateMobileTokenResponse,
11
- GrowsurfRuby::Internal::AnyHash
12
- )
13
- end
14
-
15
- # Token lifetime in seconds.
16
- sig { returns(Integer) }
17
- attr_accessor :expires_in
18
-
19
- # Participant-scoped bearer token for GrowSurf mobile SDK participant endpoints.
20
- sig { returns(String) }
21
- attr_accessor :participant_token
22
-
23
- sig do
24
- params(expires_in: Integer, participant_token: String).returns(
25
- T.attached_class
26
- )
27
- end
28
- def self.new(
29
- # Token lifetime in seconds.
30
- expires_in:,
31
- # Participant-scoped bearer token for GrowSurf mobile SDK participant endpoints.
32
- participant_token:
33
- )
34
- end
35
-
36
- sig do
37
- override.returns({ expires_in: Integer, participant_token: String })
38
- end
39
- def to_hash
40
- end
41
- end
42
- end
43
- end
44
- end
@@ -1,30 +0,0 @@
1
- module GrowsurfRuby
2
- module Models
3
- module Campaign
4
- type participant_create_mobile_token_params =
5
- { id: String, participant_id_or_email: String }
6
- & GrowsurfRuby::Internal::Type::request_parameters
7
-
8
- class ParticipantCreateMobileTokenParams < GrowsurfRuby::Internal::Type::BaseModel
9
- extend GrowsurfRuby::Internal::Type::RequestParameters::Converter
10
- include GrowsurfRuby::Internal::Type::RequestParameters
11
-
12
- attr_accessor id: String
13
-
14
- attr_accessor participant_id_or_email: String
15
-
16
- def initialize: (
17
- id: String,
18
- participant_id_or_email: String,
19
- ?request_options: GrowsurfRuby::request_opts
20
- ) -> void
21
-
22
- def to_hash: -> {
23
- id: String,
24
- participant_id_or_email: String,
25
- request_options: GrowsurfRuby::RequestOptions
26
- }
27
- end
28
- end
29
- end
30
- end
@@ -1,18 +0,0 @@
1
- module GrowsurfRuby
2
- module Models
3
- module Campaign
4
- type participant_create_mobile_token_response =
5
- { expires_in: Integer, participant_token: String }
6
-
7
- class ParticipantCreateMobileTokenResponse < GrowsurfRuby::Internal::Type::BaseModel
8
- attr_accessor expires_in: Integer
9
-
10
- attr_accessor participant_token: String
11
-
12
- def initialize: (expires_in: Integer, participant_token: String) -> void
13
-
14
- def to_hash: -> { expires_in: Integer, participant_token: String }
15
- end
16
- end
17
- end
18
- end