mongoid-tags-arent-hard 1.0.7 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,13 +1,13 @@
1
1
  module Mongoid
2
2
  module TagsArentHard
3
- class Tags
3
+ class Tags < BasicObject
4
4
 
5
5
  attr_accessor :tag_list
6
6
  attr_accessor :options
7
- delegate :join, :map, :each, :inspect, :==, :===, :eql?, :__bson_dump__, :delete, :&, :to_ary, :to_json, :as_json, to: :tag_list
7
+ # delegate :join, :map, :each, :inspect, :==, :===, :eql?, :__bson_dump__, :delete, :&, :to_ary, :to_json, :as_json, to: :tag_list
8
8
 
9
9
  def initialize(*tag_list, options)
10
- self.options = {separator: Mongoid::TagsArentHard.config.separator}.merge(options)
10
+ self.options = {separator: ::Mongoid::TagsArentHard.config.separator}.merge(options)
11
11
  self.tag_list = []
12
12
  self.<<(*tag_list)
13
13
  end
@@ -39,6 +39,30 @@ module Mongoid
39
39
  self.to_s
40
40
  end
41
41
 
42
+ def method_missing(sym, *args, &block)
43
+ self.tag_list.send(sym, *args, &block)
44
+ end
45
+
46
+ def respond_to_missing?(method_name, include_private = false)
47
+ self.tag_list.respond_to?(method_name)
48
+ end
49
+
50
+ def kind_of?(klass)
51
+ klass == ::Mongoid::TagsArentHard::Tags || klass == ::Array
52
+ end
53
+
54
+ def is_a?(klass)
55
+ self.kind_of?(klass)
56
+ end
57
+
58
+ def ==(other)
59
+ self.tag_list == other
60
+ end
61
+
62
+ def !=(other)
63
+ !self.==(other)
64
+ end
65
+
42
66
  end
43
67
  end
44
68
  end
@@ -2,7 +2,7 @@ module Mongoid
2
2
  module Tags
3
3
  module Arent
4
4
  module Hard
5
- VERSION = "1.0.7"
5
+ VERSION = "1.1.0"
6
6
  end
7
7
  end
8
8
  end
@@ -105,4 +105,28 @@ describe Mongoid::TagsArentHard::Tags do
105
105
 
106
106
  end
107
107
 
108
+ describe "!=" do
109
+
110
+ it "works correctly against an array" do
111
+ expect {
112
+ if tags != tags.tag_list
113
+ raise "Hell!"
114
+ end
115
+ }.to_not raise_error
116
+ end
117
+
118
+ end
119
+
120
+ describe "==" do
121
+
122
+ it "works correctly against an array" do
123
+ expect {
124
+ if tags == tags.tag_list
125
+ raise "Hell!"
126
+ end
127
+ }.to raise_error
128
+ end
129
+
130
+ end
131
+
108
132
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongoid-tags-arent-hard
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.7
4
+ version: 1.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-10-02 00:00:00.000000000 Z
12
+ date: 2012-10-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: mongoid