hushed 0.0.2 → 0.0.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.
@@ -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: []