mongoid_taggable_with_context 0.7.2 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -1,18 +1,19 @@
1
1
  source 'http://rubygems.org'
2
2
 
3
- gem 'mongoid', '~> 2.1.0'
3
+ gem 'mongoid', '>= 2.0.0'
4
4
 
5
5
  # Add dependencies to develop your gem here.
6
6
  # Include everything needed to run rake, tests, features, etc.
7
7
  group :development do
8
8
  gem 'database_cleaner'
9
- gem 'bson', '~> 1.3.0'
10
- gem 'bson_ext', '~> 1.3.0'
11
- gem 'rspec', '~> 2.3.0'
12
- gem 'yard', '~> 0.6.0'
13
- gem 'bundler', '~> 1.0.0'
14
- gem 'jeweler', '~> 1.5.2'
15
- gem 'rcov', '>= 0'
16
- gem 'reek', '~> 1.2.8'
17
- gem 'roodi', '~> 2.1.0'
9
+ gem 'bson'
10
+ gem 'bson_ext'
11
+ gem 'rspec'
12
+ gem 'yard'
13
+ gem 'bundler', '>= 1.0.0'
14
+ gem 'jeweler'
15
+ gem 'rcov'
16
+ gem 'reek'
17
+ gem 'roodi'
18
18
  end
19
+
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.7.2
1
+ 0.8.0
@@ -1,16 +1,20 @@
1
1
  module Mongoid::TaggableWithContext
2
2
  extend ActiveSupport::Concern
3
-
3
+
4
4
  class AggregationStrategyMissing < Exception; end
5
5
 
6
6
  included do
7
7
  class_attribute :taggable_with_context_options
8
+ class_attribute :context_array_to_context_hash
8
9
  self.taggable_with_context_options = {}
9
- delegate "convert_string_to_array", :to => 'self.class'
10
- delegate "convert_array_to_string", :to => 'self.class'
11
- delegate "get_tag_separator_for", :to => 'self.class'
12
- delegate "tag_contexts", :to => 'self.class'
13
- delegate "tag_options_for", :to => 'self.class'
10
+ self.context_array_to_context_hash = {}
11
+ delegate "convert_string_to_array", :to => 'self.class'
12
+ delegate "convert_array_to_string", :to => 'self.class'
13
+ delegate "get_tag_separator_for", :to => 'self.class'
14
+ delegate "tag_contexts", :to => 'self.class'
15
+ delegate "tag_options_for", :to => 'self.class'
16
+ delegate "tag_array_attributes", :to => 'self.class'
17
+ delegate "context_array_to_context_hash", :to => 'self.class'
14
18
  end
15
19
 
16
20
  module ClassMethods
@@ -44,60 +48,63 @@ module Mongoid::TaggableWithContext
44
48
  :array_field => "#{tags_field}_array".to_sym
45
49
  )
46
50
  tags_array_field = options[:array_field]
47
-
51
+
48
52
  # register / update settings
49
- class_options = taggable_with_context_options || {}
50
- class_options[tags_field] = options
51
- self.taggable_with_context_options = class_options
52
-
53
+ self.taggable_with_context_options[tags_field] = options
54
+ self.context_array_to_context_hash[options[:array_field]] = tags_field
55
+
53
56
  # setup fields & indexes
54
- field tags_field, :default => ""
55
57
  field tags_array_field, :type => Array, :default => []
56
- index tags_array_field
57
-
58
+ index tags_array_field
59
+
58
60
  # singleton methods
59
61
  class_eval <<-END
60
62
  class << self
63
+ # retrieve all tags ever created for the model
61
64
  def #{tags_field}
62
65
  tags_for(:"#{tags_field}")
63
66
  end
64
-
67
+
68
+ # retrieve all tags ever created for the model with weights
65
69
  def #{tags_field}_with_weight
66
70
  tags_with_weight_for(:"#{tags_field}")
67
71
  end
68
-
72
+
69
73
  def #{tags_field}_separator
70
74
  get_tag_separator_for(:"#{tags_field}")
71
75
  end
72
-
76
+
73
77
  def #{tags_field}_separator=(value)
74
78
  set_tag_separator_for(:"#{tags_field}", value)
75
79
  end
76
-
80
+
77
81
  def #{tags_field}_tagged_with(tags)
78
82
  tagged_with(:"#{tags_field}", tags)
79
83
  end
80
84
  end
81
85
  END
82
-
86
+
83
87
  # instance methods
84
88
  class_eval <<-END
89
+ def #{tags_field}
90
+ convert_array_to_string(#{tags_array_field}, get_tag_separator_for(:"#{tags_field}"))
91
+ end
85
92
  def #{tags_field}=(s)
86
- super
87
93
  write_attribute(:#{tags_array_field}, convert_string_to_array(s, get_tag_separator_for(:"#{tags_field}")))
88
94
  end
89
-
90
- def #{tags_array_field}=(a)
91
- super
92
- write_attribute(:#{tags_field}, convert_array_to_string(a, get_tag_separator_for(:"#{tags_field}")))
93
- end
94
95
  END
95
96
  end
96
-
97
+
97
98
  def tag_contexts
98
99
  self.taggable_with_context_options.keys
99
100
  end
100
101
 
102
+ def tag_array_attributes
103
+ self.taggable_with_context_options.keys.map do |context|
104
+ tag_options_for(context)[:array_field]
105
+ end
106
+ end
107
+
101
108
  def tag_options_for(context)
102
109
  self.taggable_with_context_options[context]
103
110
  end
@@ -105,11 +112,11 @@ module Mongoid::TaggableWithContext
105
112
  def tags_for(context, conditions={})
106
113
  raise AggregationStrategyMissing
107
114
  end
108
-
115
+
109
116
  def tags_with_weight_for(context, conditions={})
110
117
  raise AggregationStrategyMissing
111
118
  end
112
-
119
+
113
120
  def get_tag_separator_for(context)
114
121
  self.taggable_with_context_options[context][:separator]
115
122
  end
@@ -117,7 +124,7 @@ module Mongoid::TaggableWithContext
117
124
  def set_tag_separator_for(context, value)
118
125
  self.taggable_with_context_options[context][:separator] = value.nil? ? " " : value.to_s
119
126
  end
120
-
127
+
121
128
  # Find documents tagged with all tags passed as a parameter, given
122
129
  # as an Array or a String using the configured separator.
123
130
  #
@@ -134,15 +141,23 @@ module Mongoid::TaggableWithContext
134
141
  array_field = tag_options_for(context)[:array_field]
135
142
  all_in(array_field => tags)
136
143
  end
137
-
144
+
138
145
  # Helper method to convert a String to an Array based on the
139
146
  # configured tag separator.
140
- def convert_string_to_array(str = "", seperator = " ")
141
- str.split(seperator).map(&:strip).uniq.compact
147
+ def convert_string_to_array(str = "", separator = " ")
148
+ clean_up_array(str.split(separator))
142
149
  end
143
-
144
- def convert_array_to_string(ary = [], seperator = " ")
145
- ary.uniq.compact.join(seperator)
150
+
151
+ def convert_array_to_string(ary = [], separator = " ")
152
+ clean_up_array(ary).join(separator)
153
+ end
154
+
155
+ def clean_up_array(ary = [])
156
+ # 0). remove all nil values
157
+ # 1). strip all white spaces. Could leave blank strings (e.g. foo, , bar, baz)
158
+ # 2). remove all blank strings
159
+ # 3). remove duplicate
160
+ ary.compact.map(&:strip).reject(&:blank?).uniq
146
161
  end
147
162
  end
148
163
  end
@@ -2,9 +2,8 @@ module Mongoid::TaggableWithContext::AggregationStrategy
2
2
  module MapReduce
3
3
  extend ActiveSupport::Concern
4
4
  included do
5
- set_callback :create, :after, :update_tags_agregation_on_create
6
- set_callback :save, :after, :update_tags_aggregation_on_update
7
- set_callback :destroy, :after, :update_tags_aggregation_on_destroy
5
+ set_callback :save, :after, :map_reduce_all_contexts!, :if => :tags_changed?
6
+ set_callback :destroy, :after, :map_reduce_all_contexts!
8
7
  delegate :aggregation_collection_for, :to => "self.class"
9
8
  end
10
9
 
@@ -28,50 +27,22 @@ module Mongoid::TaggableWithContext::AggregationStrategy
28
27
  end
29
28
 
30
29
  protected
31
-
32
- def trigger_update_tags_aggregation_on_create?
33
- changes.empty?
34
- end
35
-
36
- def trigger_update_tags_aggregation_on_update?
37
- !changed_contexts.empty?
30
+
31
+ def changed_tag_arrays
32
+ tag_array_attributes & changes.keys.map(&:to_sym)
38
33
  end
39
34
 
40
- def trigger_update_tags_aggregation_on_destroy?
41
- true
35
+ def tags_changed?
36
+ !changed_tag_arrays.empty?
42
37
  end
43
38
 
44
- def update_tags_agregation_on_create
45
- return unless trigger_update_tags_aggregation_on_create?
46
-
39
+ def map_reduce_all_contexts!
47
40
  tag_contexts.each do |context|
48
- map_reduce_context_tags!(context)
49
- end
50
- end
51
-
52
- def update_tags_aggregation_on_update
53
- return unless trigger_update_tags_aggregation_on_update?
54
-
55
- changed_contexts.each do |context|
56
- map_reduce_context_tags!(context)
41
+ map_reduce_context!(context)
57
42
  end
58
43
  end
59
-
60
- def update_tags_aggregation_on_destroy
61
- return unless trigger_update_tags_aggregation_on_destroy?
62
-
63
- tag_contexts.each do |context|
64
- map_reduce_context_tags!(context)
65
- end
66
- end
67
-
68
- private
69
-
70
- def changed_contexts
71
- tag_contexts & changes.keys.map(&:to_sym)
72
- end
73
44
 
74
- def map_reduce_context_tags!(context)
45
+ def map_reduce_context!(context)
75
46
  field = tag_options_for(context)[:array_field]
76
47
 
77
48
  map = <<-END
@@ -3,9 +3,8 @@ module Mongoid::TaggableWithContext::AggregationStrategy
3
3
  extend ActiveSupport::Concern
4
4
 
5
5
  included do
6
- set_callback :create, :after, :increment_tags_agregation
7
- set_callback :save, :after, :update_tags_aggregation
8
- set_callback :destroy, :after, :decrement_tags_aggregation
6
+ set_callback :save, :after, :update_tags_aggregations_on_save
7
+ set_callback :destroy, :after, :update_tags_aggregations_on_destroy
9
8
  end
10
9
 
11
10
  module ClassMethods
@@ -27,66 +26,42 @@ module Mongoid::TaggableWithContext::AggregationStrategy
27
26
  end
28
27
  end
29
28
 
30
- private
31
- def need_update_tags_aggregation?
32
- !changed_contexts.empty?
33
- end
34
-
35
- def changed_contexts
36
- tag_contexts & changes.keys.map(&:to_sym)
37
- end
29
+ protected
38
30
 
39
- def increment_tags_agregation
40
- # if document is created by using MyDocument.new
41
- # and attributes are individually assigned
42
- # #changes won't be empty and aggregation
43
- # is updated in after_save, so we simply skip it.
44
- return unless changes.empty?
31
+ def update_tags_aggregation(context_array_field, old_tags=[], new_tags=[])
32
+ context = context_array_to_context_hash[context_array_field]
33
+ coll = self.class.db.collection(self.class.aggregation_collection_for(context))
45
34
 
46
- # if the document is created by using MyDocument.create(:tags => "tag1 tag2")
47
- # #changes hash is empty and we have to update aggregation here
48
- tag_contexts.each do |context|
49
- coll = self.class.db.collection(self.class.aggregation_collection_for(context))
50
- field_name = self.class.tag_options_for(context)[:array_field]
51
- tags = self.send field_name || []
52
- tags.each do |t|
53
- coll.update({:_id => t}, {'$inc' => {:value => 1}}, :upsert => true)
54
- end
35
+ old_tags ||= []
36
+ new_tags ||= []
37
+ unchanged_tags = old_tags & new_tags
38
+ tags_removed = old_tags - unchanged_tags
39
+ tags_added = new_tags - unchanged_tags
40
+
41
+ tags_removed.each do |tag|
42
+ coll.update({:_id => tag}, {'$inc' => {:value => -1}}, :upsert => true)
55
43
  end
56
- end
57
44
 
58
- def decrement_tags_aggregation
59
- tag_contexts.each do |context|
60
- coll = self.class.db.collection(self.class.aggregation_collection_for(context))
61
- field_name = self.class.tag_options_for(context)[:array_field]
62
- tags = self.send field_name || []
63
- tags.each do |t|
64
- coll.update({:_id => t}, {'$inc' => {:value => -1}}, :upsert => true)
65
- end
66
- end
45
+ tags_added.each do |tag|
46
+ coll.update({:_id => tag}, {'$inc' => {:value => 1}}, :upsert => true)
47
+ end
67
48
  end
49
+
50
+ def update_tags_aggregations_on_save
51
+ tag_array_attributes.each do |context_array|
52
+ next if changes[context_array].nil?
68
53
 
69
- def update_tags_aggregation
70
- return unless need_update_tags_aggregation?
71
-
72
- changed_contexts.each do |context|
73
- coll = self.class.db.collection(self.class.aggregation_collection_for(context))
74
- field_name = self.class.tag_options_for(context)[:array_field]
75
- old_tags, new_tags = changes["#{field_name}"]
76
- old_tags ||= []
77
- new_tags ||= []
78
- unchanged_tags = old_tags & new_tags
79
- tags_removed = old_tags - unchanged_tags
80
- tags_added = new_tags - unchanged_tags
81
-
82
- tags_removed.each do |t|
83
- coll.update({:_id => t}, {'$inc' => {:value => -1}}, :upsert => true)
84
- end
85
-
86
- tags_added.each do |t|
87
- coll.update({:_id => t}, {'$inc' => {:value => 1}}, :upsert => true)
88
- end
54
+ old_tags, new_tags = changes[context_array]
55
+ update_tags_aggregation(context_array, old_tags, new_tags)
89
56
  end
90
57
  end
58
+
59
+ def update_tags_aggregations_on_destroy
60
+ tag_array_attributes.each do |context_array|
61
+ old_tags = send context_array
62
+ new_tags = []
63
+ update_tags_aggregation(context_array, old_tags, new_tags)
64
+ end
65
+ end
91
66
  end
92
67
  end
@@ -4,14 +4,14 @@
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
- s.name = %q{mongoid_taggable_with_context}
8
- s.version = "0.7.2"
7
+ s.name = "mongoid_taggable_with_context"
8
+ s.version = "0.8.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Aaron Qian"]
12
- s.date = %q{2011-08-04}
13
- s.description = %q{It provides some helpers to create taggable documents with context.}
14
- s.email = %q{aq1018@gmail.com}
12
+ s.date = "2011-12-20"
13
+ s.description = "It provides some helpers to create taggable documents with context."
14
+ s.email = "aq1018@gmail.com"
15
15
  s.extra_rdoc_files = [
16
16
  "LICENSE.txt",
17
17
  "README.rdoc"
@@ -32,56 +32,52 @@ Gem::Specification.new do |s|
32
32
  "spec/mongoid_taggable_with_context_spec.rb",
33
33
  "spec/spec_helper.rb"
34
34
  ]
35
- s.homepage = %q{http://github.com/aq1018/mongoid_taggable_with_context}
35
+ s.homepage = "http://github.com/aq1018/mongoid_taggable_with_context"
36
36
  s.licenses = ["MIT"]
37
37
  s.require_paths = ["lib"]
38
- s.rubygems_version = %q{1.6.2}
39
- s.summary = %q{Mongoid taggable behaviour}
40
- s.test_files = [
41
- "spec/mongoid_taggable_with_context_spec.rb",
42
- "spec/spec_helper.rb"
43
- ]
38
+ s.rubygems_version = "1.8.10"
39
+ s.summary = "Mongoid taggable behaviour"
44
40
 
45
41
  if s.respond_to? :specification_version then
46
42
  s.specification_version = 3
47
43
 
48
44
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
49
- s.add_runtime_dependency(%q<mongoid>, ["~> 2.1.0"])
45
+ s.add_runtime_dependency(%q<mongoid>, [">= 2.0.0"])
50
46
  s.add_development_dependency(%q<database_cleaner>, [">= 0"])
51
- s.add_development_dependency(%q<bson>, ["~> 1.3.0"])
52
- s.add_development_dependency(%q<bson_ext>, ["~> 1.3.0"])
53
- s.add_development_dependency(%q<rspec>, ["~> 2.3.0"])
54
- s.add_development_dependency(%q<yard>, ["~> 0.6.0"])
55
- s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
56
- s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
47
+ s.add_development_dependency(%q<bson>, [">= 0"])
48
+ s.add_development_dependency(%q<bson_ext>, [">= 0"])
49
+ s.add_development_dependency(%q<rspec>, [">= 0"])
50
+ s.add_development_dependency(%q<yard>, [">= 0"])
51
+ s.add_development_dependency(%q<bundler>, [">= 1.0.0"])
52
+ s.add_development_dependency(%q<jeweler>, [">= 0"])
57
53
  s.add_development_dependency(%q<rcov>, [">= 0"])
58
- s.add_development_dependency(%q<reek>, ["~> 1.2.8"])
59
- s.add_development_dependency(%q<roodi>, ["~> 2.1.0"])
54
+ s.add_development_dependency(%q<reek>, [">= 0"])
55
+ s.add_development_dependency(%q<roodi>, [">= 0"])
60
56
  else
61
- s.add_dependency(%q<mongoid>, ["~> 2.1.0"])
57
+ s.add_dependency(%q<mongoid>, [">= 2.0.0"])
62
58
  s.add_dependency(%q<database_cleaner>, [">= 0"])
63
- s.add_dependency(%q<bson>, ["~> 1.3.0"])
64
- s.add_dependency(%q<bson_ext>, ["~> 1.3.0"])
65
- s.add_dependency(%q<rspec>, ["~> 2.3.0"])
66
- s.add_dependency(%q<yard>, ["~> 0.6.0"])
67
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
68
- s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
59
+ s.add_dependency(%q<bson>, [">= 0"])
60
+ s.add_dependency(%q<bson_ext>, [">= 0"])
61
+ s.add_dependency(%q<rspec>, [">= 0"])
62
+ s.add_dependency(%q<yard>, [">= 0"])
63
+ s.add_dependency(%q<bundler>, [">= 1.0.0"])
64
+ s.add_dependency(%q<jeweler>, [">= 0"])
69
65
  s.add_dependency(%q<rcov>, [">= 0"])
70
- s.add_dependency(%q<reek>, ["~> 1.2.8"])
71
- s.add_dependency(%q<roodi>, ["~> 2.1.0"])
66
+ s.add_dependency(%q<reek>, [">= 0"])
67
+ s.add_dependency(%q<roodi>, [">= 0"])
72
68
  end
73
69
  else
74
- s.add_dependency(%q<mongoid>, ["~> 2.1.0"])
70
+ s.add_dependency(%q<mongoid>, [">= 2.0.0"])
75
71
  s.add_dependency(%q<database_cleaner>, [">= 0"])
76
- s.add_dependency(%q<bson>, ["~> 1.3.0"])
77
- s.add_dependency(%q<bson_ext>, ["~> 1.3.0"])
78
- s.add_dependency(%q<rspec>, ["~> 2.3.0"])
79
- s.add_dependency(%q<yard>, ["~> 0.6.0"])
80
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
81
- s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
72
+ s.add_dependency(%q<bson>, [">= 0"])
73
+ s.add_dependency(%q<bson_ext>, [">= 0"])
74
+ s.add_dependency(%q<rspec>, [">= 0"])
75
+ s.add_dependency(%q<yard>, [">= 0"])
76
+ s.add_dependency(%q<bundler>, [">= 1.0.0"])
77
+ s.add_dependency(%q<jeweler>, [">= 0"])
82
78
  s.add_dependency(%q<rcov>, [">= 0"])
83
- s.add_dependency(%q<reek>, ["~> 1.2.8"])
84
- s.add_dependency(%q<roodi>, ["~> 2.1.0"])
79
+ s.add_dependency(%q<reek>, [">= 0"])
80
+ s.add_dependency(%q<roodi>, [">= 0"])
85
81
  end
86
82
  end
87
83
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongoid_taggable_with_context
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.2
4
+ version: 0.8.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,23 +9,22 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-08-04 00:00:00.000000000 -07:00
13
- default_executable:
12
+ date: 2011-12-20 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: mongoid
17
- requirement: &2165563000 !ruby/object:Gem::Requirement
16
+ requirement: &70248022449940 !ruby/object:Gem::Requirement
18
17
  none: false
19
18
  requirements:
20
- - - ~>
19
+ - - ! '>='
21
20
  - !ruby/object:Gem::Version
22
- version: 2.1.0
21
+ version: 2.0.0
23
22
  type: :runtime
24
23
  prerelease: false
25
- version_requirements: *2165563000
24
+ version_requirements: *70248022449940
26
25
  - !ruby/object:Gem::Dependency
27
26
  name: database_cleaner
28
- requirement: &2165562520 !ruby/object:Gem::Requirement
27
+ requirement: &70248022449440 !ruby/object:Gem::Requirement
29
28
  none: false
30
29
  requirements:
31
30
  - - ! '>='
@@ -33,76 +32,76 @@ dependencies:
33
32
  version: '0'
34
33
  type: :development
35
34
  prerelease: false
36
- version_requirements: *2165562520
35
+ version_requirements: *70248022449440
37
36
  - !ruby/object:Gem::Dependency
38
37
  name: bson
39
- requirement: &2165562040 !ruby/object:Gem::Requirement
38
+ requirement: &70248022448940 !ruby/object:Gem::Requirement
40
39
  none: false
41
40
  requirements:
42
- - - ~>
41
+ - - ! '>='
43
42
  - !ruby/object:Gem::Version
44
- version: 1.3.0
43
+ version: '0'
45
44
  type: :development
46
45
  prerelease: false
47
- version_requirements: *2165562040
46
+ version_requirements: *70248022448940
48
47
  - !ruby/object:Gem::Dependency
49
48
  name: bson_ext
50
- requirement: &2165561560 !ruby/object:Gem::Requirement
49
+ requirement: &70248022448420 !ruby/object:Gem::Requirement
51
50
  none: false
52
51
  requirements:
53
- - - ~>
52
+ - - ! '>='
54
53
  - !ruby/object:Gem::Version
55
- version: 1.3.0
54
+ version: '0'
56
55
  type: :development
57
56
  prerelease: false
58
- version_requirements: *2165561560
57
+ version_requirements: *70248022448420
59
58
  - !ruby/object:Gem::Dependency
60
59
  name: rspec
61
- requirement: &2165561060 !ruby/object:Gem::Requirement
60
+ requirement: &70248022447920 !ruby/object:Gem::Requirement
62
61
  none: false
63
62
  requirements:
64
- - - ~>
63
+ - - ! '>='
65
64
  - !ruby/object:Gem::Version
66
- version: 2.3.0
65
+ version: '0'
67
66
  type: :development
68
67
  prerelease: false
69
- version_requirements: *2165561060
68
+ version_requirements: *70248022447920
70
69
  - !ruby/object:Gem::Dependency
71
70
  name: yard
72
- requirement: &2165560580 !ruby/object:Gem::Requirement
71
+ requirement: &70248022447420 !ruby/object:Gem::Requirement
73
72
  none: false
74
73
  requirements:
75
- - - ~>
74
+ - - ! '>='
76
75
  - !ruby/object:Gem::Version
77
- version: 0.6.0
76
+ version: '0'
78
77
  type: :development
79
78
  prerelease: false
80
- version_requirements: *2165560580
79
+ version_requirements: *70248022447420
81
80
  - !ruby/object:Gem::Dependency
82
81
  name: bundler
83
- requirement: &2165560100 !ruby/object:Gem::Requirement
82
+ requirement: &70248022446920 !ruby/object:Gem::Requirement
84
83
  none: false
85
84
  requirements:
86
- - - ~>
85
+ - - ! '>='
87
86
  - !ruby/object:Gem::Version
88
87
  version: 1.0.0
89
88
  type: :development
90
89
  prerelease: false
91
- version_requirements: *2165560100
90
+ version_requirements: *70248022446920
92
91
  - !ruby/object:Gem::Dependency
93
92
  name: jeweler
94
- requirement: &2165559620 !ruby/object:Gem::Requirement
93
+ requirement: &70248022446440 !ruby/object:Gem::Requirement
95
94
  none: false
96
95
  requirements:
97
- - - ~>
96
+ - - ! '>='
98
97
  - !ruby/object:Gem::Version
99
- version: 1.5.2
98
+ version: '0'
100
99
  type: :development
101
100
  prerelease: false
102
- version_requirements: *2165559620
101
+ version_requirements: *70248022446440
103
102
  - !ruby/object:Gem::Dependency
104
103
  name: rcov
105
- requirement: &2165559140 !ruby/object:Gem::Requirement
104
+ requirement: &70248022445860 !ruby/object:Gem::Requirement
106
105
  none: false
107
106
  requirements:
108
107
  - - ! '>='
@@ -110,29 +109,29 @@ dependencies:
110
109
  version: '0'
111
110
  type: :development
112
111
  prerelease: false
113
- version_requirements: *2165559140
112
+ version_requirements: *70248022445860
114
113
  - !ruby/object:Gem::Dependency
115
114
  name: reek
116
- requirement: &2165558660 !ruby/object:Gem::Requirement
115
+ requirement: &70248022445360 !ruby/object:Gem::Requirement
117
116
  none: false
118
117
  requirements:
119
- - - ~>
118
+ - - ! '>='
120
119
  - !ruby/object:Gem::Version
121
- version: 1.2.8
120
+ version: '0'
122
121
  type: :development
123
122
  prerelease: false
124
- version_requirements: *2165558660
123
+ version_requirements: *70248022445360
125
124
  - !ruby/object:Gem::Dependency
126
125
  name: roodi
127
- requirement: &2165558180 !ruby/object:Gem::Requirement
126
+ requirement: &70248022444840 !ruby/object:Gem::Requirement
128
127
  none: false
129
128
  requirements:
130
- - - ~>
129
+ - - ! '>='
131
130
  - !ruby/object:Gem::Version
132
- version: 2.1.0
131
+ version: '0'
133
132
  type: :development
134
133
  prerelease: false
135
- version_requirements: *2165558180
134
+ version_requirements: *70248022444840
136
135
  description: It provides some helpers to create taggable documents with context.
137
136
  email: aq1018@gmail.com
138
137
  executables: []
@@ -155,7 +154,6 @@ files:
155
154
  - mongoid_taggable_with_context.gemspec
156
155
  - spec/mongoid_taggable_with_context_spec.rb
157
156
  - spec/spec_helper.rb
158
- has_rdoc: true
159
157
  homepage: http://github.com/aq1018/mongoid_taggable_with_context
160
158
  licenses:
161
159
  - MIT
@@ -171,7 +169,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
171
169
  version: '0'
172
170
  segments:
173
171
  - 0
174
- hash: 3016208820798152114
172
+ hash: -3893883792332336136
175
173
  required_rubygems_version: !ruby/object:Gem::Requirement
176
174
  none: false
177
175
  requirements:
@@ -180,10 +178,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
180
178
  version: '0'
181
179
  requirements: []
182
180
  rubyforge_project:
183
- rubygems_version: 1.6.2
181
+ rubygems_version: 1.8.10
184
182
  signing_key:
185
183
  specification_version: 3
186
184
  summary: Mongoid taggable behaviour
187
- test_files:
188
- - spec/mongoid_taggable_with_context_spec.rb
189
- - spec/spec_helper.rb
185
+ test_files: []