rails-pipeline 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +227 -0
  4. data/Rakefile +27 -0
  5. data/bin/pipeline +138 -0
  6. data/bin/redis-to-ironmq.rb +20 -0
  7. data/lib/rails-pipeline.rb +34 -0
  8. data/lib/rails-pipeline/emitter.rb +121 -0
  9. data/lib/rails-pipeline/handlers/activerecord_crud.rb +35 -0
  10. data/lib/rails-pipeline/handlers/base_handler.rb +19 -0
  11. data/lib/rails-pipeline/handlers/logger.rb +13 -0
  12. data/lib/rails-pipeline/ironmq_publisher.rb +37 -0
  13. data/lib/rails-pipeline/ironmq_pulling_subscriber.rb +96 -0
  14. data/lib/rails-pipeline/ironmq_subscriber.rb +21 -0
  15. data/lib/rails-pipeline/pipeline_version.rb +40 -0
  16. data/lib/rails-pipeline/protobuf/encrypted_message.pb.rb +37 -0
  17. data/lib/rails-pipeline/protobuf/encrypted_message.proto +18 -0
  18. data/lib/rails-pipeline/redis_forwarder.rb +207 -0
  19. data/lib/rails-pipeline/redis_ironmq_forwarder.rb +12 -0
  20. data/lib/rails-pipeline/redis_publisher.rb +71 -0
  21. data/lib/rails-pipeline/sns_publisher.rb +62 -0
  22. data/lib/rails-pipeline/subscriber.rb +185 -0
  23. data/lib/rails-pipeline/symmetric_encryptor.rb +127 -0
  24. data/lib/rails-pipeline/version.rb +3 -0
  25. data/lib/tasks/rails-pipeline_tasks.rake +4 -0
  26. data/spec/emitter_spec.rb +141 -0
  27. data/spec/handlers/activerecord_crud_spec.rb +100 -0
  28. data/spec/handlers/logger_spec.rb +42 -0
  29. data/spec/ironmp_pulling_subscriber_spec.rb +98 -0
  30. data/spec/ironmq_publisher_spec.rb +37 -0
  31. data/spec/pipeline_version_spec.rb +35 -0
  32. data/spec/redis_forwarder_spec.rb +99 -0
  33. data/spec/redis_publisher_spec.rb +36 -0
  34. data/spec/sns_publisher_spec.rb +28 -0
  35. data/spec/subscriber_spec.rb +278 -0
  36. data/spec/symmetric_encryptor_spec.rb +21 -0
  37. metadata +175 -0
@@ -0,0 +1,21 @@
1
+ require "spec_helper"
2
+
3
+ require "pipeline_helper"
4
+
5
+ describe RailsPipeline::SymmetricEncryptor do
6
+ before do
7
+ @plaintext = "Stately, plump Buck Mulligan came from the stairhead, bearing a bowl of lather on which a mirror and a razor lay crossed."
8
+ end
9
+
10
+ it "should round-trip encrypt string" do
11
+ payload = DefaultEmitter.encrypt(@plaintext)
12
+ expect(payload.salt).not_to be_nil
13
+ expect(payload.iv).not_to be_nil
14
+ expect(payload.ciphertext).not_to be_nil
15
+
16
+
17
+ roundtrip = DefaultEmitter.decrypt(payload)
18
+ expect(roundtrip).to eq(@plaintext)
19
+ end
20
+
21
+ end
metadata ADDED
@@ -0,0 +1,175 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rails-pipeline
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.1.1
5
+ platform: ruby
6
+ authors:
7
+ - Andy O'Neill
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-10-30 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '3.2'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '3.2'
27
+ - !ruby/object:Gem::Dependency
28
+ name: redis
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: iron_mq
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: aws-sdk
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: ruby-protocol-buffers
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ~>
74
+ - !ruby/object:Gem::Version
75
+ version: 1.5.1
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ~>
81
+ - !ruby/object:Gem::Version
82
+ version: 1.5.1
83
+ - !ruby/object:Gem::Dependency
84
+ name: sinatra
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ description: Emit versioned changes to a message queue when saving Rails models.
98
+ email:
99
+ - aoneill@harrys.com
100
+ executables:
101
+ - pipeline
102
+ - redis-to-ironmq.rb
103
+ extensions: []
104
+ extra_rdoc_files: []
105
+ files:
106
+ - lib/rails-pipeline/emitter.rb
107
+ - lib/rails-pipeline/handlers/activerecord_crud.rb
108
+ - lib/rails-pipeline/handlers/base_handler.rb
109
+ - lib/rails-pipeline/handlers/logger.rb
110
+ - lib/rails-pipeline/ironmq_publisher.rb
111
+ - lib/rails-pipeline/ironmq_pulling_subscriber.rb
112
+ - lib/rails-pipeline/ironmq_subscriber.rb
113
+ - lib/rails-pipeline/pipeline_version.rb
114
+ - lib/rails-pipeline/protobuf/encrypted_message.pb.rb
115
+ - lib/rails-pipeline/protobuf/encrypted_message.proto
116
+ - lib/rails-pipeline/redis_forwarder.rb
117
+ - lib/rails-pipeline/redis_ironmq_forwarder.rb
118
+ - lib/rails-pipeline/redis_publisher.rb
119
+ - lib/rails-pipeline/sns_publisher.rb
120
+ - lib/rails-pipeline/subscriber.rb
121
+ - lib/rails-pipeline/symmetric_encryptor.rb
122
+ - lib/rails-pipeline/version.rb
123
+ - lib/rails-pipeline.rb
124
+ - lib/tasks/rails-pipeline_tasks.rake
125
+ - bin/pipeline
126
+ - bin/redis-to-ironmq.rb
127
+ - MIT-LICENSE
128
+ - Rakefile
129
+ - README.md
130
+ - spec/emitter_spec.rb
131
+ - spec/handlers/activerecord_crud_spec.rb
132
+ - spec/handlers/logger_spec.rb
133
+ - spec/ironmp_pulling_subscriber_spec.rb
134
+ - spec/ironmq_publisher_spec.rb
135
+ - spec/pipeline_version_spec.rb
136
+ - spec/redis_forwarder_spec.rb
137
+ - spec/redis_publisher_spec.rb
138
+ - spec/sns_publisher_spec.rb
139
+ - spec/subscriber_spec.rb
140
+ - spec/symmetric_encryptor_spec.rb
141
+ homepage: https://github.com/harrystech/rails-pipeline
142
+ licenses: []
143
+ metadata: {}
144
+ post_install_message:
145
+ rdoc_options: []
146
+ require_paths:
147
+ - lib
148
+ required_ruby_version: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - '>='
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ required_rubygems_version: !ruby/object:Gem::Requirement
154
+ requirements:
155
+ - - '>='
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
158
+ requirements: []
159
+ rubyforge_project:
160
+ rubygems_version: 2.0.14
161
+ signing_key:
162
+ specification_version: 4
163
+ summary: Data Pipeline for distributed collection of Rails applications
164
+ test_files:
165
+ - spec/emitter_spec.rb
166
+ - spec/handlers/activerecord_crud_spec.rb
167
+ - spec/handlers/logger_spec.rb
168
+ - spec/ironmp_pulling_subscriber_spec.rb
169
+ - spec/ironmq_publisher_spec.rb
170
+ - spec/pipeline_version_spec.rb
171
+ - spec/redis_forwarder_spec.rb
172
+ - spec/redis_publisher_spec.rb
173
+ - spec/sns_publisher_spec.rb
174
+ - spec/subscriber_spec.rb
175
+ - spec/symmetric_encryptor_spec.rb