reusable 0.0.0 → 0.0.1
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.
data/lib/reusable.rb
CHANGED
@@ -0,0 +1,33 @@
|
|
1
|
+
# This CounterCache module provides support for an ActiveRecord
|
2
|
+
# type counter cache in Mongoid.
|
3
|
+
#
|
4
|
+
# class Reviews
|
5
|
+
# include Mongoid::Document
|
6
|
+
# include Reusable::Mongoid::CounterCache
|
7
|
+
#
|
8
|
+
# counter_cache name: 'profiles', field: 'reviews_count'
|
9
|
+
# belongs_to_related :profile
|
10
|
+
# end
|
11
|
+
module Reusable::Mongoid
|
12
|
+
module CounterCache
|
13
|
+
extend ActiveSupport::Concern
|
14
|
+
|
15
|
+
module ClassMethods
|
16
|
+
def counter_cache(options)
|
17
|
+
name = options[:name]
|
18
|
+
counter_field = options[:field]
|
19
|
+
|
20
|
+
after_create do |document|
|
21
|
+
relation = document.send(name)
|
22
|
+
relation.collection.update(relation._selector, {'$inc' => {counter_field.to_s => 1}})
|
23
|
+
end
|
24
|
+
|
25
|
+
after_destroy do |document|
|
26
|
+
relation = document.send(name)
|
27
|
+
relation.collection.update(relation._selector, {'$inc' => {counter_field.to_s => -1}})
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
end
|
@@ -5,10 +5,9 @@
|
|
5
5
|
# you also need to add the following to your config/routes.rb file:
|
6
6
|
# get '/:page_name',
|
7
7
|
# to: 'pages#show',
|
8
|
-
# as: :pages,
|
9
8
|
# constraints: { page_name: /landing/i }
|
10
9
|
#
|
11
|
-
# root :
|
10
|
+
# root to: 'pages#show', defaults: { page_name: 'landing' }
|
12
11
|
#
|
13
12
|
module Reusable::Rails
|
14
13
|
module Controllers
|
data/lib/reusable/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: reusable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2012-01-18 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bcrypt-ruby
|
16
|
-
requirement: &
|
16
|
+
requirement: &70306897585580 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70306897585580
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rails
|
27
|
-
requirement: &
|
27
|
+
requirement: &70306897585080 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,21 @@ dependencies:
|
|
32
32
|
version: 3.1.3
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70306897585080
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: mongoid
|
38
|
+
requirement: &70306897584660 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
44
|
+
type: :development
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *70306897584660
|
36
47
|
- !ruby/object:Gem::Dependency
|
37
48
|
name: cucumber-rails
|
38
|
-
requirement: &
|
49
|
+
requirement: &70306897584200 !ruby/object:Gem::Requirement
|
39
50
|
none: false
|
40
51
|
requirements:
|
41
52
|
- - ! '>='
|
@@ -43,10 +54,10 @@ dependencies:
|
|
43
54
|
version: '0'
|
44
55
|
type: :development
|
45
56
|
prerelease: false
|
46
|
-
version_requirements: *
|
57
|
+
version_requirements: *70306897584200
|
47
58
|
- !ruby/object:Gem::Dependency
|
48
59
|
name: rspec-rails
|
49
|
-
requirement: &
|
60
|
+
requirement: &70306897583780 !ruby/object:Gem::Requirement
|
50
61
|
none: false
|
51
62
|
requirements:
|
52
63
|
- - ! '>='
|
@@ -54,10 +65,10 @@ dependencies:
|
|
54
65
|
version: '0'
|
55
66
|
type: :development
|
56
67
|
prerelease: false
|
57
|
-
version_requirements: *
|
68
|
+
version_requirements: *70306897583780
|
58
69
|
- !ruby/object:Gem::Dependency
|
59
70
|
name: shoulda-matchers
|
60
|
-
requirement: &
|
71
|
+
requirement: &70306897583360 !ruby/object:Gem::Requirement
|
61
72
|
none: false
|
62
73
|
requirements:
|
63
74
|
- - ! '>='
|
@@ -65,10 +76,10 @@ dependencies:
|
|
65
76
|
version: '0'
|
66
77
|
type: :development
|
67
78
|
prerelease: false
|
68
|
-
version_requirements: *
|
79
|
+
version_requirements: *70306897583360
|
69
80
|
- !ruby/object:Gem::Dependency
|
70
81
|
name: fabrication
|
71
|
-
requirement: &
|
82
|
+
requirement: &70306897582940 !ruby/object:Gem::Requirement
|
72
83
|
none: false
|
73
84
|
requirements:
|
74
85
|
- - ! '>='
|
@@ -76,10 +87,10 @@ dependencies:
|
|
76
87
|
version: '0'
|
77
88
|
type: :development
|
78
89
|
prerelease: false
|
79
|
-
version_requirements: *
|
90
|
+
version_requirements: *70306897582940
|
80
91
|
- !ruby/object:Gem::Dependency
|
81
92
|
name: ffaker
|
82
|
-
requirement: &
|
93
|
+
requirement: &70306897582520 !ruby/object:Gem::Requirement
|
83
94
|
none: false
|
84
95
|
requirements:
|
85
96
|
- - ! '>='
|
@@ -87,7 +98,7 @@ dependencies:
|
|
87
98
|
version: '0'
|
88
99
|
type: :development
|
89
100
|
prerelease: false
|
90
|
-
version_requirements: *
|
101
|
+
version_requirements: *70306897582520
|
91
102
|
description: Reusable mixins for Rails, RSpec, and Cucumber.
|
92
103
|
email:
|
93
104
|
- justin.smestad@gmail.com
|
@@ -100,6 +111,8 @@ files:
|
|
100
111
|
- lib/reusable/cucumber/step_definitions/authentication_steps.rb
|
101
112
|
- lib/reusable/cucumber/step_definitions/base_steps.rb
|
102
113
|
- lib/reusable/cucumber.rb
|
114
|
+
- lib/reusable/mongoid/counter_cache.rb
|
115
|
+
- lib/reusable/mongoid.rb
|
103
116
|
- lib/reusable/rails/controllers/authentication_filters.rb
|
104
117
|
- lib/reusable/rails/controllers/flash_messages/assets/javascripts/flash_messages.js
|
105
118
|
- lib/reusable/rails/controllers/flash_messages.rb
|
@@ -174,7 +187,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
174
187
|
version: '0'
|
175
188
|
segments:
|
176
189
|
- 0
|
177
|
-
hash:
|
190
|
+
hash: -3738770435536697031
|
178
191
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
179
192
|
none: false
|
180
193
|
requirements:
|
@@ -183,10 +196,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
183
196
|
version: '0'
|
184
197
|
segments:
|
185
198
|
- 0
|
186
|
-
hash:
|
199
|
+
hash: -3738770435536697031
|
187
200
|
requirements: []
|
188
201
|
rubyforge_project:
|
189
|
-
rubygems_version: 1.8.
|
202
|
+
rubygems_version: 1.8.11
|
190
203
|
signing_key:
|
191
204
|
specification_version: 3
|
192
205
|
summary: Reusable mixins for Rails, RSpec, and Cucumber.
|