couchdb_migrate_mastfish 0.0.0 → 0.0.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.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NDU2MzE5MmQ3ZDExMDNhMmYzOWViN2Q2NTBiOTJmZWM5MDM3YjQwYQ==
4
+ OWM3NzAxZTY4OWIwOTY2ZTQzYzU4OTYyNjAzM2EyMzNiYWMzMjhhMw==
5
5
  data.tar.gz: !binary |-
6
- ZTkwNTlmNDkxNzI1NzFlYzMxOWNkNjM2NjAwM2E1ZmRjYjZhZDBmOQ==
6
+ MDlmOTQ0OGVhYjFlYWYwNWYwY2NkZTI0ZmM3M2YwMjI3NmYxMjA3Mg==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- YTc1NzZlNWY3NDU5ZjQ2N2VlZjQ3YmZhNDVhMTE1MjBlZGM0NTA5MmRiZDZm
10
- ZDYxMTI4M2I1YWU4MDRiOTRmNmNhMDAyMDUyMGRkYmI4NzhlZWQ2YmQ1YzFh
11
- YzUzOGJiNmQ0OGEwZmZhYTAxMTZlN2E2NmQxMWNhZjk4YzdiNTI=
9
+ ODA5NTMwNWExZDBlZWRmNTFiNmFkODNlMzY4ZmRmYWI2ODQ3YmNkNzY1NGQ2
10
+ YWEwN2Y1MDlhMjZkMTg2ODg4OTdhZTFjN2M3ODY5NmIzMjMzMmExMjk2NGZm
11
+ MjcwYmU1ODkxOTcwNmRjMjQwNjhmZDdmNzlmOWE4MDNhNzZkZTI=
12
12
  data.tar.gz: !binary |-
13
- OTc4YWE0ZDg0Nzc1ZGQwMjVlYzFjMTQ4MDgzMDA4Y2U4MDdjOWQ2MmM4NjZl
14
- MjIzNGQzYTE2NjQ4YmJiYWYzOGUyZjUyZWFiNmY0MzhhODAyM2JjOTUxYzc0
15
- MWM3ZWQwYzg1NDY3NDQyMTdkMTg2OWY4MGQ0MzkzOWM5NTkzNDc=
13
+ N2I4OGY1ZDNlNDY1MTc3MmQzZmE0YWI4NjBmOWU4OWVmNjRiYzJkYTI0MDg2
14
+ Y2U2MTE5MjkwZDFlYThjNGUzMDA0Y2ViYmY5NjVlMmFhMWY0NjMxMmEwNmJl
15
+ MGJhYTFiZGY5ZjIyYWQxMWU3NmM0ZTM2MTg3ZGQzNTAwZWJhYWQ=
@@ -1,5 +1,35 @@
1
1
  class Couchdb_migrate_mastfish
2
- def self.hi
3
- puts "Hello world!"
2
+
3
+ def initialize(config)
4
+ @db = config["db"]
5
+ @views = config["views"]
6
+ p @db
7
+ p 'here'
4
8
  end
9
+
10
+ def update(http, iter)
11
+ item = JSON.parse http.response
12
+ item = transform(item)
13
+ put = EventMachine::HttpRequest.new(@db + item["_id"]).aput :body => item.to_json
14
+ put.callback do
15
+ iter.next
16
+ end
17
+ end
18
+
19
+ EM.synchrony do
20
+ concurrency = 50
21
+ urls = db.view('plays/all')
22
+
23
+ # iterator will execute async blocks until completion, .each, .inject also work!
24
+ results = EM::Synchrony::Iterator.new(urls["rows"], concurrency).each do |url, iter|
25
+ # fire async requests, on completion advance the iterator
26
+ http = EventMachine::HttpRequest.new(@db + url["id"]).aget
27
+ http.callback { update(http, iter) }
28
+ end
29
+ EventMachine.stop
30
+ end
31
+
5
32
  end
33
+
34
+
35
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: couchdb_migrate_mastfish
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0
4
+ version: 0.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Lambert