mm_no_empties 0.0.1 → 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.
@@ -1,3 +1,3 @@
1
1
  module MmNoEmpties
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
data/lib/mm_no_empties.rb CHANGED
@@ -16,7 +16,7 @@ module MmNoEmpties
16
16
  else
17
17
  keys.select do |name, key|
18
18
  val = self[key.name]
19
- key.type == ObjectId or
19
+ #key.type == ObjectId or # this is in the original :attributes implementation, but is seems safe to remove it as 'belongs_to: nil' if it's missing
20
20
  not (val.nil? or (val.respond_to?(:empty?) and val.empty?))
21
21
  end
22
22
  end
@@ -3,11 +3,19 @@ require File.expand_path('../../lib/mm_no_empties', __FILE__)
3
3
  describe MmNoEmpties do
4
4
 
5
5
  before(:all) do
6
+ class Company
7
+ include MongoMapper::Document
8
+ many :groups
9
+ end
10
+
6
11
  class Group
7
12
  include MongoMapper::Document
8
13
  plugin MmNoEmpties
9
14
 
10
15
  many :people, :class_name => 'Person'
16
+ belongs_to :company
17
+
18
+ key :motto, String
11
19
 
12
20
  key :names, Array
13
21
  key :counts, Hash
@@ -35,8 +43,12 @@ describe MmNoEmpties do
35
43
  @group.attributes.keys.should_not include('names', 'counts', 'tags')
36
44
  end
37
45
 
46
+ it "should not include nil values in 'attributes'" do
47
+ @group.attributes.keys.should_not include('motto')
48
+ end
49
+
38
50
  it "should not include unused many associations in attributes" do
39
- @group.attributes.keys.should_not include('people')
51
+ @group.attributes.keys.should_not include('people', 'company_id')
40
52
  end
41
53
 
42
54
  it "should restore empty fields when loading from the database" do
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 0
8
- - 1
9
- version: 0.0.1
8
+ - 2
9
+ version: 0.0.2
10
10
  platform: ruby
11
11
  authors:
12
12
  - Jonathan Chambers