hushed 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,6 +1,7 @@
1
1
  require "nokogiri"
2
2
  require "hushed/documents/document"
3
3
  require "hushed/version"
4
+ require "hushed/message"
4
5
  require "hushed/client"
5
6
  require "hushed/blackboard"
6
7
  require "hushed/queue"
@@ -10,6 +10,22 @@ module Hushed
10
10
  def filename
11
11
  @filename ||= "#{business_unit}_#{type}_#{document_number}_#{date.strftime(DATEFORMAT)}.xml"
12
12
  end
13
+
14
+ def message_id
15
+ raise NotImplementedError("To be implemented by subclasses")
16
+ end
17
+
18
+ def warehouse
19
+ raise NotImplementedError("To be implemented by subclasses")
20
+ end
21
+
22
+ def type
23
+ raise NotImplementedError("To be implemented by subclasses")
24
+ end
25
+
26
+ def date
27
+ raise NotImplementedError("To be implemented by subclasses")
28
+ end
13
29
  end
14
30
  end
15
31
  end
@@ -45,6 +45,10 @@ module Hushed
45
45
  'ShipmentOrder'
46
46
  end
47
47
 
48
+ def message_id
49
+ document_number
50
+ end
51
+
48
52
  def document_number
49
53
  @order.id
50
54
  end
@@ -1,3 +1,3 @@
1
1
  module Hushed
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -160,10 +160,11 @@ class MessageDouble
160
160
  end
161
161
 
162
162
  class ClientDouble
163
- attr_accessor :client_id, :business_unit
163
+ attr_accessor :client_id, :business_unit, :warehouse
164
164
 
165
165
  def initialize(options = {})
166
166
  @client_id = options[:client_id]
167
167
  @business_unit = options[:business_unit]
168
+ @warehouse = options[:warehouse]
168
169
  end
169
170
  end
@@ -11,8 +11,20 @@ module Hushed
11
11
  assert_equal expected_filename, @object.filename
12
12
  end
13
13
 
14
- def test_it_should_respond_to_warehouse
15
- assert @object.respond_to?(:warehouse), "#{@object.class} does not respond to #warehouse"
14
+ def test_it_should_not_raise_an_exception_when_getting_the_warehouse
15
+ assert @object.warehouse
16
+ end
17
+
18
+ def test_it_should_not_raise_an_exception_when_getting_the_message_id
19
+ assert @object.message_id
20
+ end
21
+
22
+ def test_it_should_not_raise_an_exception_when_getting_the_type
23
+ assert @object.type
24
+ end
25
+
26
+ def test_it_should_not_raise_an_exception_when_getting_the_date
27
+ assert @object.date
16
28
  end
17
29
 
18
30
  def test_it_should_be_initializable_with_a_hash
@@ -34,10 +46,11 @@ module Hushed
34
46
  @object = DocumentDouble.new(
35
47
  :message_id => '1234567',
36
48
  :date => Time.new(2013, 04, 05, 12, 30, 15).utc,
37
- :client => @client,
49
+ :client => ClientDouble.new(:warehouse => 'fancywarehouse'),
38
50
  :type => 'Thinger',
39
51
  :business_unit => 'HUSHED',
40
- :document_number => '123456'
52
+ :document_number => '123456',
53
+ :warehouse => 'fancywarehouse'
41
54
  )
42
55
  end
43
56
  end
metadata CHANGED
@@ -2,14 +2,14 @@
2
2
  name: hushed
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.2
5
+ version: 0.0.3
6
6
  platform: ruby
7
7
  authors:
8
8
  - Chris Saunders
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-06-03 00:00:00.000000000 Z
12
+ date: 2013-06-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  prerelease: false
@@ -173,7 +173,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
173
173
  - !ruby/object:Gem::Version
174
174
  segments:
175
175
  - 0
176
- hash: 4314178419713227911
176
+ hash: 1672291159678784519
177
177
  version: '0'
178
178
  none: false
179
179
  required_rubygems_version: !ruby/object:Gem::Requirement
@@ -182,7 +182,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
182
182
  - !ruby/object:Gem::Version
183
183
  segments:
184
184
  - 0
185
- hash: 4314178419713227911
185
+ hash: 1672291159678784519
186
186
  version: '0'
187
187
  none: false
188
188
  requirements: []