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.
@@ -1,2 +1,17 @@
1
- rvm:
2
- - 1.9.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
  [![travis](https://secure.travis-ci.org/christospappas/streama.png)](http://travis-ci.org/christospappas/streama)
8
+ [![Code Climate](https://codeclimate.com/badge.png)](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!
@@ -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, :type => Hash
12
- field :object, :type => Hash
13
- field :target_object, :type => Hash
11
+ field :actor
12
+ field :object
13
+ field :target_object
14
14
  field :receivers, :type => Array
15
-
16
- index :name
17
- index [['actor._id', Mongo::ASCENDING], ['actor._type', Mongo::ASCENDING]]
18
- index [['object._id', Mongo::ASCENDING], ['object._type', Mongo::ASCENDING]]
19
- index [['target_object._id', Mongo::ASCENDING], ['target_object._type', Mongo::ASCENDING]]
20
- index [['receivers.id', Mongo::ASCENDING], ['receivers.type', Mongo::ASCENDING]]
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.send(type)).is_a?(Hash) ? data['type'].to_s.camelcase.constantize.find(data['id']) : data
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(:validate => false)
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|
@@ -1,3 +1,3 @@
1
1
  module Streama
2
- VERSION = "0.3.5"
2
+ VERSION = "0.3.6"
3
3
  end
@@ -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
@@ -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
- database = Mongo::Connection.new.db("streama_#{DATABASE_ID}")
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 :suite do
50
- Mongoid.master.connection.drop_database("streama_#{DATABASE_ID}")
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
@@ -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", "~> 2.4"
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.5
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-06-27 00:00:00.000000000 Z
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: &70201716311720 !ruby/object:Gem::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: *70201716311720
24
+ version_requirements: *70100852275820
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: database_cleaner
27
- requirement: &70201716311220 !ruby/object:Gem::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: *70201716311220
35
+ version_requirements: *70100852275320
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: mongoid
38
- requirement: &70201716310740 !ruby/object:Gem::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: '2.4'
43
+ version: 3.0.0
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70201716310740
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: &70201716309880 !ruby/object:Gem::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: *70201716309880
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