alephant-publisher-queue 2.0.3 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: dc412e67c99e63afbd3b3047bd216b4a5e9cef36
4
- data.tar.gz: 978ee2b929157c56427ea77075155d69ee22f810
3
+ metadata.gz: f4d98099bd45f4d2866ec8d2b3f3124469692f68
4
+ data.tar.gz: b8aa5f4a830eb1dc4b4461caf569216509dc368e
5
5
  SHA512:
6
- metadata.gz: 447c80ff9b396c53ac1419a6138de9750d53269fd392796a85979d5581fc52dabe1e84380bb2fe96bdf38b7540323434f87ff90a1023fa349d478b9a0788d91a
7
- data.tar.gz: 58dd8b9690b4b13f8bc567a450cde9fcd390c0698cbb69d72c6ba4303a171d215f30758d573c4f1c3773bc4621840eda737bd8df9079477ba2b1df03c6bb7f71
6
+ metadata.gz: 396d3b56069bf488e52b33f321dbef3e56eb64c9c0488b415074fd04d491749e24c9a6f31f3d40707e08f1c4a395d4d04a47499216747b18e30cdd09a4a88f7c
7
+ data.tar.gz: f20f7ace8b0b0027a781a3ce95dd357b3c2d8abf11e12277ba52a5f9fe7090493c580549dd33988fb2f8f3a7a4ceb6029b46bbd87b37a969490892621ba7bd80
@@ -17,6 +17,7 @@ module Alephant
17
17
  :visibility_timeout,
18
18
  :aws_account_id,
19
19
  :log_archive_message,
20
+ :log_validator,
20
21
  :async_store
21
22
  ]
22
23
 
@@ -9,12 +9,13 @@ module Alephant
9
9
  class Archiver
10
10
  include Logger
11
11
 
12
- attr_reader :cache, :async, :log_message_body
12
+ attr_reader :cache, :async, :log_message_body, :log_validator
13
13
 
14
14
  def initialize(cache, opts)
15
15
  @cache = cache
16
16
  @async = opts[:async_store]
17
17
  @log_message_body = opts[:log_archive_message]
18
+ @log_validator = opts[:log_validator] || -> _ { true }
18
19
  end
19
20
 
20
21
  def see(message)
@@ -45,23 +46,10 @@ module Alephant
45
46
  "event" => "MessageStored",
46
47
  "messageBody" => msg_body,
47
48
  "method" => "#{self.class}#store"
48
- ) if newsbeat_uri? msg_body
49
+ ) if log_validator.(msg_body)
49
50
  end
50
51
  end
51
52
 
52
- def newsbeat_uri?(msg_body)
53
- jsb = ::JSON.parse(msg_body)
54
- msg = ::JSON.parse(jsb["Message"]) if jsb["Message"]
55
-
56
- true if verify_message_content msg
57
- rescue ::JSON::ParserError
58
- false
59
- end
60
-
61
- def verify_message_content(msg)
62
- !msg.nil? && msg["uri"] && msg["uri"] =~ /content\/asset\/newsbeat/
63
- end
64
-
65
53
  def store_item(message)
66
54
  cache.put(
67
55
  cache_key(message.id),
@@ -1,7 +1,7 @@
1
1
  module Alephant
2
2
  module Publisher
3
3
  module Queue
4
- VERSION = "2.0.3"
4
+ VERSION = "2.1.0"
5
5
  end
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alephant-publisher-queue
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.3
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - BBC News
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-05 00:00:00.000000000 Z
11
+ date: 2016-01-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement