twi 0.3.0 → 0.3.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a3da0ed4a9e8746dd8609affeb9cf316a156dafa9a20b0da5e5307c37ea95ad0
4
- data.tar.gz: 647d377b97c2fc7951ecd61f3caeb100b5d4ceeb8e1a8d788a5ba0b623a60ef9
3
+ metadata.gz: b7de338d22ed01d9dfe8e1c715c207a34ed35b62f367d90bc612d11a7d9e9081
4
+ data.tar.gz: e0c688bf9f4e54413a81a27321212b47a62edaf456561c76f609822565b952c3
5
5
  SHA512:
6
- metadata.gz: 375a364348e16d823426c5670e22a900f52d50d5ee9ac2405f80cd6cd9e3cd7052e20d2d8511f50d44036f579ce273d8a2929908f470fd01aeeaf576e0ec6993
7
- data.tar.gz: 97361223e531df80107ed916fa9f81774a9a8694a2e9df8b7acc5dd58468f02c10616df901e798d88f3be3e93b9f1cd4b4c8a3952525ab618378ea1d5a520063
6
+ metadata.gz: e4af8c0e9c8a74ecb262ae1aac5e42280cf77e4beac35327e36a977bb2022bac875356e42043d43e5a8eb43d1e474a5e0067894e3fecb6d556679592573432e1
7
+ data.tar.gz: 4a506ba4933f55f9b3771156a38e70fbff451e42140046e2d1808e0e442001fe0f405eb88dff723586fb9762a6f5e4bad0cfc5b4da3daacb3d1fb39ab177ed4c
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## [0.3.1] - 2026-06-01
2
+
3
+ - [New] Raise Twi::Error, not Twilio::REST::RestError
4
+
1
5
  ## [0.3.0] - 2026-05-27
2
6
 
3
7
  - [New] Add Twi::Message#create
data/lib/twi/error.rb CHANGED
@@ -1,5 +1,11 @@
1
1
  module Twi
2
2
  class Error < StandardError
3
+ attr_reader :code
4
+
5
+ def initialize(attributes = {})
6
+ @code = attributes[:code]
7
+ super attributes[:message]
8
+ end
3
9
  end
4
10
 
5
11
  class ExistingConversationError < Error
data/lib/twi/message.rb CHANGED
@@ -39,7 +39,8 @@ module Twi
39
39
 
40
40
  @id = message.sid
41
41
  @status = message.status
42
- # todo rescue and then set @code
42
+ rescue Twilio::REST::RestError => error
43
+ raise Error, error
43
44
  end
44
45
 
45
46
  # @return [Hash] the shape of the payload send by Twilio to the callback URL.
@@ -1,12 +1,11 @@
1
1
  module Twi
2
2
  class Mock::Conversation < Conversation
3
3
  def create_with(participants:)
4
- if Twi.mock.conversation_error
5
- if Twi.mock.conversation_error[:code] == 50438
6
- raise ExistingConversationError.new(Twi.mock.conversation_error[:message])
7
- elsif Twi.mock.conversation_error[:code] == 50214
8
- Twi.mock.conversation_error = nil
9
- raise TooManyConversationsError
4
+ if error = Twi.mock.conversation_error
5
+ Twi.mock.conversation_error = nil
6
+ case error[:code]
7
+ when 50438 then raise ExistingConversationError.new(error)
8
+ when 50214 then raise TooManyConversationsError.new(error)
10
9
  end
11
10
  elsif Twi.mock.conversation
12
11
  @id = Twi.mock.conversation[:id]
@@ -4,9 +4,16 @@ module Twi
4
4
  def id = @params[:id]
5
5
 
6
6
  def create
7
- @id = "SM#{rand}"
8
- @status = 'delivered'
9
- # todo rescue and then set @code
7
+ if error = Twi.mock.message_error
8
+ Twi.mock.message_error = nil
9
+ raise Error, error
10
+ elsif Twi.mock.message
11
+ @id = Twi.mock.message[:id]
12
+ @status = Twi.mock.message[:status]
13
+ else
14
+ @id = "SM#{rand}"
15
+ @status = 'delivered'
16
+ end
10
17
  end
11
18
  end
12
19
  end
data/lib/twi/mock.rb CHANGED
@@ -1,5 +1,8 @@
1
1
  module Twi
2
2
  class Mock
3
- attr_accessor :phone, :phone_error, :message, :conversation, :conversation_error, :medium
3
+ attr_accessor :phone, :phone_error
4
+ attr_accessor :message, :message_error
5
+ attr_accessor :conversation, :conversation_error
6
+ attr_accessor :medium
4
7
  end
5
8
  end
data/lib/twi/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Twi
4
- VERSION = '0.3.0'
4
+ VERSION = '0.3.1'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: twi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Claudio Baccigalupo