mongo_mapper_ext 0.2.3 → 0.2.4

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 (49) hide show
  1. data/Rakefile +1 -1
  2. data/lib/mongo_mapper_ext/carrier_wave.rb +12 -0
  3. data/lib/mongo_mapper_ext/carrier_wave/fixes.rb +12 -0
  4. data/lib/mongo_mapper_ext/carrier_wave/micelaneous.rb +26 -0
  5. data/lib/mongo_mapper_ext/{plugins/carrierwave.rb → carrier_wave/mongo_mapper/plugins/carrier_wave.rb} +0 -19
  6. data/lib/mongo_mapper_ext/mongo_db.rb +1 -0
  7. data/lib/{mongo_db_ext/micelaneous.rb → mongo_mapper_ext/mongo_db/upsert.rb} +3 -3
  8. data/lib/mongo_mapper_ext/mongo_mapper.rb +46 -0
  9. data/lib/mongo_mapper_ext/{hacks → mongo_mapper}/fixes.rb +0 -0
  10. data/lib/mongo_mapper_ext/{hacks/active_model.rb → mongo_mapper/hacks.rb} +0 -0
  11. data/lib/mongo_mapper_ext/mongo_mapper/locales/activemodel/ru.yml +27 -0
  12. data/lib/mongo_mapper_ext/mongo_mapper/locales/mongo_mapper/en.yml +4 -0
  13. data/lib/mongo_mapper_ext/mongo_mapper/locales/mongo_mapper/ru.yml +4 -0
  14. data/lib/mongo_mapper_ext/{logging.rb → mongo_mapper/logging.rb} +1 -1
  15. data/lib/mongo_mapper_ext/{migration.rb → mongo_mapper/migration.rb} +13 -13
  16. data/lib/mongo_mapper_ext/{plugins → mongo_mapper/plugins}/attribute_cache.rb +0 -0
  17. data/lib/mongo_mapper_ext/{plugins → mongo_mapper/plugins}/attribute_convertors.rb +0 -0
  18. data/lib/mongo_mapper_ext/{plugins → mongo_mapper/plugins}/belongs_to_with_counter_cache.rb +3 -3
  19. data/lib/mongo_mapper_ext/{plugins → mongo_mapper/plugins}/custom_scope.rb +3 -3
  20. data/lib/mongo_mapper_ext/{plugins → mongo_mapper/plugins}/db_config.rb +6 -6
  21. data/lib/mongo_mapper_ext/{plugins → mongo_mapper/plugins}/micelaneous.rb +0 -0
  22. data/lib/mongo_mapper_ext/{spec.rb → mongo_mapper/spec.rb} +0 -38
  23. data/lib/mongo_mapper_ext/mongo_mapper/support.rb +13 -0
  24. data/lib/mongo_mapper_ext/{view_helpers.rb → mongo_mapper/view_helpers.rb} +0 -0
  25. data/lib/mongo_mapper_ext/rad.rb +4 -0
  26. data/lib/mongo_mapper_ext/rad/spec.rb +38 -0
  27. data/readme.md +11 -2
  28. data/spec/carrier_wave/carrier_wave_spec.rb +61 -0
  29. data/spec/{carrierwave_spec → carrier_wave/carrier_wave_spec}/plane.jpg +0 -0
  30. data/spec/carrier_wave/spec_helper.rb +8 -0
  31. data/spec/mongo_db/spec_helper.rb +4 -0
  32. data/spec/mongo_db/upsert_spec.rb +20 -0
  33. data/spec/{attribute_convertors_spec.rb → mongo_mapper/attribute_convertors_spec.rb} +1 -1
  34. data/spec/mongo_mapper/belongs_to_with_counter_cache_spec.rb +43 -0
  35. data/spec/{custom_scope_spec.rb → mongo_mapper/custom_scope_spec.rb} +3 -3
  36. data/spec/mongo_mapper/micelaneous_plugin_spec.rb +39 -0
  37. data/spec/{micelaneous_spec.rb → mongo_mapper/micelaneous_spec.rb} +1 -20
  38. data/spec/{migration_spec.rb → mongo_mapper/migration_spec.rb} +3 -3
  39. data/spec/{mongo_mapper_spec.rb → mongo_mapper/mongo_mapper_spec.rb} +1 -1
  40. data/spec/mongo_mapper/spec_helper.rb +7 -0
  41. data/spec/rad/spec_helper.rb +10 -0
  42. data/spec/{uploading_spec.rb → rad/uploading_spec.rb} +1 -2
  43. data/spec/{uploading_spec → rad/uploading_spec}/ship.jpg +0 -0
  44. data/spec/{uploading_spec → rad/uploading_spec}//321/204/320/260/320/270/314/206/320/273 /321/201 /320/277/321/200/320/276/320/261/320/265/320/273/320/260/320/274/320/270.txt +0 -0
  45. metadata +65 -52
  46. data/lib/mongo_mapper_ext.rb +0 -49
  47. data/spec/carrierwave_spec.rb +0 -42
  48. data/spec/micelaneous_plugin_spec.rb +0 -70
  49. data/spec/spec_helper.rb +0 -6
data/Rakefile CHANGED
@@ -2,7 +2,7 @@ require 'rake_ext'
2
2
 
3
3
  project(
4
4
  name: "mongo_mapper_ext",
5
- version: "0.2.3",
5
+ version: "0.2.4",
6
6
  summary: "Extensions for MongoMapper",
7
7
 
8
8
  author: "Alexey Petrushin",
@@ -0,0 +1,12 @@
1
+ require 'carrierwave'
2
+ require 'carrierwave/validations/active_model'
3
+
4
+ require 'mongo_mapper_ext/mongo_mapper'
5
+
6
+ %w(
7
+ fixes
8
+ micelaneous
9
+ mongo_mapper/plugins/carrier_wave
10
+ ).each{|f| require "mongo_mapper_ext/carrier_wave/#{f}"}
11
+
12
+ MongoMapper::Document.send :include, MongoMapper::Plugins::CarrierWave
@@ -0,0 +1,12 @@
1
+ CarrierWave::SanitizedFile.class_eval do
2
+ def sanitize_regexp
3
+ /[^[:word:]\.\-\+\s_]/i
4
+ end
5
+ end
6
+
7
+ CarrierWave::Uploader::Cache.class_eval do
8
+ def original_filename=(filename)
9
+ raise CarrierWave::InvalidParameter, "invalid filename" unless filename =~ /\A[[:word:]\.\-\+\s_]+\z/i
10
+ @original_filename = filename
11
+ end
12
+ end
@@ -0,0 +1,26 @@
1
+ #
2
+ # Changing filename format from <version>_<filename_with_extension> to <name>.<version>.<extension>
3
+ #
4
+ CarrierWave::Uploader::Versions.class_eval do
5
+ def full_filename(for_file)
6
+ name = super
7
+ if version_name
8
+ ext = File.extname name
9
+ base = File.basename name, ext
10
+ "#{base}.#{version_name}#{ext}"
11
+ else
12
+ name
13
+ end
14
+ end
15
+
16
+ def full_original_filename
17
+ name = super
18
+ if version_name
19
+ ext = File.extname name
20
+ base = File.basename name, ext
21
+ "#{base}.#{version_name}#{ext}"
22
+ else
23
+ name
24
+ end
25
+ end
26
+ end
@@ -1,22 +1,3 @@
1
- require 'carrierwave/validations/active_model'
2
-
3
- #
4
- # Hacks
5
- #
6
- CarrierWave::SanitizedFile.class_eval do
7
- def sanitize_regexp
8
- /[^[:word:]\.\-\+\s_]/i
9
- end
10
- end
11
-
12
- CarrierWave::Uploader::Cache.class_eval do
13
- def original_filename=(filename)
14
- raise CarrierWave::InvalidParameter, "invalid filename" unless filename =~ /\A[[:word:]\.\-\+\s_]+\z/i
15
- @original_filename = filename
16
- end
17
- end
18
-
19
-
20
1
  #
21
2
  # mount_uploader
22
3
  #
@@ -0,0 +1 @@
1
+ require 'mongo_mapper_ext/mongo_db/upsert'
@@ -3,9 +3,9 @@
3
3
  #
4
4
  Mongo::Collection.class_eval do
5
5
  def upsert! query, opt
6
- opt.size.must == 1
7
- opt.must_be.a Hash
8
- opt.values.first.must_be.a Hash
6
+ # opt.size.must == 1
7
+ # opt.must_be.a Hash
8
+ # opt.values.first.must_be.a Hash
9
9
 
10
10
  update(query, opt, {upsert: true, safe: true})
11
11
  end
@@ -0,0 +1,46 @@
1
+ require 'mongo_mapper_ext/gems'
2
+ require 'mongo_mapper'
3
+
4
+ require 'mongo_mapper_ext/mongo_db'
5
+
6
+ %w(
7
+ fixes
8
+ hacks
9
+ support
10
+
11
+ migration
12
+ view_helpers
13
+ logging
14
+
15
+ plugins/attribute_cache
16
+ plugins/attribute_convertors
17
+ plugins/belongs_to_with_counter_cache
18
+ plugins/custom_scope
19
+ plugins/db_config
20
+ plugins/micelaneous
21
+ ).each{|file| require "mongo_mapper_ext/mongo_mapper/#{file}"}
22
+
23
+
24
+ #
25
+ # Default plugins
26
+ #
27
+ module MongoMapper::Plugins
28
+ [CustomScope, AttributeCache, AttributeConvertors, BelongsToWithCounterCache, Micelaneous, DbConfig].each do |plugin|
29
+ ::MongoMapper::Document.send :include, plugin
30
+ end
31
+ end
32
+
33
+
34
+ #
35
+ # Attribute protection
36
+ #
37
+ MongoMapper::Document.included do
38
+ attr_protected :id, :_id, :_type, :created_at, :updated_at
39
+ end
40
+
41
+
42
+ #
43
+ # Locales
44
+ #
45
+ dir = __FILE__.dirname
46
+ I18n.load_path += Dir["#{dir}/mongo_mapper/locales/**/*.{rb,yml}"]
@@ -0,0 +1,27 @@
1
+ ru:
2
+ errors:
3
+ # The default format to use in full error messages.
4
+ format: "%{attribute} %{message}"
5
+
6
+ # The values :model, :attribute and :value are always available for interpolation
7
+ # The value :count is available when applicable. Can be used for pluralization.
8
+ messages:
9
+ inclusion: "недопустимое значение"
10
+ exclusion: "недопустимо"
11
+ invalid: "неверно"
12
+ confirmation: "не совпадает с подтверждением"
13
+ accepted: "долно быть принято"
14
+ empty: "не может быть пустым"
15
+ blank: "не может быть пустым"
16
+ too_long: "слишком длинно (максимально допустимо %{count})"
17
+ too_short: "слищком коротко (минимально допустимо %{count})"
18
+ wrong_length: "неверная длинна (должно быть %{count})"
19
+ not_a_number: "не номер"
20
+ not_an_integer: "долно быть целочисленно"
21
+ greater_than: "должно быть больше чем %{count}"
22
+ greater_than_or_equal_to: "должно быть больше чем или равно %{count}"
23
+ equal_to: "должно быть равно %{count}"
24
+ less_than: "должно быть меньше чем %{count}"
25
+ less_than_or_equal_to: "должно быть меньше чем или равно %{count}"
26
+ odd: "должно быть не четно"
27
+ even: "должно быть четно"
@@ -0,0 +1,4 @@
1
+ en:
2
+ errors:
3
+ messages:
4
+ taken: "has already been taken"
@@ -0,0 +1,4 @@
1
+ ru:
2
+ errors:
3
+ messages:
4
+ taken: "уже занято"
@@ -54,7 +54,7 @@ MongoMapper.class_eval do
54
54
 
55
55
  def self.use_database database_alias
56
56
  database_alias = database_alias.to_s
57
- MongoMapper.db_config.must.include database_alias
57
+ raise "unknown database alias :#{database_alias}" unless MongoMapper.db_config.include? database_alias
58
58
  MongoMapper.connection = MongoMapper.connections['default']
59
59
  MongoMapper.database = MongoMapper.db_config['default']['name']
60
60
  end
@@ -41,7 +41,7 @@ module MongoMapper::Migration
41
41
  def define database_alias, version, &block
42
42
  database_alias = database_alias.to_s
43
43
 
44
- version.must_be.a Integer
44
+ raise "version should be an Integer! (but you provided '#{version}' instad)!" unless version.is_a? Integer
45
45
  definition = MigrationDefinition.new
46
46
  block.call definition
47
47
  definitions[database_alias][version] = definition
@@ -51,21 +51,21 @@ module MongoMapper::Migration
51
51
  database_alias = database_alias.to_s
52
52
  db = MongoMapper.databases[database_alias]
53
53
 
54
- if metadata(db).version == version
54
+ if metadata(db)['version'] == version
55
55
  logger.info "Database '#{database_alias}' already is of #{version} version, no migration needed."
56
56
  return false
57
57
  else
58
58
  logger.info "Migration for '#{database_alias}' Database:"
59
59
  end
60
60
 
61
- increase_db_version database_alias, db while metadata(db).version < version
62
- decrease_db_version database_alias, db while metadata(db).version > version
61
+ increase_db_version database_alias, db while metadata(db)['version'] < version
62
+ decrease_db_version database_alias, db while metadata(db)['version'] > version
63
63
  true
64
64
  end
65
65
 
66
66
  def metadata db
67
67
  col = db.collection 'db_metadata'
68
- metadata = (col.find_one || {version: 0}).to_openobject
68
+ col.find_one || {'version' => 0}
69
69
  end
70
70
 
71
71
  def definitions
@@ -75,28 +75,28 @@ module MongoMapper::Migration
75
75
  protected
76
76
  def increase_db_version database_alias, db
77
77
  m = metadata(db)
78
- migration = definitions[database_alias][m.version + 1]
79
- raise "No upgrade for version #{m.version + 1} of '#{database_alias}' Database!" unless migration and migration.up
78
+ migration = definitions[database_alias][m['version'] + 1]
79
+ raise "No upgrade for version #{m['version'] + 1} of '#{database_alias}' Database!" unless migration and migration.up
80
80
 
81
81
  migration.up.call db
82
82
 
83
- m.version += 1
83
+ m['version'] += 1
84
84
  update_metadata db, m
85
85
 
86
- logger.info "Database '#{database_alias}' upgraded to version #{m.version}."
86
+ logger.info "Database '#{database_alias}' upgraded to version #{m['version']}."
87
87
  end
88
88
 
89
89
  def decrease_db_version database_alias, db
90
90
  m = metadata(db)
91
- migration = definitions[database_alias][m.version]
92
- raise "No downgrade for version #{m.version} of '#{database_alias}' Database!" unless migration and migration.down
91
+ migration = definitions[database_alias][m['version']]
92
+ raise "No downgrade for version #{m['version']} of '#{database_alias}' Database!" unless migration and migration.down
93
93
 
94
94
  migration.down.call db
95
95
 
96
- m.version -= 1
96
+ m['version'] -= 1
97
97
  update_metadata db, m
98
98
 
99
- logger.info "Database '#{database_alias}' downgraded to version #{m.version}."
99
+ logger.info "Database '#{database_alias}' downgraded to version #{m['version']}."
100
100
  end
101
101
 
102
102
 
@@ -9,8 +9,8 @@ module MongoMapper
9
9
  # belongs_to :item, counter_cashe: true
10
10
  #
11
11
  def belongs_to association_id, options={}, &extension
12
- options.must_not.include :counter_cashe
13
- if options.delete(:counter_cache) || options.delete('counter_cache')
12
+ # options.must_not.include :counter_cashe
13
+ if options.delete(:counter_cache)
14
14
  association_id = association_id.to_s
15
15
  association_key = "#{association_id}_id"
16
16
  cache_attribute = "#{self.alias.pluralize.underscore}_count"
@@ -19,7 +19,7 @@ module MongoMapper
19
19
  else
20
20
  association_id.classify.constantize
21
21
  end
22
- cache_class.keys.must.include cache_attribute
22
+ raise "key :#{cache_attribute} not defined on :#{cache_class}!" unless cache_class.keys.include? cache_attribute
23
23
  increase_method_name = "increase_#{cache_class.alias.underscore}_#{self.alias.pluralize.underscore}_counter"
24
24
  decrease_method_name = "decrease_#{cache_class.alias.underscore}_#{self.alias.pluralize.underscore}_counter"
25
25
 
@@ -21,7 +21,7 @@ module MongoMapper
21
21
  end
22
22
 
23
23
  def with_exclusive_scope options = {}, &block
24
- Thread.current['mm_with_exclusive_scope'].must_be.nil
24
+ raise "exclusive scope already applied, can't apply it twice!" if Thread.current['mm_with_exclusive_scope']
25
25
 
26
26
  before = Thread.current['mm_with_exclusive_scope']
27
27
  begin
@@ -33,7 +33,7 @@ module MongoMapper
33
33
  end
34
34
 
35
35
  def with_scope options = {}, &block
36
- Thread.current['mm_with_exclusive_scope'].must_be.nil
36
+ raise "exclusive scope already applied, can't apply it twice!" if Thread.current['mm_with_exclusive_scope']
37
37
 
38
38
  before = Thread.current['mm_with_scope']
39
39
  begin
@@ -47,7 +47,7 @@ module MongoMapper
47
47
 
48
48
  protected
49
49
  def default_scope options = nil, &block
50
- options.must_be.a NilClass, Hash
50
+ raise "invalid option (#{options.inspect})!" if options and !options.is_a?(Hash)
51
51
  self.write_inheritable_attribute(:default_scope, (options || block))
52
52
  end
53
53
 
@@ -6,7 +6,7 @@ module MongoMapper
6
6
  def [](database_alias)
7
7
  database_alias = database_alias.to_s
8
8
  unless connection = super(database_alias)
9
- MongoMapper.db_config.must.include database_alias
9
+ raise "unknown database alias :#{database_alias}" unless MongoMapper.db_config.include? database_alias
10
10
  db_options = MongoMapper.db_config[database_alias]
11
11
  connection = Mongo::Connection.new(db_options['host'], db_options['port'], logger: MongoMapper.logger)
12
12
 
@@ -30,9 +30,11 @@ module MongoMapper
30
30
  def [](database_alias)
31
31
  database_alias = database_alias.to_s
32
32
  unless db = super(database_alias)
33
- MongoMapper.db_config.must.include database_alias
33
+ raise "unknown database alias :#{database_alias}" unless MongoMapper.db_config.include? database_alias
34
34
  db_options = MongoMapper.db_config[database_alias]
35
- db = MongoMapper.connections[database_alias].db db_options['name'].must_be.a(String)
35
+ name = db_options['name']
36
+ raise "database name should be a string (#{name})!" unless name.is_a?(String)
37
+ db = MongoMapper.connections[database_alias].db name
36
38
  self[database_alias] = db
37
39
  end
38
40
  return db
@@ -70,13 +72,11 @@ module MongoMapper
70
72
  # Connect to database_alias specified in config
71
73
  #
72
74
  def use_database database_alias
73
- # defer do
74
75
  database_alias = database_alias.to_s
75
- MongoMapper.db_config.must.include database_alias
76
+ raise "unknown database alias :#{database_alias}" unless MongoMapper.db_config.include? database_alias
76
77
 
77
78
  self.connection MongoMapper.connections[database_alias]
78
79
  set_database_name MongoMapper.db_config[database_alias]['name']
79
- # end
80
80
  end
81
81
  end
82
82
 
@@ -1,5 +1,3 @@
1
- require 'mongo_mapper_ext'
2
-
3
1
  #
4
2
  # disabling :use_database, all tests will use the same :test database.
5
3
  #
@@ -64,40 +62,4 @@ if defined? Paperclip
64
62
  @logger ||= Logger.new(nil)
65
63
  end
66
64
  end
67
- end
68
-
69
-
70
- #
71
- # Files
72
- #
73
- rspec do
74
- class << self
75
- def with_files
76
- path, cache_path = '/tmp/spec_fs', '/tmp/spec_fs_cache'
77
-
78
- before do
79
- rad.config.merge!({fs: {path: path, cache_path: cache_path}}, override: true)
80
-
81
- Models::FileUploader.storage :file
82
-
83
- CarrierWave.configure do |config|
84
- config.storage = :file
85
- config.enable_processing = false
86
-
87
- config.cache_dir = rad.config.fs.cache_path!
88
- config.root = rad.config.fs.path!
89
- end
90
- end
91
-
92
- before do
93
- path.to_dir.destroy
94
- cache_path.to_dir.destroy
95
- end
96
-
97
- after do
98
- path.to_dir.destroy
99
- cache_path.to_dir.destroy
100
- end
101
- end
102
- end
103
65
  end
@@ -0,0 +1,13 @@
1
+ unless Class.method_defined? :alias
2
+ Class.class_eval do
3
+ def alias name = nil
4
+ if name
5
+ name.must_be.a String
6
+ name.must_not_be.blank
7
+ @alias = name.to_s
8
+ else
9
+ @alias ||= self.name.split('::').last
10
+ end
11
+ end
12
+ end
13
+ end
@@ -1,2 +1,6 @@
1
1
  require 'rad'
2
+
3
+ require 'mongo_mapper_ext/mongo_mapper'
4
+ require 'mongo_mapper_ext/carrier_wave'
5
+
2
6
  require 'mongo_mapper_ext/rad/file_uploader'
@@ -0,0 +1,38 @@
1
+ require 'mongo_mapper_ext/rad'
2
+
3
+ require 'mongo_mapper_ext/mongo_mapper/spec'
4
+
5
+ #
6
+ # Files
7
+ #
8
+ rspec do
9
+ class << self
10
+ def with_files
11
+ path, cache_path = '/tmp/spec_fs', '/tmp/spec_fs_cache'
12
+
13
+ before do
14
+ rad.config.merge!({fs: {path: path, cache_path: cache_path}}, override: true)
15
+
16
+ Models::FileUploader.storage :file
17
+
18
+ CarrierWave.configure do |config|
19
+ config.storage = :file
20
+ config.enable_processing = false
21
+
22
+ config.cache_dir = rad.config.fs.cache_path!
23
+ config.root = rad.config.fs.path!
24
+ end
25
+ end
26
+
27
+ before do
28
+ path.to_dir.destroy
29
+ cache_path.to_dir.destroy
30
+ end
31
+
32
+ after do
33
+ path.to_dir.destroy
34
+ cache_path.to_dir.destroy
35
+ end
36
+ end
37
+ end
38
+ end
data/readme.md CHANGED
@@ -27,8 +27,8 @@
27
27
  m.down{Sample.destroy_all}
28
28
  end
29
29
 
30
- # Tell it the version of database You need, and it's smart enough to figure out all needed :up or :down
31
- Migration.update(:global, 1)
30
+ # Tell it database and version, and it's smart enough to figure out all needed :up or :down
31
+ Migration.update(:default, 1)
32
32
 
33
33
 
34
34
  ## Custom Scope
@@ -70,6 +70,15 @@ File attachments (stored on File System, S3, MongoDB-GridFS)
70
70
 
71
71
  Attribute Cache, Spec Helpers (auto-clean db before each test).
72
72
 
73
+ # Installation
74
+
75
+ gem install 'mongo_mapper_ext'
76
+
77
+ require 'mongo_mapper_ext/mongo_mapper'
78
+
79
+ # support for CarrierWave is optional
80
+ # require 'mongo_mapper_ext/carrier_wave'
81
+
73
82
  # License
74
83
 
75
84
  Copyright (c) Alexey Petrushin [http://4ire.net](http://4ire.net), released under the MIT license.
@@ -0,0 +1,61 @@
1
+ require 'carrier_wave/spec_helper'
2
+
3
+ describe "MongoMapper & CarrierWave" do
4
+ with_mongo_mapper
5
+ with_tmp_spec_dir
6
+
7
+ before :all do
8
+ class PlaneUploader < CarrierWave::Uploader::Base
9
+ require 'carrierwave/processing/mini_magick'
10
+
11
+ include CarrierWave::MiniMagick
12
+
13
+ storage :file
14
+
15
+ version :icon do
16
+ process convert: :png
17
+ process resize_to_fit: [50, 50]
18
+ end
19
+
20
+ class << self
21
+ attr_accessor :store_dir
22
+ end
23
+
24
+ def store_dir
25
+ PlaneUploader.store_dir
26
+ end
27
+
28
+ def root
29
+ PlaneUploader.store_dir
30
+ end
31
+ end
32
+
33
+ class Plane
34
+ include MongoMapper::Document
35
+
36
+ mount_uploader :image, PlaneUploader
37
+ end
38
+ end
39
+ after(:all){remove_constants :Plane, :PlaneUploader}
40
+
41
+ before do
42
+ PlaneUploader.store_dir = "#{spec_dir}/data"
43
+ @file = File.new "#{spec_dir}/plane.jpg"
44
+ end
45
+ after{@file.close}
46
+
47
+ it "basic" do
48
+ plane = Plane.create! image: @file
49
+ plane.image.current_path.should =~ /\/plane.jpg/
50
+ File.should exist("#{spec_dir}/data/plane.jpg")
51
+ end
52
+
53
+ it "path format" do
54
+ plane = Plane.create! image: @file
55
+ plane.image.url.should == '/plane.jpg'
56
+ plane.image.icon.url.should =~ /\/plane\.icon\.jpg/
57
+
58
+ plane.image.icon.current_path.should =~ /\/plane\.icon\.jpg/
59
+ File.should exist("#{spec_dir}/data/plane.icon.jpg")
60
+ end
61
+ end
@@ -0,0 +1,8 @@
1
+ require "mongo_mapper"
2
+
3
+ require 'rspec_ext'
4
+
5
+ require "mongo_mapper_ext/mongo_mapper"
6
+ require "mongo_mapper_ext/carrier_wave"
7
+
8
+ require "mongo_mapper_ext/mongo_mapper/spec"
@@ -0,0 +1,4 @@
1
+ require "mongo_mapper"
2
+ require 'mongo_mapper_ext/mongo_db'
3
+
4
+ require 'rspec_ext'
@@ -0,0 +1,20 @@
1
+ require 'mongo_db/spec_helper'
2
+
3
+ describe "MongoMapper micelaneous" do
4
+ before do
5
+ connection = Mongo::Connection.new.db('test')
6
+ @collection = connection.collection('test')
7
+ end
8
+
9
+ it "upsert should update" do
10
+ id = @collection.save count: 2
11
+ @collection.upsert!({_id: id}, :$inc => {count: 1})
12
+ @collection.find(_id: id).first['count'].should == 3
13
+ end
14
+
15
+ it "upsert should set" do
16
+ id = @collection.save({})
17
+ @collection.upsert!({_id: id}, :$inc => {count: 1})
18
+ @collection.find(_id: id).first['count'].should == 1
19
+ end
20
+ end
@@ -1,4 +1,4 @@
1
- require 'spec_helper'
1
+ require 'mongo_mapper/spec_helper'
2
2
 
3
3
  describe "Attribute Convertors" do
4
4
  with_mongo_mapper
@@ -0,0 +1,43 @@
1
+ require 'mongo_mapper/spec_helper'
2
+
3
+ describe "BelongsToWithCounterCache" do
4
+ with_mongo_mapper
5
+
6
+ before :all do
7
+ class ::Post
8
+ include MongoMapper::Document
9
+ include MongoMapper::Plugins::Micelaneous
10
+
11
+ key :comments_count, Integer, default: 0
12
+ has_many :comments
13
+ end
14
+
15
+ class ::Comment
16
+ include MongoMapper::Document
17
+ include MongoMapper::Plugins::Micelaneous
18
+
19
+ key :post_id
20
+ belongs_to :post, counter_cache: true
21
+ end
22
+ end
23
+ after(:all){remove_constants :Post, :Comment}
24
+
25
+ it "should increase count of comments" do
26
+ post = Post.create!
27
+ comment = post.comments.create!
28
+
29
+ post.reload
30
+ post.comments_count.should == 1
31
+ end
32
+
33
+ it "should decrease count of comments" do
34
+ post = Post.create!
35
+ comment = post.comments.create!
36
+ post.reload
37
+ post.comments_count.should == 1
38
+
39
+ comment.destroy
40
+ post.reload
41
+ post.comments_count.should == 0
42
+ end
43
+ end
@@ -1,4 +1,4 @@
1
- require 'spec_helper'
1
+ require 'mongo_mapper/spec_helper'
2
2
 
3
3
  describe "MongoMapper Default Scope" do
4
4
  with_mongo_mapper
@@ -72,13 +72,13 @@ describe "MongoMapper Default Scope" do
72
72
  ScopeSample.with_exclusive_scope do
73
73
  ScopeSample.with_exclusive_scope{}
74
74
  end
75
- }.should raise_error(AssertionError)
75
+ }.should raise_error(/exclusive scope already applied/)
76
76
 
77
77
  -> {
78
78
  ScopeSample.with_exclusive_scope do
79
79
  ScopeSample.with_scope{}
80
80
  end
81
- }.should raise_error(AssertionError)
81
+ }.should raise_error(/exclusive scope already applied/)
82
82
  end
83
83
 
84
84
  it "with_exclusive_scope should clear other scopes" do
@@ -0,0 +1,39 @@
1
+ require 'mongo_mapper/spec_helper'
2
+
3
+ describe "Micelaneous" do
4
+ with_mongo_mapper
5
+
6
+ after(:all){remove_constants :Article, :Post, :Namespace}
7
+
8
+ describe "model_name" do
9
+ it "basic" do
10
+ class Article
11
+ include MongoMapper::Document
12
+ include MongoMapper::Plugins::Micelaneous
13
+ end
14
+
15
+ Article.model_name.should == "Article"
16
+ Article.model_name "SuperArticle"
17
+ Article.model_name.should == "SuperArticle"
18
+ end
19
+
20
+ it "by default should be initialized from class alias" do
21
+ class ::Post
22
+ include MongoMapper::Document
23
+ include MongoMapper::Plugins::Micelaneous
24
+
25
+ self.alias 'PostAlias'
26
+ end
27
+
28
+ module ::Namespace
29
+ class Post
30
+ include MongoMapper::Document
31
+ include MongoMapper::Plugins::Micelaneous
32
+ end
33
+ end
34
+
35
+ Post.model_name.should == 'PostAlias'
36
+ Namespace::Post.model_name.should == 'Post' # not the Namespace::Post
37
+ end
38
+ end
39
+ end
@@ -1,29 +1,10 @@
1
- require 'spec_helper'
1
+ require 'mongo_mapper/spec_helper'
2
2
 
3
3
  describe "MongoMapper micelaneous" do
4
4
  with_mongo_mapper
5
5
 
6
6
  after(:all){remove_constants %w(UpsertSample AsStringSample TranslationCheck)}
7
7
 
8
- describe "Collection extensions" do
9
- before do
10
- connection = Mongo::Connection.new.db('test')
11
- @collection = connection.collection('test')
12
- end
13
-
14
- it "upsert should update" do
15
- id = @collection.save count: 2
16
- @collection.upsert!({_id: id}, :$inc => {count: 1})
17
- @collection.find(_id: id).first['count'].should == 3
18
- end
19
-
20
- it "upsert should set" do
21
- id = @collection.save({})
22
- @collection.upsert!({_id: id}, :$inc => {count: 1})
23
- @collection.find(_id: id).first['count'].should == 1
24
- end
25
- end
26
-
27
8
  describe "i18n" do
28
9
  it "should translate error messages" do
29
10
  class ::TranslationCheck
@@ -1,4 +1,4 @@
1
- require 'spec_helper'
1
+ require 'mongo_mapper/spec_helper'
2
2
 
3
3
  describe "MongoMapper Migration" do
4
4
  with_mongo_mapper
@@ -51,7 +51,7 @@ describe "MongoMapper Migration" do
51
51
 
52
52
  Migration.update(:global, 1).should be_true
53
53
  Sample.count.should == 1
54
- Migration.metadata(MongoMapper.databases[:global]).version.should == 1
54
+ Migration.metadata(MongoMapper.databases[:global])['version'].should == 1
55
55
  end
56
56
 
57
57
  it "decrease_db_version" do
@@ -64,7 +64,7 @@ describe "MongoMapper Migration" do
64
64
 
65
65
  Migration.update(:global, 0).should be_true
66
66
  Sample.count.should == 0
67
- Migration.metadata(MongoMapper.databases[:global]).version.should == 0
67
+ Migration.metadata(MongoMapper.databases[:global])['version'].should == 0
68
68
  end
69
69
 
70
70
  end
@@ -1,4 +1,4 @@
1
- require 'mongo_mapper'
1
+ require 'mongo_mapper/spec_helper'
2
2
 
3
3
  describe "Special test to check some errors in the MongoMapper itself" do
4
4
  before :all do
@@ -0,0 +1,7 @@
1
+ require "mongo_mapper"
2
+
3
+ require 'rspec_ext'
4
+
5
+ require "mongo_mapper_ext/mongo_mapper"
6
+
7
+ require "mongo_mapper_ext/mongo_mapper/spec"
@@ -0,0 +1,10 @@
1
+ require "mongo_mapper"
2
+
3
+ require 'rspec_ext'
4
+
5
+ require "mongo_mapper_ext/mongo_mapper"
6
+ require "mongo_mapper_ext/carrier_wave"
7
+ require "mongo_mapper_ext/rad"
8
+
9
+ require "mongo_mapper_ext/mongo_mapper/spec"
10
+ require "mongo_mapper_ext/rad/spec"
@@ -1,5 +1,4 @@
1
- require 'spec_helper'
2
- require "mongo_mapper_ext/rad"
1
+ require 'rad/spec_helper'
3
2
 
4
3
  describe "Uploading" do
5
4
  with_tmp_spec_dir
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongo_mapper_ext
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -14,7 +14,7 @@ default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: mongo_mapper
17
- requirement: &2795830 !ruby/object:Gem::Requirement
17
+ requirement: &2795840 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - =
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: 0.9.0
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *2795830
25
+ version_requirements: *2795840
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: carrierwave
28
- requirement: &2795590 !ruby/object:Gem::Requirement
28
+ requirement: &2795620 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - =
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: 0.5.3
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *2795590
36
+ version_requirements: *2795620
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: i18n
39
- requirement: &2795370 !ruby/object:Gem::Requirement
39
+ requirement: &2795380 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - =
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: 0.5.0
45
45
  type: :runtime
46
46
  prerelease: false
47
- version_requirements: *2795370
47
+ version_requirements: *2795380
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: activesupport
50
- requirement: &2795150 !ruby/object:Gem::Requirement
50
+ requirement: &2795160 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - =
@@ -55,10 +55,10 @@ dependencies:
55
55
  version: 3.0.7
56
56
  type: :runtime
57
57
  prerelease: false
58
- version_requirements: *2795150
58
+ version_requirements: *2795160
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: activemodel
61
- requirement: &2794920 !ruby/object:Gem::Requirement
61
+ requirement: &2794940 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - =
@@ -66,10 +66,10 @@ dependencies:
66
66
  version: 3.0.7
67
67
  type: :runtime
68
68
  prerelease: false
69
- version_requirements: *2794920
69
+ version_requirements: *2794940
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: bson
72
- requirement: &2794680 !ruby/object:Gem::Requirement
72
+ requirement: &2794690 !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
75
  - - =
@@ -77,10 +77,10 @@ dependencies:
77
77
  version: 1.3.0
78
78
  type: :runtime
79
79
  prerelease: false
80
- version_requirements: *2794680
80
+ version_requirements: *2794690
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: bson_ext
83
- requirement: &2794460 !ruby/object:Gem::Requirement
83
+ requirement: &2794480 !ruby/object:Gem::Requirement
84
84
  none: false
85
85
  requirements:
86
86
  - - =
@@ -88,10 +88,10 @@ dependencies:
88
88
  version: 1.3.0
89
89
  type: :runtime
90
90
  prerelease: false
91
- version_requirements: *2794460
91
+ version_requirements: *2794480
92
92
  - !ruby/object:Gem::Dependency
93
93
  name: mongo
94
- requirement: &2794250 !ruby/object:Gem::Requirement
94
+ requirement: &2794260 !ruby/object:Gem::Requirement
95
95
  none: false
96
96
  requirements:
97
97
  - - =
@@ -99,10 +99,10 @@ dependencies:
99
99
  version: 1.3.0
100
100
  type: :runtime
101
101
  prerelease: false
102
- version_requirements: *2794250
102
+ version_requirements: *2794260
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: plucky
105
- requirement: &2794030 !ruby/object:Gem::Requirement
105
+ requirement: &2794040 !ruby/object:Gem::Requirement
106
106
  none: false
107
107
  requirements:
108
108
  - - =
@@ -110,10 +110,10 @@ dependencies:
110
110
  version: 0.3.6
111
111
  type: :runtime
112
112
  prerelease: false
113
- version_requirements: *2794030
113
+ version_requirements: *2794040
114
114
  - !ruby/object:Gem::Dependency
115
115
  name: jnunemaker-validatable
116
- requirement: &2793810 !ruby/object:Gem::Requirement
116
+ requirement: &2793820 !ruby/object:Gem::Requirement
117
117
  none: false
118
118
  requirements:
119
119
  - - =
@@ -121,10 +121,10 @@ dependencies:
121
121
  version: 1.8.4
122
122
  type: :runtime
123
123
  prerelease: false
124
- version_requirements: *2793810
124
+ version_requirements: *2793820
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: mini_magick
127
- requirement: &2793600 !ruby/object:Gem::Requirement
127
+ requirement: &2793610 !ruby/object:Gem::Requirement
128
128
  none: false
129
129
  requirements:
130
130
  - - =
@@ -132,10 +132,10 @@ dependencies:
132
132
  version: 3.2.1
133
133
  type: :runtime
134
134
  prerelease: false
135
- version_requirements: *2793600
135
+ version_requirements: *2793610
136
136
  - !ruby/object:Gem::Dependency
137
137
  name: subexec
138
- requirement: &2793390 !ruby/object:Gem::Requirement
138
+ requirement: &2793400 !ruby/object:Gem::Requirement
139
139
  none: false
140
140
  requirements:
141
141
  - - =
@@ -143,7 +143,7 @@ dependencies:
143
143
  version: 0.0.4
144
144
  type: :runtime
145
145
  prerelease: false
146
- version_requirements: *2793390
146
+ version_requirements: *2793400
147
147
  description:
148
148
  email:
149
149
  executables: []
@@ -152,38 +152,51 @@ extra_rdoc_files: []
152
152
  files:
153
153
  - Rakefile
154
154
  - readme.md
155
- - lib/mongo_db_ext/micelaneous.rb
155
+ - lib/mongo_mapper_ext/carrier_wave/fixes.rb
156
+ - lib/mongo_mapper_ext/carrier_wave/micelaneous.rb
157
+ - lib/mongo_mapper_ext/carrier_wave/mongo_mapper/plugins/carrier_wave.rb
158
+ - lib/mongo_mapper_ext/carrier_wave.rb
156
159
  - lib/mongo_mapper_ext/gems.rb
157
- - lib/mongo_mapper_ext/hacks/active_model.rb
158
- - lib/mongo_mapper_ext/hacks/fixes.rb
159
- - lib/mongo_mapper_ext/logging.rb
160
- - lib/mongo_mapper_ext/migration.rb
160
+ - lib/mongo_mapper_ext/mongo_db/upsert.rb
161
+ - lib/mongo_mapper_ext/mongo_db.rb
162
+ - lib/mongo_mapper_ext/mongo_mapper/fixes.rb
163
+ - lib/mongo_mapper_ext/mongo_mapper/hacks.rb
164
+ - lib/mongo_mapper_ext/mongo_mapper/locales/activemodel/ru.yml
165
+ - lib/mongo_mapper_ext/mongo_mapper/locales/mongo_mapper/en.yml
166
+ - lib/mongo_mapper_ext/mongo_mapper/locales/mongo_mapper/ru.yml
167
+ - lib/mongo_mapper_ext/mongo_mapper/logging.rb
168
+ - lib/mongo_mapper_ext/mongo_mapper/migration.rb
169
+ - lib/mongo_mapper_ext/mongo_mapper/plugins/attribute_cache.rb
170
+ - lib/mongo_mapper_ext/mongo_mapper/plugins/attribute_convertors.rb
171
+ - lib/mongo_mapper_ext/mongo_mapper/plugins/belongs_to_with_counter_cache.rb
172
+ - lib/mongo_mapper_ext/mongo_mapper/plugins/custom_scope.rb
173
+ - lib/mongo_mapper_ext/mongo_mapper/plugins/db_config.rb
174
+ - lib/mongo_mapper_ext/mongo_mapper/plugins/micelaneous.rb
175
+ - lib/mongo_mapper_ext/mongo_mapper/spec.rb
176
+ - lib/mongo_mapper_ext/mongo_mapper/support.rb
177
+ - lib/mongo_mapper_ext/mongo_mapper/view_helpers.rb
161
178
  - lib/mongo_mapper_ext/mongo_mapper.rb
162
- - lib/mongo_mapper_ext/plugins/attribute_cache.rb
163
- - lib/mongo_mapper_ext/plugins/attribute_convertors.rb
164
- - lib/mongo_mapper_ext/plugins/belongs_to_with_counter_cache.rb
165
- - lib/mongo_mapper_ext/plugins/carrierwave.rb
166
- - lib/mongo_mapper_ext/plugins/custom_scope.rb
167
- - lib/mongo_mapper_ext/plugins/db_config.rb
168
- - lib/mongo_mapper_ext/plugins/micelaneous.rb
169
179
  - lib/mongo_mapper_ext/rad/file_uploader.rb
180
+ - lib/mongo_mapper_ext/rad/spec.rb
170
181
  - lib/mongo_mapper_ext/rad.rb
171
- - lib/mongo_mapper_ext/spec.rb
172
182
  - lib/mongo_mapper_ext/tasks.rb
173
- - lib/mongo_mapper_ext/view_helpers.rb
174
- - lib/mongo_mapper_ext.rb
175
- - spec/attribute_convertors_spec.rb
176
- - spec/carrierwave_spec/plane.jpg
177
- - spec/carrierwave_spec.rb
178
- - spec/custom_scope_spec.rb
179
- - spec/micelaneous_plugin_spec.rb
180
- - spec/micelaneous_spec.rb
181
- - spec/migration_spec.rb
182
- - spec/mongo_mapper_spec.rb
183
- - spec/spec_helper.rb
184
- - spec/uploading_spec/ship.jpg
185
- - spec/uploading_spec/файл с пробелами.txt
186
- - spec/uploading_spec.rb
183
+ - spec/carrier_wave/carrier_wave_spec/plane.jpg
184
+ - spec/carrier_wave/carrier_wave_spec.rb
185
+ - spec/carrier_wave/spec_helper.rb
186
+ - spec/mongo_db/spec_helper.rb
187
+ - spec/mongo_db/upsert_spec.rb
188
+ - spec/mongo_mapper/attribute_convertors_spec.rb
189
+ - spec/mongo_mapper/belongs_to_with_counter_cache_spec.rb
190
+ - spec/mongo_mapper/custom_scope_spec.rb
191
+ - spec/mongo_mapper/micelaneous_plugin_spec.rb
192
+ - spec/mongo_mapper/micelaneous_spec.rb
193
+ - spec/mongo_mapper/migration_spec.rb
194
+ - spec/mongo_mapper/mongo_mapper_spec.rb
195
+ - spec/mongo_mapper/spec_helper.rb
196
+ - spec/rad/spec_helper.rb
197
+ - spec/rad/uploading_spec/ship.jpg
198
+ - spec/rad/uploading_spec/файл с пробелами.txt
199
+ - spec/rad/uploading_spec.rb
187
200
  has_rdoc: true
188
201
  homepage: http://github.com/alexeypetrushin/mongo_mapper
189
202
  licenses: []
@@ -1,49 +0,0 @@
1
- require 'mongo_mapper_ext/gems'
2
-
3
- require 'mongo_mapper'
4
- require 'carrierwave'
5
-
6
- %w(
7
- micelaneous
8
- ).each{|file| require "mongo_db_ext/#{file}"}
9
-
10
- %w(
11
- hacks/fixes
12
- hacks/active_model
13
-
14
- migration
15
- mongo_mapper
16
- view_helpers
17
- logging
18
-
19
- plugins/db_config
20
- plugins/custom_scope
21
- plugins/attribute_cache
22
- plugins/carrierwave
23
- plugins/attribute_convertors
24
- plugins/micelaneous
25
- plugins/belongs_to_with_counter_cache
26
- ).each{|file| require "mongo_mapper_ext/#{file}"}
27
-
28
- #
29
- # Default plugins and settings
30
- #
31
- module MongoMapper::Plugins
32
- [CustomScope, AttributeCache, AttributeConvertors, BelongsToWithCounterCache, Micelaneous, CarrierWave, DbConfig].each do |plugin|
33
- ::MongoMapper::Document.send :include, plugin
34
- end
35
- end
36
-
37
- #
38
- # Attribute protection
39
- #
40
- MongoMapper::Document.included do
41
- attr_protected :id, :_id, :_type, :created_at, :updated_at
42
- end
43
-
44
-
45
- #
46
- # Locales
47
- #
48
- dir = File.expand_path("#{__FILE__}/../..")
49
- I18n.load_path += Dir["#{dir}/locales/**/*.{rb,yml}"]
@@ -1,42 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe "MongoMapper & CarrierWave" do
4
- with_mongo_mapper
5
- with_tmp_spec_dir
6
-
7
- before :all do
8
- class PlaneUploader < CarrierWave::Uploader::Base
9
- storage :file
10
-
11
- class << self
12
- attr_accessor :store_dir
13
- end
14
-
15
- def store_dir
16
- self.class.store_dir
17
- end
18
- end
19
-
20
- class Plane
21
- include MongoMapper::Document
22
-
23
- mount_uploader :image, PlaneUploader
24
- end
25
- end
26
- after(:all){remove_constants :Plane, :PlaneUploader}
27
-
28
- before do
29
- PlaneUploader.store_dir = "#{spec_dir}/data"
30
- end
31
-
32
- it "basic" do
33
- plane = Plane.new
34
- File.open "#{spec_dir}/plane.jpg" do |f|
35
- plane.image = f
36
- plane.save!
37
- end
38
-
39
- plane.image.current_path.should == '/tmp/carrierwave_spec/data/plane.jpg'
40
- File.should exist("#{spec_dir}/data/plane.jpg")
41
- end
42
- end
@@ -1,70 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe "MongoMapper Default Scope" do
4
- with_mongo_mapper
5
-
6
- before :all do
7
- class ::Post
8
- include MongoMapper::Document
9
- include MongoMapper::Plugins::Micelaneous
10
-
11
- key :comments_count, Integer, default: 0
12
- has_many :comments
13
- end
14
-
15
- class ::Comment
16
- include MongoMapper::Document
17
- include MongoMapper::Plugins::Micelaneous
18
-
19
- key :post_id
20
- belongs_to :post, counter_cache: true
21
- end
22
- end
23
- after(:all){remove_constants %w{Post Comment Post2 Namespace}}
24
-
25
- it "should increase count of comments" do
26
- post = Post.create!
27
- comment = post.comments.create!
28
-
29
- post.reload
30
- post.comments_count.should == 1
31
- end
32
-
33
- it "should decrease count of comments" do
34
- post = Post.create!
35
- comment = post.comments.create!
36
- post.reload
37
- post.comments_count.should == 1
38
-
39
- comment.destroy
40
- post.reload
41
- post.comments_count.should == 0
42
- end
43
-
44
- describe "model_name" do
45
- it "basic" do
46
- Post.model_name.should == "Post"
47
- Post.model_name "SuperPost"
48
- Post.model_name.should == "SuperPost"
49
- end
50
-
51
- it "by default should be initialized from class alias" do
52
- class ::Post2
53
- include MongoMapper::Document
54
- include MongoMapper::Plugins::Micelaneous
55
-
56
- self.alias 'PostAlias'
57
- end
58
-
59
- module ::Namespace
60
- class Post
61
- include MongoMapper::Document
62
- include MongoMapper::Plugins::Micelaneous
63
- end
64
- end
65
-
66
- Post2.model_name.should == 'PostAlias'
67
- Namespace::Post.model_name.should == 'Post' # not the Namespace::Post
68
- end
69
- end
70
- end
data/spec/spec_helper.rb DELETED
@@ -1,6 +0,0 @@
1
- require 'rspec_ext'
2
-
3
- require "mongo_mapper"
4
-
5
- require "mongo_mapper_ext"
6
- require "mongo_mapper_ext/spec"