streama 0.3.5 → 0.3.6
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.
- data/.travis.yml +17 -2
- data/README.md +8 -7
- data/lib/streama/activity.rb +14 -14
- data/lib/streama/definition_dsl.rb +0 -5
- data/lib/streama/version.rb +1 -1
- data/spec/lib/definition_dsl_spec.rb +0 -6
- data/spec/spec_helper.rb +9 -7
- data/streama.gemspec +1 -2
- metadata +17 -22
data/.travis.yml
CHANGED
@@ -1,2 +1,17 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
language: ruby
|
2
|
+
matrix:
|
3
|
+
include:
|
4
|
+
- rvm: 1.9.3
|
5
|
+
- rvm: ruby-head
|
6
|
+
- rvm: jruby-19mode
|
7
|
+
jdk: oraclejdk7
|
8
|
+
env: JRUBY_OPTS="-Xmx512m"
|
9
|
+
- rvm: jruby-19mode
|
10
|
+
jdk: openjdk7
|
11
|
+
env: JRUBY_OPTS="-Xmx512m"
|
12
|
+
- rvm: jruby-head
|
13
|
+
jdk: oraclejdk7
|
14
|
+
env: JRUBY_OPTS="-Xmx512m"
|
15
|
+
- rvm: jruby-head
|
16
|
+
jdk: openjdk7
|
17
|
+
env: JRUBY_OPTS="-Xmx512m"
|
data/README.md
CHANGED
@@ -1,16 +1,17 @@
|
|
1
1
|
# Streama
|
2
2
|
|
3
|
-
**ALPHA**
|
4
|
-
|
5
3
|
Streama is a simple Ruby activity stream gem for use with the Mongoid ODM framework.
|
6
4
|
|
7
5
|
It works by posting to and querying from a firehose of individual activity items.
|
8
6
|
|
9
7
|
[](http://travis-ci.org/christospappas/streama)
|
8
|
+
[](https://codeclimate.com/github/christospappas/streama)
|
10
9
|
|
11
10
|
## Project Tracking
|
12
11
|
|
13
12
|
* [Streama Google Group](http://groups.google.com/group/streama)
|
13
|
+
* [Code Climate](https://codeclimate.com/github/christospappas/streama)
|
14
|
+
* [Website Demo](http://streamaweb.info)
|
14
15
|
|
15
16
|
## Install
|
16
17
|
|
@@ -132,6 +133,10 @@ activity.refresh_data
|
|
132
133
|
|
133
134
|
## Upgrading
|
134
135
|
|
136
|
+
### 0.3.6
|
137
|
+
|
138
|
+
Mongoid 3.0 support added.
|
139
|
+
|
135
140
|
### 0.3.3
|
136
141
|
|
137
142
|
The Activity "target" field was renamed to "target_object". If you are upgrading from a previous version of Streama you will need to rename the field in existing documents.
|
@@ -146,8 +151,4 @@ Once you've made your great commits
|
|
146
151
|
1. Create a topic branch - git checkout -b my_branch
|
147
152
|
1. Push to your branch - git push origin my_branch
|
148
153
|
1. Create a Pull Request from your branch
|
149
|
-
1. That's it!
|
150
|
-
|
151
|
-
## Contributors
|
152
|
-
|
153
|
-
* Christos Pappas (@christospappas)
|
154
|
+
1. That's it!
|
data/lib/streama/activity.rb
CHANGED
@@ -6,19 +6,19 @@ module Streama
|
|
6
6
|
|
7
7
|
include Mongoid::Document
|
8
8
|
include Mongoid::Timestamps
|
9
|
-
|
9
|
+
|
10
10
|
field :verb, :type => Symbol
|
11
|
-
field :actor
|
12
|
-
field :object
|
13
|
-
field :target_object
|
11
|
+
field :actor
|
12
|
+
field :object
|
13
|
+
field :target_object
|
14
14
|
field :receivers, :type => Array
|
15
|
-
|
16
|
-
index :name
|
17
|
-
index
|
18
|
-
index
|
19
|
-
index
|
20
|
-
index
|
21
|
-
|
15
|
+
|
16
|
+
index :name => 1
|
17
|
+
index({ 'actor._id' => 1, 'actor._type' => 1 })
|
18
|
+
index({ 'object._id' => 1, 'object._type' => 1 })
|
19
|
+
index({ 'target_object._id' => 1, 'target_object._type' => 1 })
|
20
|
+
index({ 'receivers.id' => 1, 'receivers.type' => 1 })
|
21
|
+
|
22
22
|
validates_presence_of :actor, :verb
|
23
23
|
before_save :assign_data
|
24
24
|
|
@@ -75,7 +75,7 @@ module Streama
|
|
75
75
|
# @param [ Hash ] options The options to publish with.
|
76
76
|
#
|
77
77
|
def publish(options = {})
|
78
|
-
actor = load_instance(:actor)
|
78
|
+
actor = load_instance(:actor)
|
79
79
|
self.receivers = (options[:receivers] || actor.followers).map { |r| { :id => r.id, :type => r.class.to_s } }
|
80
80
|
self.save
|
81
81
|
self
|
@@ -87,12 +87,12 @@ module Streama
|
|
87
87
|
#
|
88
88
|
# @return [Mongoid::Document] document A mongoid document instance
|
89
89
|
def load_instance(type)
|
90
|
-
(data = self.
|
90
|
+
(data = self.read_attribute(type)).is_a?(Hash) ? data['type'].to_s.camelcase.constantize.find(data['id']) : data
|
91
91
|
end
|
92
92
|
|
93
93
|
def refresh_data
|
94
94
|
assign_data
|
95
|
-
save(:
|
95
|
+
save(:validates_presence_of => false)
|
96
96
|
end
|
97
97
|
|
98
98
|
protected
|
@@ -15,11 +15,6 @@ module Streama
|
|
15
15
|
|
16
16
|
delegate :[], :to => :@attributes
|
17
17
|
|
18
|
-
def target(*args)
|
19
|
-
warn "[DEPRECATION] #target is deprecated. Please use #target_object instead."
|
20
|
-
@attributes[:target_object].store(args[0].is_a?(Symbol) ? args[0] : args[0].class.to_sym, args[1])
|
21
|
-
end
|
22
|
-
|
23
18
|
def self.data_methods(*args)
|
24
19
|
args.each do |method|
|
25
20
|
define_method method do |*args|
|
data/lib/streama/version.rb
CHANGED
@@ -33,10 +33,4 @@ describe "Definition" do
|
|
33
33
|
dsl.attributes[:target_object].should eq :company => { :cache=>[:id, :name] }
|
34
34
|
end
|
35
35
|
|
36
|
-
it "deprecates target method" do
|
37
|
-
dsl = definition_dsl
|
38
|
-
dsl.target(:company, :cache => [:id, :name])
|
39
|
-
dsl.attributes[:target_object].should eq :company => { :cache=>[:id, :name] }
|
40
|
-
end
|
41
|
-
|
42
36
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -12,15 +12,15 @@ require 'rspec'
|
|
12
12
|
require 'database_cleaner'
|
13
13
|
|
14
14
|
LOGGER = Logger.new($stdout)
|
15
|
-
DATABASE_ID = Process.pid
|
16
15
|
|
17
16
|
DatabaseCleaner.strategy = :truncation
|
18
17
|
|
18
|
+
def database_id
|
19
|
+
ENV["CI"] ? "mongoid_#{Process.pid}" : "mongoid_test"
|
20
|
+
end
|
21
|
+
|
19
22
|
Mongoid.configure do |config|
|
20
|
-
|
21
|
-
database.add_user("streama", "test")
|
22
|
-
config.master = database
|
23
|
-
config.logger = nil
|
23
|
+
config.connect_to(database_id)
|
24
24
|
end
|
25
25
|
|
26
26
|
Dir[ File.join(MODELS, "*.rb") ].sort.each do |file|
|
@@ -46,8 +46,10 @@ RSpec.configure do |config|
|
|
46
46
|
DatabaseCleaner.clean
|
47
47
|
end
|
48
48
|
|
49
|
-
config.after
|
50
|
-
|
49
|
+
config.after(:suite) do
|
50
|
+
if ENV["CI"]
|
51
|
+
Mongoid::Threaded.sessions[:default].drop
|
52
|
+
end
|
51
53
|
end
|
52
54
|
|
53
55
|
end
|
data/streama.gemspec
CHANGED
@@ -20,7 +20,6 @@ Gem::Specification.new do |s|
|
|
20
20
|
|
21
21
|
s.add_development_dependency "rspec", "~> 2.5"
|
22
22
|
s.add_development_dependency "database_cleaner", "~> 0.8"
|
23
|
-
s.add_development_dependency "mongoid", "~>
|
24
|
-
s.add_development_dependency "bson_ext", "~> 1.5"
|
23
|
+
s.add_development_dependency "mongoid", "~> 3.0.0"
|
25
24
|
s.add_development_dependency "rake"
|
26
25
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: streama
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-07-18 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
16
|
-
requirement: &
|
16
|
+
requirement: &70100852275820 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '2.5'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70100852275820
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: database_cleaner
|
27
|
-
requirement: &
|
27
|
+
requirement: &70100852275320 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,32 +32,21 @@ dependencies:
|
|
32
32
|
version: '0.8'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70100852275320
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: mongoid
|
38
|
-
requirement: &
|
38
|
+
requirement: &70100852274860 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
42
42
|
- !ruby/object:Gem::Version
|
43
|
-
version:
|
43
|
+
version: 3.0.0
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
47
|
-
- !ruby/object:Gem::Dependency
|
48
|
-
name: bson_ext
|
49
|
-
requirement: &70201716310280 !ruby/object:Gem::Requirement
|
50
|
-
none: false
|
51
|
-
requirements:
|
52
|
-
- - ~>
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '1.5'
|
55
|
-
type: :development
|
56
|
-
prerelease: false
|
57
|
-
version_requirements: *70201716310280
|
46
|
+
version_requirements: *70100852274860
|
58
47
|
- !ruby/object:Gem::Dependency
|
59
48
|
name: rake
|
60
|
-
requirement: &
|
49
|
+
requirement: &70100852274480 !ruby/object:Gem::Requirement
|
61
50
|
none: false
|
62
51
|
requirements:
|
63
52
|
- - ! '>='
|
@@ -65,7 +54,7 @@ dependencies:
|
|
65
54
|
version: '0'
|
66
55
|
type: :development
|
67
56
|
prerelease: false
|
68
|
-
version_requirements: *
|
57
|
+
version_requirements: *70100852274480
|
69
58
|
description: Streama is a simple activity stream gem for use with the Mongoid ODM
|
70
59
|
framework
|
71
60
|
email:
|
@@ -113,12 +102,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
113
102
|
- - ! '>='
|
114
103
|
- !ruby/object:Gem::Version
|
115
104
|
version: '0'
|
105
|
+
segments:
|
106
|
+
- 0
|
107
|
+
hash: 4280395878127855216
|
116
108
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
117
109
|
none: false
|
118
110
|
requirements:
|
119
111
|
- - ! '>='
|
120
112
|
- !ruby/object:Gem::Version
|
121
113
|
version: '0'
|
114
|
+
segments:
|
115
|
+
- 0
|
116
|
+
hash: 4280395878127855216
|
122
117
|
requirements: []
|
123
118
|
rubyforge_project: streama
|
124
119
|
rubygems_version: 1.8.17
|