alephant-publisher 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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f44b00fc8c5bf3449982ad798e1f536d142c8c2b
4
- data.tar.gz: b62f35e5ee4ceff03f89f76353f00ec52e0c450f
3
+ metadata.gz: cd6fe36891405dfb2be2c30591db6e4e14c269c4
4
+ data.tar.gz: 8ad4c2b7d371f67e9eb4b19680b4bff2342d8a1e
5
5
  SHA512:
6
- metadata.gz: a6149eaaaaa17d99f411860809614c2d284a0a6aa9dd0357bc753c089e462e288af8e885e9cea7a7c92cd9e38ba68756e75909a0b9a1a564046cbfea9248942f
7
- data.tar.gz: 0eb58538a7dff52d0720746afb8d9f9468f94a99559a5cc0df148ea62bd45d941b55bb7c08617bb65b149e833ed90d189233fb9c8b52f9c8287796ff48ddf8bb
6
+ metadata.gz: 732114e16a6d671da86c8276988d1b3a7c33f6d27845f533620d2db58a2168860c5487845e9ffc545ac525f672c22408004a8813e4789444933f811e7f2b0291
7
+ data.tar.gz: 19f0a955d849329e4bde369606a878031b5a751dd758563dff7c0df13760c9e2355e057d07f3980f60818eaad04fd65182e090ffb046ba43ec205f2e2c91f62c
data/README.md CHANGED
@@ -51,13 +51,14 @@ set_last_seen_proc = Proc.new do |data|
51
51
  end
52
52
 
53
53
  opts = {
54
- :s3_bucket_id => 'bucket-id',
55
- :s3_object_path => 'path/to/object',
56
- :s3_object_id => 'object_id',
57
- :table_name => 'your_dynamo_db_table',
58
- :sqs_queue_id => 'https://your_amazon_sqs_queue_url',
59
- :sequential_proc => sequential_proc,
60
- :set_last_seen_proc => set_last_seen_proc
54
+ :s3_bucket_id => 'bucket-id',
55
+ :s3_object_path => 'path/to/object',
56
+ :s3_object_id => 'object_id',
57
+ :sequencer_table_name => 'your_dynamo_db_table',
58
+ :sqs_queue_url => 'https://your_amazon_sqs_queue_url',
59
+ :sequential_proc => sequential_proc,
60
+ :set_last_seen_proc => set_last_seen_proc,
61
+ :lookup_table_name => 'your_lookup_table'
61
62
  }
62
63
 
63
64
  logger = Logger.new
@@ -6,28 +6,34 @@ module Alephant
6
6
  attr_reader :mapper, :cache
7
7
 
8
8
  def initialize(opts)
9
- @renderer_id =
10
- opts[:renderer_id]
9
+ @renderer_id = opts[:renderer_id]
10
+
11
11
  @cache = Cache.new(
12
12
  opts[:s3_bucket_id],
13
13
  opts[:s3_object_path]
14
14
  )
15
+
15
16
  @mapper = RenderMapper.new(
16
17
  opts[:renderer_id],
17
18
  opts[:view_path]
18
19
  )
19
- @lookup_table_name =
20
- opts[:lookup_table_name]
20
+
21
+ @lookup_table_name = opts[:lookup_table_name]
21
22
  end
22
23
 
23
24
  def write(data, version = nil)
25
+ lookup = Lookup.create(@lookup_table_name)
26
+
24
27
  mapper.generate(data).each do |id, r|
25
- store(id, r.render, data[:options], version)
28
+ store(id, r.render, data[:options], version, lookup)
26
29
  end
30
+
31
+ lookup.process!
27
32
  end
28
33
 
29
34
  private
30
- def store(id, content, options, version)
35
+
36
+ def store(id, content, options, version, lookup)
31
37
  location = location_for(
32
38
  id,
33
39
  Crimp.signature(options),
@@ -35,11 +41,7 @@ module Alephant
35
41
  )
36
42
 
37
43
  cache.put(location, content)
38
- lookup(id).write(options, location)
39
- end
40
-
41
- def lookup(component_id)
42
- Lookup.create(@lookup_table_name, component_id)
44
+ lookup.batch_write(id, options, location)
43
45
  end
44
46
 
45
47
  def location_for(component_id, options_hash, version = nil)
@@ -1,5 +1,5 @@
1
1
  module Alephant
2
2
  module Publisher
3
- VERSION = "0.0.2"
3
+ VERSION = "0.0.3"
4
4
  end
5
5
  end
data/spec/spec_helper.rb CHANGED
@@ -1,11 +1,8 @@
1
- # $: << File.join(File.dirname(__FILE__),"..", "lib")
2
-
3
1
  require 'pry'
4
2
  require 'alephant/publisher'
5
3
  require 'alephant/publisher/models/writer'
6
4
  require 'alephant/publisher/models/queue'
7
5
  require 'alephant/publisher/models/render_mapper'
8
- # require 'logger'
9
6
  require 'alephant/renderer'
10
7
  require 'alephant/support/parser'
11
8
 
data/spec/writer_spec.rb CHANGED
@@ -38,27 +38,46 @@ describe Alephant::Publisher::Writer do
38
38
 
39
39
  Alephant::Lookup
40
40
  .should_receive(:create)
41
- .with('lookup_table_name', 'component_id')
41
+ .with('lookup_table_name')
42
42
  .and_call_original
43
43
 
44
- Alephant::Lookup::Lookup.any_instance
44
+ Alephant::Lookup::LookupHelper.any_instance
45
45
  .stub(:initialize)
46
46
 
47
- Alephant::Lookup::Lookup.any_instance
48
- .should_receive(:write)
49
- .with(options, 'renderer_id/component_id/42de5e5c6f74b9fe4d956704a6d9e1c7/0')
47
+ Alephant::Lookup::LookupTable
48
+ .any_instance
49
+ .stub(:table_name)
50
+
51
+ Alephant::Lookup::LookupHelper.any_instance
52
+ .should_receive(:batch_write)
53
+ .with(
54
+ 'component_id',
55
+ options,
56
+ 'renderer_id/component_id/42de5e5c6f74b9fe4d956704a6d9e1c7/0'
57
+ )
58
+
59
+ Alephant::Lookup::LookupHelper.any_instance
60
+ .should_receive(:process!)
50
61
 
51
62
  subject.write(data, 0)
52
63
  end
53
64
 
54
65
  it "should put the correct location, content to cache" do
55
- Alephant::Lookup::Lookup
66
+ Alephant::Lookup::LookupHelper
56
67
  .any_instance
57
68
  .stub(:initialize)
58
69
 
59
- Alephant::Lookup::Lookup
70
+ Alephant::Lookup::LookupHelper
71
+ .any_instance
72
+ .stub(:batch_write)
73
+
74
+ Alephant::Lookup::LookupHelper
75
+ .any_instance
76
+ .stub(:process!)
77
+
78
+ Alephant::Lookup::LookupTable
60
79
  .any_instance
61
- .stub(:write)
80
+ .stub(:table_name)
62
81
 
63
82
  Alephant::Cache.any_instance
64
83
  .should_receive(:put)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alephant-publisher
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Integralist
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-24 00:00:00.000000000 Z
11
+ date: 2014-02-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler