active_mongo 0.2.1 → 0.3.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.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.1
1
+ 0.3.0
data/active_mongo.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{active_mongo}
8
- s.version = "0.2.1"
8
+ s.version = "0.3.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Mantas Masalskis"]
12
- s.date = %q{2010-02-05}
12
+ s.date = %q{2010-02-06}
13
13
  s.description = %q{Schemaless Mongo ORM for Rails 3.0}
14
14
  s.email = %q{mantas@idev.lt}
15
15
  s.extra_rdoc_files = [
@@ -32,6 +32,7 @@ Gem::Specification.new do |s|
32
32
  "lib/active_mongo_instance.rb",
33
33
  "lib/active_mongo_named_scopes.rb",
34
34
  "lib/active_mongo_scope.rb",
35
+ "lib/active_mongo_start.rb",
35
36
  "lib/active_mongo_uniquenesss.rb",
36
37
  "test/helper.rb",
37
38
  "test/test_active_mongo.rb"
data/lib/active_mongo.rb CHANGED
@@ -1,64 +1,8 @@
1
- require 'mongo'
2
- require 'active_mongo_uniquenesss'
3
- include Mongo
4
-
5
- config = YAML::load(File.open("#{RAILS_ROOT}/config/mongo.yml"))[Rails.env]
6
-
7
- $mongo_conn = Connection.new(config["host"], config["port"], :pool_size => 10, :timeout => 2)
8
- $mongo_db = $mongo_conn.db(config["database"])
9
-
10
- if defined?(PhusionPassenger)
11
- PhusionPassenger.on_event(:starting_worker_process) do |forked|
12
- if forked
13
- $mongo_db.connect_to_master # Call db.connect_to_master to reconnect here
14
- end
15
- end
16
- end
17
-
18
- if config["user"]
19
- if !$mongo_db.authenticate(config["user"], config["password"])
20
- puts "Wrong MongoDB user and/or password!!!"
21
- end
22
- end
23
-
24
- require 'active_mongo_has_many'
25
- require 'active_mongo_attr_accessible'
26
- require 'active_mongo_indexes'
27
- require 'active_mongo_named_scopes'
28
-
29
1
  module ActiveMongo
30
-
31
- class Base
32
- include ActiveModel::Conversion
33
- include ActiveModel::Validations
34
- include ActiveModel::Callbacks
35
- extend ActiveModel::Callbacks
36
- extend ActiveMongo::Indexes::ClassMethods
37
- extend ActiveMongo::AttrAccessible::ClassMethods
38
- extend ActiveMongo::NamedScopes::ClassMethods
39
- extend ActiveMongo::HasMany::ClassMethods
40
- include ActiveMongo::HasMany::InstanceMethods
41
-
42
- define_model_callbacks :create, :save, :update
43
- define_model_callbacks :initializer, :only => :after
44
-
45
- class << self; attr_accessor :scope; end
46
-
47
- def self.extended(klass)
48
- class << klass
49
- alias __old_name name
50
- def name(*args, &blk)
51
- return @name || self.__old_name
52
- end
53
- end
54
- end
55
-
56
- self.extended(self)
57
-
2
+ class Railtie < Rails::Railtie
3
+ railtie_name :active_mongo
4
+ initializer "active_mongo.initialize_active_mongo" do |app|
5
+ require 'active_mongo_start'
6
+ end
58
7
  end
59
8
  end
60
-
61
-
62
- require 'active_mongo_collection'
63
- require 'active_mongo_instance'
64
- require 'active_mongo_scope'
@@ -2,31 +2,33 @@ module ActiveMongo
2
2
  module AttrAccessible
3
3
  module ClassMethods
4
4
  def attr_accessible(*input)
5
- @@internal_attr_accessible = []
5
+ @@internal_attr_accessible ||= {}
6
+ @@internal_attr_accessible[self.name] ||= []
6
7
 
7
8
  input.each do |field|
8
- @@internal_attr_accessible.push(field.to_sym).uniq!
9
+ @@internal_attr_accessible[self.name].push(field.to_sym).uniq!
9
10
  end
10
11
  end
11
12
 
12
13
  def attr_accessible_get
13
- @@internal_attr_accessible || []
14
+ @@internal_attr_accessible[self.name] || []
14
15
  end
15
16
 
16
17
  def attr_clear(*input)
17
- @@internal_attr_clear = []
18
+ @@internal_attr_clear ||= {}
19
+ @@internal_attr_clear[self.name] ||= []
18
20
 
19
21
  input.each do |field|
20
- @@internal_attr_clear.push(field.to_sym).uniq!
22
+ @@internal_attr_clear[self.name].push(field.to_sym).uniq!
21
23
  end
22
24
  end
23
25
 
24
26
  def attr_accessible_get
25
- @@internal_attr_accessible || []
27
+ @@internal_attr_accessible[self.name] || []
26
28
  end
27
29
 
28
30
  def attr_clear_get
29
- @@internal_attr_clear || []
31
+ @@internal_attr_clear[self.name] || []
30
32
  end
31
33
 
32
34
  end
@@ -0,0 +1,64 @@
1
+ require 'mongo'
2
+ require 'active_mongo_uniquenesss'
3
+ include Mongo
4
+
5
+ config = YAML::load(File.open("#{RAILS_ROOT}/config/mongo.yml"))[Rails.env]
6
+
7
+ $mongo_conn = Connection.new(config["host"], config["port"], :pool_size => 10, :timeout => 2)
8
+ $mongo_db = $mongo_conn.db(config["database"])
9
+
10
+ if defined?(PhusionPassenger)
11
+ PhusionPassenger.on_event(:starting_worker_process) do |forked|
12
+ if forked
13
+ $mongo_db.connect_to_master # Call db.connect_to_master to reconnect here
14
+ end
15
+ end
16
+ end
17
+
18
+ if config["user"]
19
+ if !$mongo_db.authenticate(config["user"], config["password"])
20
+ puts "Wrong MongoDB user and/or password!!!"
21
+ end
22
+ end
23
+
24
+ require 'active_mongo_has_many'
25
+ require 'active_mongo_attr_accessible'
26
+ require 'active_mongo_indexes'
27
+ require 'active_mongo_named_scopes'
28
+
29
+ module ActiveMongo
30
+
31
+ class Base
32
+ include ActiveModel::Conversion
33
+ include ActiveModel::Validations
34
+ include ActiveModel::Callbacks
35
+ extend ActiveModel::Callbacks
36
+ extend ActiveMongo::Indexes::ClassMethods
37
+ extend ActiveMongo::AttrAccessible::ClassMethods
38
+ extend ActiveMongo::NamedScopes::ClassMethods
39
+ extend ActiveMongo::HasMany::ClassMethods
40
+ include ActiveMongo::HasMany::InstanceMethods
41
+
42
+ define_model_callbacks :create, :save, :update
43
+ define_model_callbacks :initializer, :only => :after
44
+
45
+ class << self; attr_accessor :scope; end
46
+
47
+ def self.extended(klass)
48
+ class << klass
49
+ alias __old_name name
50
+ def name(*args, &blk)
51
+ return @name || self.__old_name
52
+ end
53
+ end
54
+ end
55
+
56
+ self.extended(self)
57
+
58
+ end
59
+ end
60
+
61
+
62
+ require 'active_mongo_collection'
63
+ require 'active_mongo_instance'
64
+ require 'active_mongo_scope'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_mongo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mantas Masalskis
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2010-02-05 00:00:00 +00:00
12
+ date: 2010-02-06 00:00:00 +00:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -38,6 +38,7 @@ files:
38
38
  - lib/active_mongo_instance.rb
39
39
  - lib/active_mongo_named_scopes.rb
40
40
  - lib/active_mongo_scope.rb
41
+ - lib/active_mongo_start.rb
41
42
  - lib/active_mongo_uniquenesss.rb
42
43
  - test/helper.rb
43
44
  - test/test_active_mongo.rb