activity_consumer 0.4.0

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.
Files changed (86) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.rdoc +3 -0
  4. data/Rakefile +15 -0
  5. data/app/assets/images/activity_consumer/cross.png +0 -0
  6. data/app/assets/images/activity_consumer/tick.png +0 -0
  7. data/app/assets/javascripts/activity_consumer/application.js +15 -0
  8. data/app/assets/stylesheets/activity_consumer/application.scss +43 -0
  9. data/app/assets/stylesheets/activity_consumer/table.scss +10 -0
  10. data/app/controllers/activity_consumer/application_controller.rb +3 -0
  11. data/app/controllers/activity_consumer/remote_activities_controller.rb +63 -0
  12. data/app/helpers/activity_consumer/application_helper.rb +4 -0
  13. data/app/models/activity_consumer/remote_activity.rb +21 -0
  14. data/app/services/activity_consumer/configuration.rb +24 -0
  15. data/app/services/activity_consumer/remote_activity_importer.rb +40 -0
  16. data/app/services/activity_consumer/remote_activity_rest_client.rb +77 -0
  17. data/app/views/activity_consumer/remote_activities/index.html.erb +32 -0
  18. data/app/views/activity_consumer/remote_activities/show.html.erb +37 -0
  19. data/app/views/layouts/activity_consumer/application.html.erb +17 -0
  20. data/config/locales/de.yml +18 -0
  21. data/config/routes.rb +9 -0
  22. data/db/migrate/20130725170303_create_activity_consumer_remote_activities.rb +16 -0
  23. data/db/migrate/20130817171648_add_etag_to_remote_activities.rb +5 -0
  24. data/lib/activity_consumer/engine.rb +13 -0
  25. data/lib/activity_consumer/version.rb +3 -0
  26. data/lib/activity_consumer.rb +26 -0
  27. data/lib/tasks/activity_consumer_tasks.rake +4 -0
  28. data/spec/controllers/activity_consumer/remote_activities_controller_spec.rb +72 -0
  29. data/spec/dummy/README.rdoc +261 -0
  30. data/spec/dummy/Rakefile +7 -0
  31. data/spec/dummy/app/assets/javascripts/application.js +15 -0
  32. data/spec/dummy/app/assets/stylesheets/application.css +13 -0
  33. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  34. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  35. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  36. data/spec/dummy/config/application.rb +67 -0
  37. data/spec/dummy/config/boot.rb +10 -0
  38. data/spec/dummy/config/database.yml +25 -0
  39. data/spec/dummy/config/environment.rb +5 -0
  40. data/spec/dummy/config/environments/development.rb +37 -0
  41. data/spec/dummy/config/environments/production.rb +67 -0
  42. data/spec/dummy/config/environments/test.rb +37 -0
  43. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  44. data/spec/dummy/config/initializers/inflections.rb +15 -0
  45. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  46. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  47. data/spec/dummy/config/initializers/session_store.rb +8 -0
  48. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  49. data/spec/dummy/config/locales/en.yml +5 -0
  50. data/spec/dummy/config/routes.rb +4 -0
  51. data/spec/dummy/config.ru +4 -0
  52. data/spec/dummy/db/development.sqlite3 +0 -0
  53. data/spec/dummy/db/schema.rb +28 -0
  54. data/spec/dummy/db/test.sqlite3 +0 -0
  55. data/spec/dummy/log/development.log +295 -0
  56. data/spec/dummy/log/test.log +45193 -0
  57. data/spec/dummy/public/404.html +26 -0
  58. data/spec/dummy/public/422.html +26 -0
  59. data/spec/dummy/public/500.html +25 -0
  60. data/spec/dummy/public/favicon.ico +0 -0
  61. data/spec/dummy/script/rails +6 -0
  62. data/spec/dummy/tmp/cache/assets/CB9/640/sprockets%2F055df7094ed3c73903db121ec7947478 +0 -0
  63. data/spec/dummy/tmp/cache/assets/CDD/880/sprockets%2F0994815802d4bd56bf29a9c53bab6520 +0 -0
  64. data/spec/dummy/tmp/cache/assets/CEF/070/sprockets%2F833e7786517acf485f377186a1eb1ea6 +0 -0
  65. data/spec/dummy/tmp/cache/assets/CF3/F30/sprockets%2Fc0fff716a78291e8e6e3659a50b59824 +0 -0
  66. data/spec/dummy/tmp/cache/assets/D26/790/sprockets%2F4928ff8fb0382efb99f6362f4f1e2831 +0 -0
  67. data/spec/dummy/tmp/cache/assets/D26/A70/sprockets%2Fe8aae21d8889a7c4473672ff0c5396e7 +0 -0
  68. data/spec/dummy/tmp/cache/assets/DA5/890/sprockets%2F849c2c9c50783eb3f65bc4b2d5feb0e6 +0 -0
  69. data/spec/dummy/tmp/cache/assets/DCB/E30/sprockets%2F9c1335eaffea6e3a58425adc4c28a35f +0 -0
  70. data/spec/dummy/tmp/cache/assets/DD8/8A0/sprockets%2Ffb4d7aea2f81d5c9837b9e02586f1acf +0 -0
  71. data/spec/dummy/tmp/cache/assets/E3F/5B0/sprockets%2Fc4ab6ddfbe50dfb200e08f2ad0b21e1f +0 -0
  72. data/spec/fixtures/vcr_cassettes/activities-controller.yml +36 -0
  73. data/spec/fixtures/vcr_cassettes/activities-delta.yml +36 -0
  74. data/spec/fixtures/vcr_cassettes/activities-etag-abc123.yml +40 -0
  75. data/spec/fixtures/vcr_cassettes/activities-etag-def456.yml +40 -0
  76. data/spec/fixtures/vcr_cassettes/activities-etag-xyz789.yml +36 -0
  77. data/spec/fixtures/vcr_cassettes/activities-foo-and-bar.yml +38 -0
  78. data/spec/fixtures/vcr_cassettes/activities-foo.yml +36 -0
  79. data/spec/fixtures/vcr_cassettes/activities.yml +36 -0
  80. data/spec/fixtures/vcr_cassettes/unknown-activities.yml +36 -0
  81. data/spec/models/activity_consumer/remote_activity_spec.rb +22 -0
  82. data/spec/services/activity_consumer/configuration_spec.rb +17 -0
  83. data/spec/services/activity_consumer/remote_activity_importer_spec.rb +121 -0
  84. data/spec/services/activity_consumer/remote_activity_rest_client_spec.rb +157 -0
  85. data/spec/spec_helper.rb +23 -0
  86. metadata +312 -0
@@ -0,0 +1,157 @@
1
+ require 'spec_helper'
2
+
3
+ # stub implementation of a RemoteActivity sub-class
4
+ class RemoteFooActivity < ActivityConsumer::RemoteActivity
5
+ end
6
+
7
+ module ActivityConsumer
8
+
9
+ describe RemoteActivityRestClient do
10
+
11
+ FEED_URL = 'http://inoxio-cim.dev/activities.json'
12
+ FULLEXPORT_URL = 'http://inoxio-cim.dev/activities/fullexport.json'
13
+
14
+ before(:each) do
15
+ ActivityConsumer.configure do |c|
16
+ c.activity_uri = FEED_URL
17
+ c.activity_fullexport_uri = FULLEXPORT_URL
18
+ c.import_types = ['Foo']
19
+ end
20
+ end
21
+
22
+ after(:each) do
23
+ VCR.eject_cassette
24
+ WebMock.reset!
25
+ end
26
+
27
+ describe "#request_url" do
28
+ context "on delta" do
29
+ let(:client) { ActivityConsumer::RemoteActivityRestClient.new(:delta) }
30
+ it "uses the correct url" do
31
+ client.send(:request_url).should == FEED_URL
32
+ end
33
+ end
34
+
35
+ context "on initial" do
36
+ let(:client) { ActivityConsumer::RemoteActivityRestClient.new(:initial) }
37
+ it "uses the correct url" do
38
+ client.send(:request_url).should == FULLEXPORT_URL
39
+ end
40
+ end
41
+ end
42
+
43
+ describe "#fetch" do
44
+ let(:client) { ActivityConsumer::RemoteActivityRestClient.new(:delta) }
45
+
46
+ it "returns a list of RemoteActivity items" do
47
+ VCR.insert_cassette 'activities'
48
+
49
+ activities = client.fetch
50
+
51
+ activities.class.should == Array
52
+ activities.count.should == 3 # there should be some activities in the feed
53
+ activities.each do |a|
54
+ a.should be_kind_of ActivityConsumer::RemoteActivity #each activity should be a kind of RemoteActivity
55
+ end
56
+ end
57
+
58
+ it "returns sub classes activities" do
59
+ VCR.insert_cassette 'activities-foo'
60
+
61
+ activities = client.fetch
62
+ activities.count.should == 3 # there should be some activities in the feed
63
+ activities.each do |a|
64
+ a.should be_kind_of RemoteFooActivity #each activity should be a kind of RemoteFooActivity
65
+ end
66
+ end
67
+
68
+ it "raises error on unknown activity type" do
69
+ VCR.insert_cassette 'unknown-activities'
70
+
71
+ ActivityConsumer.configure do |c|
72
+ c.import_types = ['Unknown']
73
+ end
74
+
75
+ expect {client.fetch}.to raise_error NameError
76
+ end
77
+
78
+ it "ignores activity types that are not configured to be imported" do
79
+ VCR.insert_cassette 'activities-foo-and-bar'
80
+
81
+ ActivityConsumer.configure do |c|
82
+ c.import_types = ['Foo']
83
+ end
84
+
85
+ activities = client.fetch
86
+ activities.count.should == 2 # there should be some activities in the feed
87
+ activities.each do |a|
88
+ a.should be_kind_of RemoteFooActivity #each activity should be a kind of RemoteFooActivity
89
+ end
90
+ end
91
+
92
+ it "raises a timeout if service is not available" do
93
+ stub_request(:any, //).to_timeout
94
+ expect {client.fetch}.to raise_error Timeout::Error
95
+ end
96
+
97
+ context "on delta" do
98
+ it "returns a list only of new RemoteActivity items" do
99
+ VCR.insert_cassette 'activities-delta'
100
+ latest_timestamp = Time.parse('2013-06-12T20:00:00+02:00')
101
+ RemoteFooActivity.create(timestamp: latest_timestamp, action: 'create')
102
+
103
+ activities = client.fetch
104
+ activities.each do |a|
105
+ a.timestamp.should > latest_timestamp #activity should be newer than timestamp'
106
+ end
107
+ end
108
+
109
+ it "uses a correctly formatted query parameter to get a delta" do
110
+ RemoteFooActivity.create(timestamp: Time.parse('2013-09-25T12:00:00+0200'), action: 'create')
111
+ client.send(:request_params).should == '?since=2013-09-25T12:00:00+02:00'
112
+ end
113
+
114
+ it "fallsback to full import if there is no activity yet" do
115
+ client.send(:request_params).should == ''
116
+ end
117
+ end
118
+ end
119
+
120
+ describe "#is_fresh?" do
121
+ let(:client) { ActivityConsumer::RemoteActivityRestClient.new(:delta) }
122
+
123
+ before(:each) do
124
+ RemoteFooActivity.create(etag: '"def567"', action: 'create', timestamp: 2.minutes.ago)
125
+ RemoteFooActivity.create(etag: '"abc123"', action: 'create', timestamp: Time.now)
126
+ end
127
+
128
+ it "uses a HEAD request with If-None-Match" do
129
+ RemoteActivityRestClient.should_receive(:head)
130
+ .with(anything(), hash_including(headers: {"If-None-Match" => '"abc123"'}))
131
+ .and_return(double("Response").as_null_object)
132
+
133
+ client.is_fresh?
134
+ end
135
+
136
+ it "recognizes a 304 as 'no update needed'" do
137
+ VCR.insert_cassette 'activities-etag-abc123'
138
+ client.is_fresh?.should == true
139
+ end
140
+
141
+ it "recognizes a 200 as 'update needed'" do
142
+ VCR.insert_cassette 'activities-etag-def456'
143
+ client.is_fresh?.should == false
144
+ end
145
+
146
+ it "doesn't puke if there is no actvity yet" do
147
+ RemoteFooActivity.all.each {|a| a.destroy}
148
+ RemoteActivityRestClient.stub(:head).and_return(double("Response").as_null_object)
149
+ expect {
150
+ client.is_fresh?
151
+ }.not_to raise_error
152
+ end
153
+ end
154
+
155
+ end
156
+
157
+ end
@@ -0,0 +1,23 @@
1
+ ENV['RAILS_ENV'] ||= 'test'
2
+ require File.expand_path("../dummy/config/environment.rb", __FILE__)
3
+ require 'rspec/rails'
4
+ require 'rspec/autorun'
5
+ require 'factory_girl_rails'
6
+ require 'webmock/rspec'
7
+ require 'vcr'
8
+
9
+ Rails.backtrace_cleaner.remove_silencers!
10
+ # Load support files
11
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
12
+ RSpec.configure do |config|
13
+ config.mock_with :rspec
14
+ config.use_transactional_fixtures = true
15
+ config.infer_base_class_for_anonymous_controllers = false
16
+ config.order = "random"
17
+ end
18
+
19
+ VCR.configure do |c|
20
+ c.cassette_library_dir = 'spec/fixtures/vcr_cassettes'
21
+ c.hook_into :webmock
22
+ c.ignore_localhost = true
23
+ end
metadata ADDED
@@ -0,0 +1,312 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: activity_consumer
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.4.0
5
+ platform: ruby
6
+ authors:
7
+ - Torsten Mangner
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-06-10 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.12
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.12
27
+ - !ruby/object:Gem::Dependency
28
+ name: httparty
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: sqlite3
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
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: database_cleaner
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
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: webmock
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "<"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.12'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "<"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.12'
83
+ - !ruby/object:Gem::Dependency
84
+ name: vcr
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rspec-rails
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: capybara
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: factory_girl_rails
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ description: help to consume activity feeds of CIM
140
+ email:
141
+ - torsten.mangner@inoxio.de
142
+ executables: []
143
+ extensions: []
144
+ extra_rdoc_files: []
145
+ files:
146
+ - MIT-LICENSE
147
+ - README.rdoc
148
+ - Rakefile
149
+ - app/assets/images/activity_consumer/cross.png
150
+ - app/assets/images/activity_consumer/tick.png
151
+ - app/assets/javascripts/activity_consumer/application.js
152
+ - app/assets/stylesheets/activity_consumer/application.scss
153
+ - app/assets/stylesheets/activity_consumer/table.scss
154
+ - app/controllers/activity_consumer/application_controller.rb
155
+ - app/controllers/activity_consumer/remote_activities_controller.rb
156
+ - app/helpers/activity_consumer/application_helper.rb
157
+ - app/models/activity_consumer/remote_activity.rb
158
+ - app/services/activity_consumer/configuration.rb
159
+ - app/services/activity_consumer/remote_activity_importer.rb
160
+ - app/services/activity_consumer/remote_activity_rest_client.rb
161
+ - app/views/activity_consumer/remote_activities/index.html.erb
162
+ - app/views/activity_consumer/remote_activities/show.html.erb
163
+ - app/views/layouts/activity_consumer/application.html.erb
164
+ - config/locales/de.yml
165
+ - config/routes.rb
166
+ - db/migrate/20130725170303_create_activity_consumer_remote_activities.rb
167
+ - db/migrate/20130817171648_add_etag_to_remote_activities.rb
168
+ - lib/activity_consumer.rb
169
+ - lib/activity_consumer/engine.rb
170
+ - lib/activity_consumer/version.rb
171
+ - lib/tasks/activity_consumer_tasks.rake
172
+ - spec/controllers/activity_consumer/remote_activities_controller_spec.rb
173
+ - spec/dummy/README.rdoc
174
+ - spec/dummy/Rakefile
175
+ - spec/dummy/app/assets/javascripts/application.js
176
+ - spec/dummy/app/assets/stylesheets/application.css
177
+ - spec/dummy/app/controllers/application_controller.rb
178
+ - spec/dummy/app/helpers/application_helper.rb
179
+ - spec/dummy/app/views/layouts/application.html.erb
180
+ - spec/dummy/config.ru
181
+ - spec/dummy/config/application.rb
182
+ - spec/dummy/config/boot.rb
183
+ - spec/dummy/config/database.yml
184
+ - spec/dummy/config/environment.rb
185
+ - spec/dummy/config/environments/development.rb
186
+ - spec/dummy/config/environments/production.rb
187
+ - spec/dummy/config/environments/test.rb
188
+ - spec/dummy/config/initializers/backtrace_silencers.rb
189
+ - spec/dummy/config/initializers/inflections.rb
190
+ - spec/dummy/config/initializers/mime_types.rb
191
+ - spec/dummy/config/initializers/secret_token.rb
192
+ - spec/dummy/config/initializers/session_store.rb
193
+ - spec/dummy/config/initializers/wrap_parameters.rb
194
+ - spec/dummy/config/locales/en.yml
195
+ - spec/dummy/config/routes.rb
196
+ - spec/dummy/db/development.sqlite3
197
+ - spec/dummy/db/schema.rb
198
+ - spec/dummy/db/test.sqlite3
199
+ - spec/dummy/log/development.log
200
+ - spec/dummy/log/test.log
201
+ - spec/dummy/public/404.html
202
+ - spec/dummy/public/422.html
203
+ - spec/dummy/public/500.html
204
+ - spec/dummy/public/favicon.ico
205
+ - spec/dummy/script/rails
206
+ - spec/dummy/tmp/cache/assets/CB9/640/sprockets%2F055df7094ed3c73903db121ec7947478
207
+ - spec/dummy/tmp/cache/assets/CDD/880/sprockets%2F0994815802d4bd56bf29a9c53bab6520
208
+ - spec/dummy/tmp/cache/assets/CEF/070/sprockets%2F833e7786517acf485f377186a1eb1ea6
209
+ - spec/dummy/tmp/cache/assets/CF3/F30/sprockets%2Fc0fff716a78291e8e6e3659a50b59824
210
+ - spec/dummy/tmp/cache/assets/D26/790/sprockets%2F4928ff8fb0382efb99f6362f4f1e2831
211
+ - spec/dummy/tmp/cache/assets/D26/A70/sprockets%2Fe8aae21d8889a7c4473672ff0c5396e7
212
+ - spec/dummy/tmp/cache/assets/DA5/890/sprockets%2F849c2c9c50783eb3f65bc4b2d5feb0e6
213
+ - spec/dummy/tmp/cache/assets/DCB/E30/sprockets%2F9c1335eaffea6e3a58425adc4c28a35f
214
+ - spec/dummy/tmp/cache/assets/DD8/8A0/sprockets%2Ffb4d7aea2f81d5c9837b9e02586f1acf
215
+ - spec/dummy/tmp/cache/assets/E3F/5B0/sprockets%2Fc4ab6ddfbe50dfb200e08f2ad0b21e1f
216
+ - spec/fixtures/vcr_cassettes/activities-controller.yml
217
+ - spec/fixtures/vcr_cassettes/activities-delta.yml
218
+ - spec/fixtures/vcr_cassettes/activities-etag-abc123.yml
219
+ - spec/fixtures/vcr_cassettes/activities-etag-def456.yml
220
+ - spec/fixtures/vcr_cassettes/activities-etag-xyz789.yml
221
+ - spec/fixtures/vcr_cassettes/activities-foo-and-bar.yml
222
+ - spec/fixtures/vcr_cassettes/activities-foo.yml
223
+ - spec/fixtures/vcr_cassettes/activities.yml
224
+ - spec/fixtures/vcr_cassettes/unknown-activities.yml
225
+ - spec/models/activity_consumer/remote_activity_spec.rb
226
+ - spec/services/activity_consumer/configuration_spec.rb
227
+ - spec/services/activity_consumer/remote_activity_importer_spec.rb
228
+ - spec/services/activity_consumer/remote_activity_rest_client_spec.rb
229
+ - spec/spec_helper.rb
230
+ homepage: http://inoxio.de
231
+ licenses: []
232
+ metadata: {}
233
+ post_install_message:
234
+ rdoc_options: []
235
+ require_paths:
236
+ - lib
237
+ required_ruby_version: !ruby/object:Gem::Requirement
238
+ requirements:
239
+ - - ">="
240
+ - !ruby/object:Gem::Version
241
+ version: '0'
242
+ required_rubygems_version: !ruby/object:Gem::Requirement
243
+ requirements:
244
+ - - ">="
245
+ - !ruby/object:Gem::Version
246
+ version: '0'
247
+ requirements: []
248
+ rubyforge_project:
249
+ rubygems_version: 2.6.4
250
+ signing_key:
251
+ specification_version: 4
252
+ summary: help to consume activity feeds of CIM
253
+ test_files:
254
+ - spec/spec_helper.rb
255
+ - spec/dummy/app/controllers/application_controller.rb
256
+ - spec/dummy/app/views/layouts/application.html.erb
257
+ - spec/dummy/app/assets/javascripts/application.js
258
+ - spec/dummy/app/assets/stylesheets/application.css
259
+ - spec/dummy/app/helpers/application_helper.rb
260
+ - spec/dummy/config/routes.rb
261
+ - spec/dummy/config/locales/en.yml
262
+ - spec/dummy/config/environments/production.rb
263
+ - spec/dummy/config/environments/development.rb
264
+ - spec/dummy/config/environments/test.rb
265
+ - spec/dummy/config/environment.rb
266
+ - spec/dummy/config/application.rb
267
+ - spec/dummy/config/database.yml
268
+ - spec/dummy/config/boot.rb
269
+ - spec/dummy/config/initializers/backtrace_silencers.rb
270
+ - spec/dummy/config/initializers/mime_types.rb
271
+ - spec/dummy/config/initializers/session_store.rb
272
+ - spec/dummy/config/initializers/wrap_parameters.rb
273
+ - spec/dummy/config/initializers/secret_token.rb
274
+ - spec/dummy/config/initializers/inflections.rb
275
+ - spec/dummy/config.ru
276
+ - spec/dummy/script/rails
277
+ - spec/dummy/Rakefile
278
+ - spec/dummy/public/favicon.ico
279
+ - spec/dummy/public/422.html
280
+ - spec/dummy/public/500.html
281
+ - spec/dummy/public/404.html
282
+ - spec/dummy/db/schema.rb
283
+ - spec/dummy/db/test.sqlite3
284
+ - spec/dummy/db/development.sqlite3
285
+ - spec/dummy/log/test.log
286
+ - spec/dummy/log/development.log
287
+ - spec/dummy/tmp/cache/assets/CB9/640/sprockets%2F055df7094ed3c73903db121ec7947478
288
+ - spec/dummy/tmp/cache/assets/CDD/880/sprockets%2F0994815802d4bd56bf29a9c53bab6520
289
+ - spec/dummy/tmp/cache/assets/DCB/E30/sprockets%2F9c1335eaffea6e3a58425adc4c28a35f
290
+ - spec/dummy/tmp/cache/assets/CEF/070/sprockets%2F833e7786517acf485f377186a1eb1ea6
291
+ - spec/dummy/tmp/cache/assets/D26/790/sprockets%2F4928ff8fb0382efb99f6362f4f1e2831
292
+ - spec/dummy/tmp/cache/assets/D26/A70/sprockets%2Fe8aae21d8889a7c4473672ff0c5396e7
293
+ - spec/dummy/tmp/cache/assets/E3F/5B0/sprockets%2Fc4ab6ddfbe50dfb200e08f2ad0b21e1f
294
+ - spec/dummy/tmp/cache/assets/DD8/8A0/sprockets%2Ffb4d7aea2f81d5c9837b9e02586f1acf
295
+ - spec/dummy/tmp/cache/assets/DA5/890/sprockets%2F849c2c9c50783eb3f65bc4b2d5feb0e6
296
+ - spec/dummy/tmp/cache/assets/CF3/F30/sprockets%2Fc0fff716a78291e8e6e3659a50b59824
297
+ - spec/dummy/README.rdoc
298
+ - spec/models/activity_consumer/remote_activity_spec.rb
299
+ - spec/fixtures/vcr_cassettes/activities-etag-abc123.yml
300
+ - spec/fixtures/vcr_cassettes/activities.yml
301
+ - spec/fixtures/vcr_cassettes/activities-controller.yml
302
+ - spec/fixtures/vcr_cassettes/activities-foo.yml
303
+ - spec/fixtures/vcr_cassettes/activities-etag-def456.yml
304
+ - spec/fixtures/vcr_cassettes/activities-delta.yml
305
+ - spec/fixtures/vcr_cassettes/unknown-activities.yml
306
+ - spec/fixtures/vcr_cassettes/activities-etag-xyz789.yml
307
+ - spec/fixtures/vcr_cassettes/activities-foo-and-bar.yml
308
+ - spec/controllers/activity_consumer/remote_activities_controller_spec.rb
309
+ - spec/services/activity_consumer/configuration_spec.rb
310
+ - spec/services/activity_consumer/remote_activity_rest_client_spec.rb
311
+ - spec/services/activity_consumer/remote_activity_importer_spec.rb
312
+ has_rdoc: