interfax 0.2.0 → 0.2.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.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.0
1
+ 0.2.1
@@ -93,7 +93,7 @@ module Interfax
93
93
 
94
94
  return [] if result.nil? || !defined?(result.objMessageItem)
95
95
  [*result.objMessageItem.messageItem].map do |fax|
96
- self.new(fax.messageID, fax.messageSize)
96
+ self.new(fax)
97
97
  end
98
98
  end
99
99
 
@@ -157,17 +157,36 @@ module Interfax
157
157
 
158
158
  end
159
159
 
160
+ # class methods
160
161
 
161
-
162
- attr_accessor :username, :password, :mark_as_read, :chunk_size, :message_id, :message_size, :image #:nodoc:
162
+ attr_accessor :username, :password, :mark_as_read, :chunk_size, :message_id, :message_size, :image,
163
+ :interfax_number, :remote_csid, :message_status, :pages, :message_type, :receive_time, :caller_id,
164
+ :duration
163
165
 
164
- def initialize(message_id, message_size)
166
+ # Normally this is instantied for you as a result of calling one of the
167
+ # querying class methods. If you want to instantiate an object yourself,
168
+ # you can pass it the results of the GetList API call, or any object that
169
+ # looks like it.
170
+ # See: http://www.interfax.net/en/dev/webservice/reference/getlist
171
+ def initialize(params = nil)
165
172
  @username = self.class.username
166
173
  @password = self.class.password
167
174
  @mark_as_read = self.class.mark_as_read || false
168
175
  @chunk_size = 100000
169
- @message_id = message_id
170
- @message_size = message_size.to_i
176
+
177
+ unless params.nil?
178
+ @message_id = params.messageID
179
+ @message_size = params.messageSize.to_i
180
+ @interfax_number = params.phoneNumber
181
+ @remote_csid = params.remoteCSID
182
+ @message_status = params.messageStatus
183
+ @pages = params.pages
184
+ @message_type = params.messageType
185
+ @receive_time = params.receiveTime
186
+ @caller_id = params.callerID
187
+ @duration = params.messageRecordingDuration
188
+ end
189
+
171
190
  @image = nil
172
191
  end
173
192
 
@@ -1,11 +1,23 @@
1
1
  module IncomingHelper
2
+
3
+ INTERFAX_RESPONSE = {:messageID => '2011',
4
+ :phoneNumber => '6145551212',
5
+ :remoteCSID => '923459129349',
6
+ :messageStatus => "0",
7
+ :pages => '1',
8
+ :messageSize => '58800',
9
+ :messageType => "1",
10
+ :receiveTime => "2011-01-01T09:08:11",
11
+ :callerID => '8005556666',
12
+ :messageRecordingDuration => "60"}
13
+
14
+
2
15
 
3
16
  class MockInterfaxResponse < Struct.new(:objMessageItem); end
4
17
  class ObjMessageItem < Struct.new(:messageItem); end
5
- class MessageItem < Struct.new(:messageID, :messageSize); end
6
-
18
+ class MessageItem < Struct.new(*INTERFAX_RESPONSE.keys); end
7
19
 
8
20
  def mock_getlist_response(count = 1)
9
- MockInterfaxResponse.new(ObjMessageItem.new([MessageItem.new('messageid', '200000')] * count))
21
+ MockInterfaxResponse.new(ObjMessageItem.new([MessageItem.new(*INTERFAX_RESPONSE.values)]* count))
10
22
  end
11
23
  end
@@ -79,7 +79,8 @@ describe Interfax::Incoming do
79
79
  context "fetching images" do
80
80
 
81
81
  before(:each) do
82
- @fax = Interfax::Incoming.new('message_id', '200000')
82
+ details = mock_getlist_response.objMessageItem.messageItem[0]
83
+ @fax = Interfax::Incoming.new(details)
83
84
  end
84
85
 
85
86
  it "should fetch the image when asked" do
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 2
8
- - 0
9
- version: 0.2.0
8
+ - 1
9
+ version: 0.2.1
10
10
  platform: ruby
11
11
  authors:
12
12
  - Sascha Brink
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2011-04-28 00:00:00 +02:00
17
+ date: 2011-05-04 00:00:00 +02:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency