party_boy 0.2.3 → 0.3.0
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/README.rdoc +1 -1
- data/VERSION +1 -1
- data/lib/party_boy.rb +21 -18
- data/party_boy.gemspec +2 -2
- metadata +3 -3
data/README.rdoc
CHANGED
@@ -63,7 +63,7 @@ STI is also handled by party_boy. The relationship is always stored using the su
|
|
63
63
|
In string form
|
64
64
|
a.followers('users')
|
65
65
|
=> [#<User id: 1, created_at: "2010-01-27 01:09:42", updated_at: "2010-01-27 01:09:42">]
|
66
|
-
a.following(quarterbacks)
|
66
|
+
a.following('quarterbacks')
|
67
67
|
=> [#<Quarterback id: 3, created_at: "2010-01-27 01:09:42", updated_at: "2010-01-27 01:09:42">]
|
68
68
|
Or in class form
|
69
69
|
a.followers(User)
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.3.0
|
data/lib/party_boy.rb
CHANGED
@@ -63,6 +63,13 @@ module Party
|
|
63
63
|
|
64
64
|
module FollowableInstanceMethods
|
65
65
|
|
66
|
+
def self.included(base)
|
67
|
+
base.class_eval do
|
68
|
+
alias_method_chain :method_missing, :party_boy
|
69
|
+
alias_method_chain :respond_to?, :party_boy
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
66
73
|
def following?(something)
|
67
74
|
!!(something && Relationship.unblocked.count(:conditions => ['requestor_id = ? and requestor_type = ? and requestee_id = ? and requestee_type = ?', self.id, super_class_name, something.id, super_class_name(something)]) > 0)
|
68
75
|
end
|
@@ -130,9 +137,9 @@ module Party
|
|
130
137
|
network(type).collect{|friend| friend.methods.include?('network') && friend.network(type) || []}.flatten.uniq
|
131
138
|
end
|
132
139
|
|
133
|
-
def
|
140
|
+
def method_missing_with_party_boy(method, *args)
|
134
141
|
includes = args[0] || {}
|
135
|
-
case method.
|
142
|
+
case method.to_s
|
136
143
|
when /^(.+)ss_followers$/
|
137
144
|
followers("#{$1}ss".classify, includes)
|
138
145
|
when /^(.+)s_followers$/, /^(.+)_followers$/
|
@@ -140,25 +147,21 @@ module Party
|
|
140
147
|
when /^following_(.+)$/
|
141
148
|
following($1.classify, includes)
|
142
149
|
else
|
143
|
-
|
150
|
+
self.method_missing_without_party_boy(method, *args)
|
144
151
|
end
|
145
152
|
end
|
146
153
|
|
147
|
-
def
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
end
|
159
|
-
else
|
160
|
-
true
|
161
|
-
end
|
154
|
+
def respond_to_with_party_boy?(name, include_private = false)
|
155
|
+
case name.to_s
|
156
|
+
when /^(.+)ss_followers$/
|
157
|
+
true
|
158
|
+
when /^(.+)s_followers$/, /^(.+)_followers$/
|
159
|
+
true
|
160
|
+
when /^following_(.+)$/
|
161
|
+
true
|
162
|
+
else
|
163
|
+
self.respond_to_without_party_boy?(name, include_private)
|
164
|
+
end
|
162
165
|
end
|
163
166
|
|
164
167
|
private
|
data/party_boy.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{party_boy}
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.3.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Mike Nelson"]
|
12
|
-
s.date = %q{2010-
|
12
|
+
s.date = %q{2010-08-17}
|
13
13
|
s.description = %q{Models relationships between AR models. Allows you to follow, friend, and block other AR's. Consists of two mixins: acts_as_followable and acts_as_friend. These options allow an AR to inherit either a twitter-like follower system or a facebook-like friend system.}
|
14
14
|
s.email = %q{mdnelson30@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
metadata
CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
|
|
4
4
|
prerelease: false
|
5
5
|
segments:
|
6
6
|
- 0
|
7
|
-
- 2
|
8
7
|
- 3
|
9
|
-
|
8
|
+
- 0
|
9
|
+
version: 0.3.0
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Mike Nelson
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-
|
17
|
+
date: 2010-08-17 00:00:00 -04:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|