mongoid-tags-arent-hard 1.1.3 → 1.1.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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 7c07a5ad9f79751620008650dd735bf2901a4175
4
+ data.tar.gz: 6144978084a1704c7acdf8f07b2895d3f95b60cb
5
+ SHA512:
6
+ metadata.gz: d0b6ed31ce2833dc05c85fb0e572b6ff7664db0d03fe499a5ac72c61ba07cdc4103828db566ab0fb0cedcd1061f7fe6b79ef013a92dcf7eb7a69f595347ec7de
7
+ data.tar.gz: 7009e6674ce1405500b287d653d6a9b8de7e86194b09c88d223174ce40c2f9f21a8a4f39ae420671dcce68ed3a7e1280b7fdd203cc5f72ead3c1088a17c9b4d3
data/README.md CHANGED
@@ -105,7 +105,8 @@ Again, notice that you can use either a string, an array, or a splatted list as
105
105
  ## Contributers
106
106
 
107
107
  * Mark Bates
108
- * Carsten Block
108
+ * Dave South
109
109
  * Luke Bergen
110
- * Laurent Arnoud
111
- * thomas morgan
110
+ * Carsten Block
111
+ * thomas morgan
112
+ * Laurent Arnoud
@@ -1,12 +1,12 @@
1
1
  module Mongoid
2
2
  module TagsArentHard
3
-
3
+
4
4
  def self.included(klass)
5
5
  klass.extend(ClassMethods)
6
6
  end
7
7
 
8
8
  module ClassMethods
9
-
9
+
10
10
  def taggable_with(name, options = {})
11
11
  options = {separator: Mongoid::TagsArentHard.config.separator, _name: name}.merge(options)
12
12
  self.field(name, type: Mongoid::TagsArentHard::Tags, default: Mongoid::TagsArentHard::Tags.new([], options))
@@ -34,7 +34,7 @@ module Mongoid
34
34
  end
35
35
 
36
36
  self.class.send(:define_method, "all_#{name}") do
37
- queryable.distinct(name.to_s)
37
+ all.distinct(name.to_s)
38
38
  end
39
39
 
40
40
 
@@ -2,7 +2,7 @@ module Mongoid
2
2
  module Tags
3
3
  module Arent
4
4
  module Hard
5
- VERSION = "1.1.3"
5
+ VERSION = "1.1.4"
6
6
  end
7
7
  end
8
8
  end
@@ -6,12 +6,15 @@ class Foo
6
6
 
7
7
  field :label
8
8
 
9
+ field :account, default: 'a'
10
+ default_scope ->{ where(account: 'a') }
11
+
9
12
  taggable_with :tags
10
13
  taggable_with :colors, separator: ";"
11
14
  end
12
15
 
13
16
  describe Mongoid::TagsArentHard do
14
-
17
+
15
18
  let(:foo) { Foo.new }
16
19
 
17
20
  {tags: ",", colors: ";"}.each do |_name, _separator|
@@ -32,11 +35,11 @@ describe Mongoid::TagsArentHard do
32
35
  foo.send("#{_name}=", ["foo", "bar"])
33
36
  foo.send(_name).should eql(["foo","bar"])
34
37
  end
35
-
38
+
36
39
  end
37
40
 
38
41
  describe '#save' do
39
-
42
+
40
43
  it "saves the #{_name} correctly" do
41
44
  foo.send("#{_name}=", "foo#{_separator}bar")
42
45
  foo.save!
@@ -47,7 +50,7 @@ describe Mongoid::TagsArentHard do
47
50
  end
48
51
 
49
52
  describe '+=' do
50
-
53
+
51
54
  it "adds and replaces using a string" do
52
55
  foo.send("#{_name}=", ["foo", "bar"])
53
56
  foo.send(_name).should eql(["foo","bar"])
@@ -81,7 +84,7 @@ describe Mongoid::TagsArentHard do
81
84
  end
82
85
 
83
86
  describe 'changes' do
84
-
87
+
85
88
  it "tracks changes correctly" do
86
89
  foo.save!
87
90
  foo.reload
@@ -93,6 +96,23 @@ describe Mongoid::TagsArentHard do
93
96
 
94
97
  end
95
98
 
99
+ context "default scope" do
100
+ before(:each) do
101
+ @foo1 = Foo.create!(_name => "a#{_separator}b#{_separator}c", :account => 'b')
102
+ @foo2 = Foo.create!(_name => "b#{_separator}c#{_separator}f", :account => 'a')
103
+ end
104
+
105
+ describe "all_#{_name}" do
106
+ it "returns tags per account scope" do
107
+ results = Foo.send("all_#{_name}")
108
+ results.length.should be(3)
109
+ results.should include 'b'
110
+ results.should include 'c'
111
+ results.should include 'f'
112
+ end
113
+ end
114
+ end
115
+
96
116
  context 'class scopes' do
97
117
 
98
118
  before(:each) do
@@ -124,7 +144,7 @@ describe Mongoid::TagsArentHard do
124
144
  end
125
145
 
126
146
  describe "with_#{_name}" do
127
-
147
+
128
148
  it "returns all models with a specific #{_name} (splatted)" do
129
149
  results = Foo.send("with_#{_name}", "a")
130
150
  results.should have(1).foo
@@ -150,7 +170,7 @@ describe Mongoid::TagsArentHard do
150
170
  end
151
171
 
152
172
  describe "with_any_#{_name}" do
153
-
173
+
154
174
  it "returns all models with any #{_name} (splatted)" do
155
175
  results = Foo.send("with_any_#{_name}", "a")
156
176
  results.should have(1).foo
@@ -202,7 +222,7 @@ describe Mongoid::TagsArentHard do
202
222
  end
203
223
 
204
224
  describe "with_all_#{_name}" do
205
-
225
+
206
226
  it "returns all models with all #{_name} (splatted)" do
207
227
  results = Foo.send("with_all_#{_name}", "a")
208
228
  results.should have(1).foo
metadata CHANGED
@@ -1,30 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongoid-tags-arent-hard
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.3
5
- prerelease:
4
+ version: 1.1.4
6
5
  platform: ruby
7
6
  authors:
8
7
  - Mark Bates
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-04-27 00:00:00.000000000 Z
11
+ date: 2013-07-24 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: mongoid
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: 3.0.0
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - '>='
28
25
  - !ruby/object:Gem::Version
29
26
  version: 3.0.0
30
27
  description: A tagging gem for Mongoid 3 that doesn't actually suck.
@@ -51,30 +48,30 @@ files:
51
48
  - spec/tags_arent_hard/tags_spec.rb
52
49
  homepage: ''
53
50
  licenses: []
51
+ metadata: {}
54
52
  post_install_message:
55
53
  rdoc_options: []
56
54
  require_paths:
57
55
  - lib
58
56
  required_ruby_version: !ruby/object:Gem::Requirement
59
- none: false
60
57
  requirements:
61
- - - ! '>='
58
+ - - '>='
62
59
  - !ruby/object:Gem::Version
63
60
  version: '0'
64
61
  required_rubygems_version: !ruby/object:Gem::Requirement
65
- none: false
66
62
  requirements:
67
- - - ! '>='
63
+ - - '>='
68
64
  - !ruby/object:Gem::Version
69
65
  version: '0'
70
66
  requirements: []
71
67
  rubyforge_project:
72
- rubygems_version: 1.8.25
68
+ rubygems_version: 2.0.3
73
69
  signing_key:
74
- specification_version: 3
70
+ specification_version: 4
75
71
  summary: A tagging gem for Mongoid 3 that doesn't actually suck.
76
72
  test_files:
77
73
  - spec/config.yml
78
74
  - spec/spec_helper.rb
79
75
  - spec/tags_arent_hard/tags_arent_hard_spec.rb
80
76
  - spec/tags_arent_hard/tags_spec.rb
77
+ has_rdoc: