activity_engine 0.0.2

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 (73) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +10 -0
  3. data/.rspec +2 -0
  4. data/Gemfile +23 -0
  5. data/Guardfile +10 -0
  6. data/LICENSE.txt +17 -0
  7. data/README.md +39 -0
  8. data/Rakefile +11 -0
  9. data/TODO.md +24 -0
  10. data/activity_engine.gemspec +31 -0
  11. data/app/assets/images/activity_engine/.gitkeep +0 -0
  12. data/app/assets/javascripts/activity_engine/application.js +15 -0
  13. data/app/assets/stylesheets/activity_engine/application.css +13 -0
  14. data/app/controllers/activity_engine/application_controller.rb +4 -0
  15. data/app/helpers/activity_engine/application_helper.rb +4 -0
  16. data/app/models/activity_engine/activity.rb +28 -0
  17. data/app/views/layouts/activity_engine/application.html.erb +14 -0
  18. data/config/routes.rb +2 -0
  19. data/db/migrate/20130722162331_create_activity_engine_activities.rb +13 -0
  20. data/lib/activity_engine/activity_builder.rb +45 -0
  21. data/lib/activity_engine/activity_data_structure.rb +10 -0
  22. data/lib/activity_engine/context_builder.rb +40 -0
  23. data/lib/activity_engine/engine.rb +17 -0
  24. data/lib/activity_engine/exceptions.rb +7 -0
  25. data/lib/activity_engine/version.rb +3 -0
  26. data/lib/activity_engine.rb +14 -0
  27. data/lib/generators/activity_engine/install_generator.rb +19 -0
  28. data/lib/generators/activity_engine/register_generator.rb +28 -0
  29. data/lib/generators/activity_engine/templates/activity_engine_config.rb +6 -0
  30. data/lib/tasks/activity_engine_tasks.rake +4 -0
  31. data/script/rails +8 -0
  32. data/spec/dummy/README.rdoc +261 -0
  33. data/spec/dummy/Rakefile +7 -0
  34. data/spec/dummy/app/assets/javascripts/application.js +15 -0
  35. data/spec/dummy/app/assets/stylesheets/application.css +13 -0
  36. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  37. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  38. data/spec/dummy/app/mailers/.gitkeep +0 -0
  39. data/spec/dummy/app/models/.gitkeep +0 -0
  40. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  41. data/spec/dummy/config/application.rb +59 -0
  42. data/spec/dummy/config/boot.rb +10 -0
  43. data/spec/dummy/config/database.yml +25 -0
  44. data/spec/dummy/config/environment.rb +5 -0
  45. data/spec/dummy/config/environments/development.rb +37 -0
  46. data/spec/dummy/config/environments/production.rb +67 -0
  47. data/spec/dummy/config/environments/test.rb +37 -0
  48. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  49. data/spec/dummy/config/initializers/inflections.rb +15 -0
  50. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  51. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  52. data/spec/dummy/config/initializers/session_store.rb +8 -0
  53. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  54. data/spec/dummy/config/locales/en.yml +5 -0
  55. data/spec/dummy/config/routes.rb +4 -0
  56. data/spec/dummy/config.ru +4 -0
  57. data/spec/dummy/db/schema.rb +28 -0
  58. data/spec/dummy/lib/assets/.gitkeep +0 -0
  59. data/spec/dummy/log/.gitkeep +0 -0
  60. data/spec/dummy/public/404.html +26 -0
  61. data/spec/dummy/public/422.html +26 -0
  62. data/spec/dummy/public/500.html +25 -0
  63. data/spec/dummy/public/favicon.ico +0 -0
  64. data/spec/dummy/script/rails +6 -0
  65. data/spec/lib/activity_engine/activity_builder_spec.rb +54 -0
  66. data/spec/lib/activity_engine/activity_data_structure_spec.rb +10 -0
  67. data/spec/lib/activity_engine/context_builder_spec.rb +83 -0
  68. data/spec/lib/activity_engine_spec.rb +42 -0
  69. data/spec/models/activity_engine/activity_spec.rb +42 -0
  70. data/spec/spec_helper.rb +35 -0
  71. data/spec/spec_patch.rb +43 -0
  72. data/spec/support/persistence_layer.rb +14 -0
  73. metadata +198 -0
@@ -0,0 +1,28 @@
1
+ # encoding: UTF-8
2
+ # This file is auto-generated from the current state of the database. Instead
3
+ # of editing this file, please use the migrations feature of Active Record to
4
+ # incrementally modify your database, and then regenerate this schema definition.
5
+ #
6
+ # Note that this schema.rb definition is the authoritative source for your
7
+ # database schema. If you need to create the application database on another
8
+ # system, you should be using db:schema:load, not running all the migrations
9
+ # from scratch. The latter is a flawed and unsustainable approach (the more migrations
10
+ # you'll amass, the slower it'll run and the greater likelihood for issues).
11
+ #
12
+ # It's strongly recommended to check this file into your version control system.
13
+
14
+ ActiveRecord::Schema.define(:version => 20130722162331) do
15
+
16
+ create_table "activity_engine_activities", :force => true do |t|
17
+ t.integer "user_id"
18
+ t.string "subject_type", :null => false
19
+ t.string "subject_id", :null => false
20
+ t.string "activity_type", :null => false
21
+ t.text "message"
22
+ t.datetime "created_at", :null => false
23
+ t.datetime "updated_at", :null => false
24
+ end
25
+
26
+ add_index "activity_engine_activities", ["user_id"], :name => "index_activity_engine_activities_on_user_id"
27
+
28
+ end
File without changes
File without changes
@@ -0,0 +1,26 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The page you were looking for doesn't exist (404)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/404.html -->
21
+ <div class="dialog">
22
+ <h1>The page you were looking for doesn't exist.</h1>
23
+ <p>You may have mistyped the address or the page may have moved.</p>
24
+ </div>
25
+ </body>
26
+ </html>
@@ -0,0 +1,26 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The change you wanted was rejected (422)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/422.html -->
21
+ <div class="dialog">
22
+ <h1>The change you wanted was rejected.</h1>
23
+ <p>Maybe you tried to change something you didn't have access to.</p>
24
+ </div>
25
+ </body>
26
+ </html>
@@ -0,0 +1,25 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>We're sorry, but something went wrong (500)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/500.html -->
21
+ <div class="dialog">
22
+ <h1>We're sorry, but something went wrong.</h1>
23
+ </div>
24
+ </body>
25
+ </html>
File without changes
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+ # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
3
+
4
+ APP_PATH = File.expand_path('../../config/application', __FILE__)
5
+ require File.expand_path('../../config/boot', __FILE__)
6
+ require 'rails/commands'
@@ -0,0 +1,54 @@
1
+ require 'spec_helper'
2
+ require 'activity_engine/activity_builder'
3
+
4
+ describe ActivityEngine::ActivityBuilder do
5
+ let(:configuration) {
6
+ lambda {|config,context|
7
+ config.subject = context
8
+ config.message = 'Hello World!'
9
+ }
10
+ }
11
+ let(:receiver) { lambda {|attributes|} }
12
+ subject { ActivityEngine::ActivityBuilder.new(receiver, configuration) }
13
+ let(:persisted_object) { double(persisted?: true, to_param: '1234')}
14
+ let(:non_persisted_object) { double(persisted?: false, to_param: nil)}
15
+
16
+ describe '#to_activity_data_structure' do
17
+ it do
18
+ expect {
19
+ subject.to_activity_data_structure
20
+ }.to_not raise_error
21
+ end
22
+ end
23
+
24
+ describe '#call' do
25
+ it "" do
26
+ receiver.should_receive(:call)
27
+ expect {
28
+ subject.call(persisted_object)
29
+ }.to change{subject.message}.from(nil).to("Hello World!")
30
+ end
31
+ end
32
+
33
+ describe '#subject=' do
34
+ it 'accepts a subject that is persisted' do
35
+ expect {
36
+ subject.subject = persisted_object
37
+ }.to_not raise_error
38
+ end
39
+ it 'rejects a subject that is not persisted' do
40
+ expect {
41
+ subject.subject = non_persisted_object
42
+ }.to raise_error
43
+ end
44
+ it 'rejects a subject that does not respond_to persisted?' do
45
+ expect {
46
+ subject.subject = ""
47
+ }.to raise_error(NoMethodError)
48
+ end
49
+ end
50
+
51
+ it { should respond_to :current_user= }
52
+ it { should respond_to :message= }
53
+ it { should respond_to :activity_type= }
54
+ end
@@ -0,0 +1,10 @@
1
+ require 'spec_helper'
2
+ require 'activity_engine/activity_data_structure'
3
+
4
+ describe ActivityEngine::ActivityDataStructure do
5
+ subject { ActivityEngine::ActivityDataStructure.new }
6
+ it { should respond_to :current_user }
7
+ it { should respond_to :subject }
8
+ it { should respond_to :message }
9
+ it { should respond_to :activity_type }
10
+ end
@@ -0,0 +1,83 @@
1
+ require 'spec_helper'
2
+ require 'activity_engine/context_builder'
3
+
4
+ describe ActivityEngine::ContextBuilder do
5
+ class MockContext
6
+ attr_reader :parameter, :counter
7
+ def initialize(parameter)
8
+ @parameter = parameter
9
+ @counter = 0
10
+ end
11
+ def increment_counter; @counter += 1; end
12
+ end
13
+ let(:class_name) { 'MockContext' }
14
+
15
+ subject { ActivityEngine::ContextBuilder.new(class_name, method_name) }
16
+
17
+ describe 'wrap!' do
18
+ let(:wrapper_logger) { [] }
19
+ let(:parameter) { 'hello world' }
20
+ let(:object) { MockContext.new(parameter)}
21
+ let(:method_name) { 'increment_counter' }
22
+ let(:wrapper) {
23
+ lambda { |context|
24
+ wrapper_logger << context
25
+ }
26
+ }
27
+ it 'wraps the context method and yields' do
28
+ subject.wrap!(wrapper)
29
+ expect {
30
+ expect {
31
+ object.increment_counter
32
+ }.to change { wrapper_logger.count }.by(1)
33
+ }.to change { object.counter }.by(1)
34
+
35
+ expect {
36
+ expect {
37
+ object.increment_counter
38
+ }.to change { wrapper_logger.count }.by(1)
39
+ }.to change { object.counter }.by(1)
40
+
41
+ expect(wrapper_logger).to eq([object, object])
42
+ end
43
+
44
+ it 'preserves the return value' do
45
+ subject.wrap!(wrapper)
46
+ expect(object.increment_counter).to eq(1)
47
+ end
48
+
49
+ it 'only wraps a method once' do
50
+ wrapper = lambda {|a|}
51
+
52
+ subject.wrap!(wrapper)
53
+ subject.wrap!(wrapper)
54
+ subject.wrap!(wrapper)
55
+
56
+ wrapper.should_receive(:call).once
57
+ object.increment_counter
58
+ end
59
+ end
60
+
61
+ describe 'method extraction' do
62
+ describe 'for existing instance method' do
63
+ let(:method_name) { 'increment_counter' }
64
+ it 'extracts the context class' do
65
+ expect(subject.context_class).to eq(MockContext)
66
+ end
67
+
68
+ it 'extracts the context method' do
69
+ expect(subject.context_method).to eq(MockContext.instance_method(:increment_counter))
70
+ end
71
+ end
72
+
73
+ describe 'for missing instance method' do
74
+ let(:method_name) { 'method_does_not_exist' }
75
+ it {
76
+ expect{
77
+ subject
78
+ }.to raise_error(NameError)
79
+ }
80
+ end
81
+ end
82
+
83
+ end
@@ -0,0 +1,42 @@
1
+ require 'spec_helper'
2
+ require 'activity_engine'
3
+
4
+ describe ActivityEngine do
5
+ class Cat < PersistenceLayer
6
+ def initialize(name)
7
+ super()
8
+ @name = name
9
+ end
10
+ attr_reader :name
11
+ def eat(food); food; end
12
+ end
13
+ Food = Struct.new(:name)
14
+
15
+ describe '.register' do
16
+ let(:cat) { Cat.new('Beautiful Steve') }
17
+ let(:food) { Food.new('catsup') }
18
+ let(:receiver) { ActivityEngine::Activity }
19
+
20
+ it 'reports when the method is called' do
21
+ ActivityEngine.register(Cat, :eat, receiver) do |config, context|
22
+ config.subject = context
23
+ config.activity_type = 'Cat#eat'
24
+ end
25
+ cat.eat(food)
26
+ expect(receiver.last.subject).to eq(cat)
27
+ end
28
+ end
29
+
30
+ describe 'entry creation' do
31
+ it 'creates an entry for a persisted object'
32
+ it 'requires an object to be persisted'
33
+ it 'extracts the requesting user from the context'
34
+ it 'extracts the entry type from the context'
35
+ end
36
+
37
+ describe 'entry finder scopes' do
38
+ it 'has a scope for finding based on the persisted object'
39
+ it 'has a scope for finding based on a user'
40
+ it 'has a scope for finding based on an entry type'
41
+ end
42
+ end
@@ -0,0 +1,42 @@
1
+ require 'spec_helper'
2
+
3
+ module ActivityEngine
4
+ describe Activity do
5
+ subject { ActivityEngine::Activity.new }
6
+ let(:object) { PersistenceLayer.new }
7
+
8
+ describe 'with persisted object' do
9
+ it 'should marshal the subject' do
10
+ subject.subject = object
11
+ expect(subject.subject).to eq(object)
12
+ end
13
+
14
+ it 'should capture the subject id' do
15
+ subject.subject = object
16
+ expect(subject.subject_id).to eq(object.to_param)
17
+ end
18
+
19
+ it 'should capture the subject type' do
20
+ subject.subject = object
21
+ expect(subject.subject_type).to eq(object.class.to_s)
22
+ end
23
+ end
24
+
25
+ describe 'with a non persisted object' do
26
+
27
+ it 'raise exception if the object is not persisted' do
28
+ def object.persisted?; false; end
29
+ expect {
30
+ subject.subject = object
31
+ }.to raise_error(ActivityEngine::UnpersistedSubjectError)
32
+ end
33
+
34
+ it 'raise exception if the object does not respond to persisted' do
35
+ expect {
36
+ subject.subject = 2
37
+ }.to raise_error(NoMethodError)
38
+ end
39
+
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,35 @@
1
+ ENV["RAILS_ENV"] ||= 'test'
2
+
3
+ if ENV['COVERAGE']
4
+ require 'simplecov'
5
+ SimpleCov.command_name "spec"
6
+ SimpleCov.start 'rails' do
7
+ add_filter '/spec'
8
+ end
9
+ end
10
+
11
+
12
+ require File.expand_path("../dummy/config/environment.rb", __FILE__)
13
+ require File.expand_path('../spec_patch', __FILE__)
14
+ require "rails/test_help"
15
+ require 'rspec/rails'
16
+
17
+ Dir[File.join(File.dirname(__FILE__), "support/**/*.rb")].each {|f| require f}
18
+
19
+ # This file was generated by the `rspec --init` command. Conventionally, all
20
+ # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
21
+ # Require this file using `require "spec_helper"` to ensure that it is only
22
+ # loaded once.
23
+ #
24
+ # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
25
+ RSpec.configure do |config|
26
+ config.treat_symbols_as_metadata_keys_with_true_values = true
27
+ config.run_all_when_everything_filtered = true
28
+ config.filter_run :focus
29
+
30
+ # Run specs in random order to surface order dependencies. If you find an
31
+ # order dependency and want to debug it, you can fix the order by providing
32
+ # the seed, which is printed after each run.
33
+ # --seed 1234
34
+ config.order = 'random'
35
+ end
@@ -0,0 +1,43 @@
1
+ # Why: http://groups.google.com/group/cukes/browse_thread/thread/5682d41436e235d7
2
+ begin
3
+ require 'minitest/unit'
4
+ # Don't attempt to monkeypatch if the require succeeded but didn't
5
+ # define the actual module.
6
+ #
7
+ # https://github.com/cucumber/cucumber/pull/93
8
+ # http://youtrack.jetbrains.net/issue/TW-17414
9
+ if defined?(MiniTest::Unit)
10
+ class MiniTest::Unit
11
+ class << self
12
+ @@installed_at_exit = true
13
+ end
14
+
15
+ def run(*)
16
+ 0
17
+ end
18
+ end
19
+ end
20
+ rescue LoadError => ignore
21
+ end
22
+
23
+ # Do the same for Test::Unit
24
+ begin
25
+ require 'test/unit'
26
+ # Don't attempt to monkeypatch if the require succeeded but didn't
27
+ # define the actual module.
28
+ #
29
+ # https://github.com/cucumber/cucumber/pull/93
30
+ # http://youtrack.jetbrains.net/issue/TW-17414
31
+ if defined?(Test::Unit)
32
+ module Test::Unit
33
+ def self.run?
34
+ true
35
+ end
36
+ end
37
+ end
38
+
39
+ # if defined?(Test::Unit::AutoRunner)
40
+ # Test::Unit::AutoRunner.need_auto_run = false
41
+ # end
42
+ rescue LoadError => ignore
43
+ end
@@ -0,0 +1,14 @@
1
+ class PersistenceLayer
2
+ def self.registry
3
+ @registry ||= []
4
+ end
5
+ def initialize
6
+ self.class.registry << self
7
+ end
8
+ def self.find(id)
9
+ @registry.find {|obj| obj.to_param == Integer(id)}
10
+ end
11
+
12
+ def persisted?; true; end
13
+ def to_param; object_id; end
14
+ end
metadata ADDED
@@ -0,0 +1,198 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: activity_engine
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.2
5
+ platform: ruby
6
+ authors:
7
+ - Jeremy Friesen
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-07-23 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.13
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.13
27
+ - !ruby/object:Gem::Dependency
28
+ name: sqlite3
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
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: rspec-rails
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
+ description: ActivityEngine - a mountable Rails engine for activity streams
56
+ email:
57
+ - jeremy.n.friesen@gmail.com
58
+ executables: []
59
+ extensions: []
60
+ extra_rdoc_files: []
61
+ files:
62
+ - .gitignore
63
+ - .rspec
64
+ - Gemfile
65
+ - Guardfile
66
+ - LICENSE.txt
67
+ - README.md
68
+ - Rakefile
69
+ - TODO.md
70
+ - activity_engine.gemspec
71
+ - app/assets/images/activity_engine/.gitkeep
72
+ - app/assets/javascripts/activity_engine/application.js
73
+ - app/assets/stylesheets/activity_engine/application.css
74
+ - app/controllers/activity_engine/application_controller.rb
75
+ - app/helpers/activity_engine/application_helper.rb
76
+ - app/models/activity_engine/activity.rb
77
+ - app/views/layouts/activity_engine/application.html.erb
78
+ - config/routes.rb
79
+ - db/migrate/20130722162331_create_activity_engine_activities.rb
80
+ - lib/activity_engine.rb
81
+ - lib/activity_engine/activity_builder.rb
82
+ - lib/activity_engine/activity_data_structure.rb
83
+ - lib/activity_engine/context_builder.rb
84
+ - lib/activity_engine/engine.rb
85
+ - lib/activity_engine/exceptions.rb
86
+ - lib/activity_engine/version.rb
87
+ - lib/generators/activity_engine/install_generator.rb
88
+ - lib/generators/activity_engine/register_generator.rb
89
+ - lib/generators/activity_engine/templates/activity_engine_config.rb
90
+ - lib/tasks/activity_engine_tasks.rake
91
+ - script/rails
92
+ - spec/dummy/README.rdoc
93
+ - spec/dummy/Rakefile
94
+ - spec/dummy/app/assets/javascripts/application.js
95
+ - spec/dummy/app/assets/stylesheets/application.css
96
+ - spec/dummy/app/controllers/application_controller.rb
97
+ - spec/dummy/app/helpers/application_helper.rb
98
+ - spec/dummy/app/mailers/.gitkeep
99
+ - spec/dummy/app/models/.gitkeep
100
+ - spec/dummy/app/views/layouts/application.html.erb
101
+ - spec/dummy/config.ru
102
+ - spec/dummy/config/application.rb
103
+ - spec/dummy/config/boot.rb
104
+ - spec/dummy/config/database.yml
105
+ - spec/dummy/config/environment.rb
106
+ - spec/dummy/config/environments/development.rb
107
+ - spec/dummy/config/environments/production.rb
108
+ - spec/dummy/config/environments/test.rb
109
+ - spec/dummy/config/initializers/backtrace_silencers.rb
110
+ - spec/dummy/config/initializers/inflections.rb
111
+ - spec/dummy/config/initializers/mime_types.rb
112
+ - spec/dummy/config/initializers/secret_token.rb
113
+ - spec/dummy/config/initializers/session_store.rb
114
+ - spec/dummy/config/initializers/wrap_parameters.rb
115
+ - spec/dummy/config/locales/en.yml
116
+ - spec/dummy/config/routes.rb
117
+ - spec/dummy/db/schema.rb
118
+ - spec/dummy/lib/assets/.gitkeep
119
+ - spec/dummy/log/.gitkeep
120
+ - spec/dummy/public/404.html
121
+ - spec/dummy/public/422.html
122
+ - spec/dummy/public/500.html
123
+ - spec/dummy/public/favicon.ico
124
+ - spec/dummy/script/rails
125
+ - spec/lib/activity_engine/activity_builder_spec.rb
126
+ - spec/lib/activity_engine/activity_data_structure_spec.rb
127
+ - spec/lib/activity_engine/context_builder_spec.rb
128
+ - spec/lib/activity_engine_spec.rb
129
+ - spec/models/activity_engine/activity_spec.rb
130
+ - spec/spec_helper.rb
131
+ - spec/spec_patch.rb
132
+ - spec/support/persistence_layer.rb
133
+ homepage: http://github.com/ndlib/activity_engine
134
+ licenses:
135
+ - APACHE2
136
+ metadata: {}
137
+ post_install_message:
138
+ rdoc_options: []
139
+ require_paths:
140
+ - lib
141
+ required_ruby_version: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - '>='
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ required_rubygems_version: !ruby/object:Gem::Requirement
147
+ requirements:
148
+ - - '>='
149
+ - !ruby/object:Gem::Version
150
+ version: '0'
151
+ requirements: []
152
+ rubyforge_project:
153
+ rubygems_version: 2.0.3
154
+ signing_key:
155
+ specification_version: 4
156
+ summary: ActivityEngine - a mountable Rails engine for activity streams
157
+ test_files:
158
+ - spec/dummy/README.rdoc
159
+ - spec/dummy/Rakefile
160
+ - spec/dummy/app/assets/javascripts/application.js
161
+ - spec/dummy/app/assets/stylesheets/application.css
162
+ - spec/dummy/app/controllers/application_controller.rb
163
+ - spec/dummy/app/helpers/application_helper.rb
164
+ - spec/dummy/app/mailers/.gitkeep
165
+ - spec/dummy/app/models/.gitkeep
166
+ - spec/dummy/app/views/layouts/application.html.erb
167
+ - spec/dummy/config.ru
168
+ - spec/dummy/config/application.rb
169
+ - spec/dummy/config/boot.rb
170
+ - spec/dummy/config/database.yml
171
+ - spec/dummy/config/environment.rb
172
+ - spec/dummy/config/environments/development.rb
173
+ - spec/dummy/config/environments/production.rb
174
+ - spec/dummy/config/environments/test.rb
175
+ - spec/dummy/config/initializers/backtrace_silencers.rb
176
+ - spec/dummy/config/initializers/inflections.rb
177
+ - spec/dummy/config/initializers/mime_types.rb
178
+ - spec/dummy/config/initializers/secret_token.rb
179
+ - spec/dummy/config/initializers/session_store.rb
180
+ - spec/dummy/config/initializers/wrap_parameters.rb
181
+ - spec/dummy/config/locales/en.yml
182
+ - spec/dummy/config/routes.rb
183
+ - spec/dummy/db/schema.rb
184
+ - spec/dummy/lib/assets/.gitkeep
185
+ - spec/dummy/log/.gitkeep
186
+ - spec/dummy/public/404.html
187
+ - spec/dummy/public/422.html
188
+ - spec/dummy/public/500.html
189
+ - spec/dummy/public/favicon.ico
190
+ - spec/dummy/script/rails
191
+ - spec/lib/activity_engine/activity_builder_spec.rb
192
+ - spec/lib/activity_engine/activity_data_structure_spec.rb
193
+ - spec/lib/activity_engine/context_builder_spec.rb
194
+ - spec/lib/activity_engine_spec.rb
195
+ - spec/models/activity_engine/activity_spec.rb
196
+ - spec/spec_helper.rb
197
+ - spec/spec_patch.rb
198
+ - spec/support/persistence_layer.rb