mongo_followable 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
data/.idea/.name ADDED
@@ -0,0 +1 @@
1
+ mongo_followable
data/.idea/.rakeTasks ADDED
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Settings><!--This file was automatically generated by Ruby plugin.
3
+ You are allowed to:
4
+ 1. Remove rake task
5
+ 2. Add existing rake tasks
6
+ To add existing rake tasks automatically delete this file and reload the project.
7
+ --><RakeGroup description="" fullCmd="" taksId="rake"><RakeTask description="Build mongo_followable-0.2.0.gem into the pkg directory" fullCmd="build" taksId="build" /><RakeTask description="Build and install mongo_followable-0.2.0.gem into system gems" fullCmd="install" taksId="install" /><RakeTask description="Create tag v0.2.0 and build and push mongo_followable-0.2.0.gem to Rubygems" fullCmd="release" taksId="release" /></RakeGroup></Settings>
@@ -0,0 +1,5 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false" />
4
+ </project>
5
+
data/.idea/misc.xml ADDED
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="DependencyValidationManager">
4
+ <option name="SKIP_IMPORT_STATEMENTS" value="false" />
5
+ </component>
6
+ <component name="ProjectRootManager" version="2" project-jdk-name="RVM: ruby-1.9.2-p136" project-jdk-type="RUBY_SDK" />
7
+ </project>
8
+
data/.idea/modules.xml ADDED
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectModuleManager">
4
+ <modules>
5
+ <module fileurl="file://$PROJECT_DIR$/.idea/mongo_followable.iml" filepath="$PROJECT_DIR$/.idea/mongo_followable.iml" />
6
+ </modules>
7
+ </component>
8
+ </project>
9
+
@@ -0,0 +1,10 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <module type="RUBY_MODULE" version="4">
3
+ <component name="NewModuleRootManager">
4
+ <content url="file://$MODULE_DIR$" />
5
+ <orderEntry type="inheritedJdk" />
6
+ <orderEntry type="sourceFolder" forTests="false" />
7
+ <orderEntry type="library" scope="PROVIDED" name="[gem] bundler (v1.0.21, /home/tomato/.rvm/gems/ruby-1.9.2-p136/gems/bundler-1.0.21)" level="application" />
8
+ </component>
9
+ </module>
10
+
data/.idea/vcs.xml ADDED
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="VcsDirectoryMappings">
4
+ <mapping directory="$PROJECT_DIR$" vcs="Git" />
5
+ </component>
6
+ </project>
7
+
@@ -0,0 +1,346 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ChangeListManager">
4
+ <list default="true" id="46dc3a6d-3a97-49f8-becd-2ccba8c07e42" name="Default" comment="">
5
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
6
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/README.rdoc" afterPath="$PROJECT_DIR$/README.rdoc" />
7
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/lib/mongo_followable/followable.rb" afterPath="$PROJECT_DIR$/lib/mongo_followable/followable.rb" />
8
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/lib/mongo_followable/follower.rb" afterPath="$PROJECT_DIR$/lib/mongo_followable/follower.rb" />
9
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/lib/mongo_followable/version.rb" afterPath="$PROJECT_DIR$/lib/mongo_followable/version.rb" />
10
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/mongo_followable.gemspec" afterPath="$PROJECT_DIR$/mongo_followable.gemspec" />
11
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/spec/mongo/followable_spec.rb" afterPath="$PROJECT_DIR$/spec/mongo/followable_spec.rb" />
12
+ </list>
13
+ <ignored path="mongo_followable.iws" />
14
+ <ignored path=".idea/workspace.xml" />
15
+ <option name="TRACKING_ENABLED" value="true" />
16
+ <option name="SHOW_DIALOG" value="false" />
17
+ <option name="HIGHLIGHT_CONFLICTS" value="true" />
18
+ <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
19
+ <option name="LAST_RESOLUTION" value="IGNORE" />
20
+ </component>
21
+ <component name="ChangesViewManager" flattened_view="true" show_ignored="false" />
22
+ <component name="CoverageDataManager" choice="3" />
23
+ <component name="CreatePatchCommitExecutor">
24
+ <option name="PATCH_PATH" value="" />
25
+ <option name="REVERSE_PATCH" value="false" />
26
+ </component>
27
+ <component name="DaemonCodeAnalyzer">
28
+ <disable_hints />
29
+ </component>
30
+ <component name="FavoritesManager">
31
+ <favorites_list name="mongo_followable" />
32
+ </component>
33
+ <component name="FileEditorManager">
34
+ <leaf />
35
+ </component>
36
+ <component name="FindManager">
37
+ <FindUsagesManager>
38
+ <setting name="OPEN_NEW_TAB" value="false" />
39
+ </FindUsagesManager>
40
+ </component>
41
+ <component name="Git.Settings">
42
+ <option name="CHECKOUT_INCLUDE_TAGS" value="false" />
43
+ <option name="UPDATE_CHANGES_POLICY" value="STASH" />
44
+ </component>
45
+ <component name="IdeDocumentHistory">
46
+ <option name="changedFiles">
47
+ <list>
48
+ <option value="$PROJECT_DIR$/app/models/follow.rb" />
49
+ <option value="$PROJECT_DIR$/spec/mongo_mapper/group.rb" />
50
+ <option value="$PROJECT_DIR$/spec/mongo_mapper/user.rb" />
51
+ <option value="$PROJECT_DIR$/spec/mongoid/group.rb" />
52
+ <option value="$PROJECT_DIR$/spec/mongoid/user.rb" />
53
+ <option value="$PROJECT_DIR$/spec/spec_helper.rb" />
54
+ <option value="$PROJECT_DIR$/lib/mongo_followable.rb" />
55
+ <option value="$PROJECT_DIR$/lib/mongo_followable/follower.rb" />
56
+ <option value="$PROJECT_DIR$/lib/mongo_followable/followable.rb" />
57
+ <option value="$PROJECT_DIR$/lib/mongo_followable/version.rb" />
58
+ <option value="$PROJECT_DIR$/spec/mongo/followable_spec.rb" />
59
+ <option value="$PROJECT_DIR$/README.rdoc" />
60
+ <option value="$PROJECT_DIR$/mongo_followable.gemspec" />
61
+ </list>
62
+ </option>
63
+ </component>
64
+ <component name="ProjectLevelVcsManager" settingsEditedManually="false">
65
+ <OptionsSetting value="true" id="Add" />
66
+ <OptionsSetting value="true" id="Remove" />
67
+ <OptionsSetting value="true" id="Checkout" />
68
+ <OptionsSetting value="true" id="Update" />
69
+ <OptionsSetting value="true" id="Status" />
70
+ <OptionsSetting value="true" id="Edit" />
71
+ <ConfirmationsSetting value="2" id="Add" />
72
+ <ConfirmationsSetting value="0" id="Remove" />
73
+ </component>
74
+ <component name="ProjectReloadState">
75
+ <option name="STATE" value="0" />
76
+ </component>
77
+ <component name="ProjectView">
78
+ <navigator currentView="ProjectPane" proportions="" version="1" splitterProportion="0.5">
79
+ <flattenPackages />
80
+ <showMembers />
81
+ <showModules />
82
+ <showLibraryContents />
83
+ <hideEmptyPackages />
84
+ <abbreviatePackageNames />
85
+ <autoscrollToSource />
86
+ <autoscrollFromSource />
87
+ <sortByType />
88
+ </navigator>
89
+ <panes>
90
+ <pane id="ProjectPane">
91
+ <subPane>
92
+ <PATH>
93
+ <PATH_ELEMENT>
94
+ <option name="myItemId" value="mongo_followable" />
95
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
96
+ </PATH_ELEMENT>
97
+ </PATH>
98
+ <PATH>
99
+ <PATH_ELEMENT>
100
+ <option name="myItemId" value="mongo_followable" />
101
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
102
+ </PATH_ELEMENT>
103
+ <PATH_ELEMENT>
104
+ <option name="myItemId" value="mongo_followable" />
105
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
106
+ </PATH_ELEMENT>
107
+ </PATH>
108
+ <PATH>
109
+ <PATH_ELEMENT>
110
+ <option name="myItemId" value="mongo_followable" />
111
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
112
+ </PATH_ELEMENT>
113
+ <PATH_ELEMENT>
114
+ <option name="myItemId" value="mongo_followable" />
115
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
116
+ </PATH_ELEMENT>
117
+ <PATH_ELEMENT>
118
+ <option name="myItemId" value="lib" />
119
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
120
+ </PATH_ELEMENT>
121
+ </PATH>
122
+ <PATH>
123
+ <PATH_ELEMENT>
124
+ <option name="myItemId" value="mongo_followable" />
125
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
126
+ </PATH_ELEMENT>
127
+ <PATH_ELEMENT>
128
+ <option name="myItemId" value="mongo_followable" />
129
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
130
+ </PATH_ELEMENT>
131
+ <PATH_ELEMENT>
132
+ <option name="myItemId" value="lib" />
133
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
134
+ </PATH_ELEMENT>
135
+ <PATH_ELEMENT>
136
+ <option name="myItemId" value="mongo_followable" />
137
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
138
+ </PATH_ELEMENT>
139
+ </PATH>
140
+ <PATH>
141
+ <PATH_ELEMENT>
142
+ <option name="myItemId" value="mongo_followable" />
143
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
144
+ </PATH_ELEMENT>
145
+ <PATH_ELEMENT>
146
+ <option name="myItemId" value="mongo_followable" />
147
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
148
+ </PATH_ELEMENT>
149
+ <PATH_ELEMENT>
150
+ <option name="myItemId" value="app" />
151
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
152
+ </PATH_ELEMENT>
153
+ <PATH_ELEMENT>
154
+ <option name="myItemId" value="models" />
155
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
156
+ </PATH_ELEMENT>
157
+ </PATH>
158
+ </subPane>
159
+ </pane>
160
+ <pane id="Favorites" />
161
+ <pane id="Scope" />
162
+ </panes>
163
+ </component>
164
+ <component name="RecentsManager">
165
+ <key name="CopyFile.RECENT_KEYS">
166
+ <recent name="$PROJECT_DIR$" />
167
+ </key>
168
+ </component>
169
+ <component name="RunManager">
170
+ <list size="0" />
171
+ </component>
172
+ <component name="ShelveChangesManager" show_recycled="false" />
173
+ <component name="SvnConfiguration" maxAnnotateRevisions="500">
174
+ <option name="USER" value="" />
175
+ <option name="PASSWORD" value="" />
176
+ <option name="LAST_MERGED_REVISION" />
177
+ <option name="MERGE_DRY_RUN" value="false" />
178
+ <option name="MERGE_DIFF_USE_ANCESTRY" value="true" />
179
+ <option name="UPDATE_LOCK_ON_DEMAND" value="false" />
180
+ <option name="IGNORE_SPACES_IN_MERGE" value="false" />
181
+ <option name="DETECT_NESTED_COPIES" value="true" />
182
+ <option name="CHECK_NESTED_FOR_QUICK_MERGE" value="false" />
183
+ <option name="IGNORE_SPACES_IN_ANNOTATE" value="true" />
184
+ <option name="SHOW_MERGE_SOURCES_IN_ANNOTATE" value="true" />
185
+ <option name="FORCE_UPDATE" value="false" />
186
+ <myIsUseDefaultProxy>false</myIsUseDefaultProxy>
187
+ </component>
188
+ <component name="TaskManager">
189
+ <task active="true" id="Default" summary="Default task">
190
+ <changelist id="46dc3a6d-3a97-49f8-becd-2ccba8c07e42" name="Default" comment="" />
191
+ <created>1320633827964</created>
192
+ <updated>1320633827964</updated>
193
+ </task>
194
+ <servers />
195
+ </component>
196
+ <component name="ToolWindowManager">
197
+ <frame x="1" y="24" width="1599" height="851" extended-state="0" />
198
+ <editor active="false" />
199
+ <layout>
200
+ <window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
201
+ <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
202
+ <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="true" content_ui="tabs" />
203
+ <window_info id="Dependency Viewer" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
204
+ <window_info id="Project" active="true" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.19796307" sideWeight="0.6703601" order="0" side_tool="false" content_ui="tabs" />
205
+ <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
206
+ <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
207
+ <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
208
+ <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
209
+ <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
210
+ <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
211
+ <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32963988" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
212
+ <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
213
+ <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
214
+ <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
215
+ </layout>
216
+ </component>
217
+ <component name="VcsManagerConfiguration">
218
+ <option name="OFFER_MOVE_TO_ANOTHER_CHANGELIST_ON_PARTIAL_COMMIT" value="true" />
219
+ <option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="true" />
220
+ <option name="PERFORM_UPDATE_IN_BACKGROUND" value="true" />
221
+ <option name="PERFORM_COMMIT_IN_BACKGROUND" value="true" />
222
+ <option name="PERFORM_EDIT_IN_BACKGROUND" value="true" />
223
+ <option name="PERFORM_CHECKOUT_IN_BACKGROUND" value="true" />
224
+ <option name="PERFORM_ADD_REMOVE_IN_BACKGROUND" value="true" />
225
+ <option name="PERFORM_ROLLBACK_IN_BACKGROUND" value="false" />
226
+ <option name="CHECK_LOCALLY_CHANGED_CONFLICTS_IN_BACKGROUND" value="false" />
227
+ <option name="ENABLE_BACKGROUND_PROCESSES" value="false" />
228
+ <option name="CHANGED_ON_SERVER_INTERVAL" value="60" />
229
+ <option name="SHOW_ONLY_CHANGED_IN_SELECTION_DIFF" value="true" />
230
+ <option name="CHECK_COMMIT_MESSAGE_SPELLING" value="true" />
231
+ <option name="FORCE_NON_EMPTY_COMMENT" value="false" />
232
+ <option name="LAST_COMMIT_MESSAGE" />
233
+ <option name="MAKE_NEW_CHANGELIST_ACTIVE" value="true" />
234
+ <option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="false" />
235
+ <option name="CHECK_FILES_UP_TO_DATE_BEFORE_COMMIT" value="false" />
236
+ <option name="REFORMAT_BEFORE_PROJECT_COMMIT" value="false" />
237
+ <option name="REFORMAT_BEFORE_FILE_COMMIT" value="false" />
238
+ <option name="FILE_HISTORY_DIALOG_COMMENTS_SPLITTER_PROPORTION" value="0.8" />
239
+ <option name="FILE_HISTORY_DIALOG_SPLITTER_PROPORTION" value="0.5" />
240
+ <option name="ACTIVE_VCS_NAME" />
241
+ <option name="UPDATE_GROUP_BY_PACKAGES" value="false" />
242
+ <option name="UPDATE_GROUP_BY_CHANGELIST" value="false" />
243
+ <option name="SHOW_FILE_HISTORY_AS_TREE" value="false" />
244
+ <option name="FILE_HISTORY_SPLITTER_PROPORTION" value="0.6" />
245
+ </component>
246
+ <component name="XDebuggerManager">
247
+ <breakpoint-manager />
248
+ </component>
249
+ <component name="editorHistoryManager">
250
+ <entry file="file://$PROJECT_DIR$/LICENSE.txt">
251
+ <provider selected="true" editor-type-id="text-editor">
252
+ <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0" />
253
+ </provider>
254
+ </entry>
255
+ <entry file="file://$PROJECT_DIR$/Rakefile">
256
+ <provider selected="true" editor-type-id="text-editor">
257
+ <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0" />
258
+ </provider>
259
+ </entry>
260
+ <entry file="file://$PROJECT_DIR$/spec/mongo_mapper/user.rb">
261
+ <provider selected="true" editor-type-id="text-editor">
262
+ <state line="3" column="15" selection-start="86" selection-end="86" vertical-scroll-proportion="0.06521739" />
263
+ </provider>
264
+ </entry>
265
+ <entry file="file://$PROJECT_DIR$/spec/mongoid/user.rb">
266
+ <provider selected="true" editor-type-id="text-editor">
267
+ <state line="2" column="15" selection-start="54" selection-end="54" vertical-scroll-proportion="0.04347826" />
268
+ </provider>
269
+ </entry>
270
+ <entry file="file://$PROJECT_DIR$/spec/mongoid/group.rb">
271
+ <provider selected="true" editor-type-id="text-editor">
272
+ <state line="1" column="16" selection-start="28" selection-end="28" vertical-scroll-proportion="0.02173913" />
273
+ </provider>
274
+ </entry>
275
+ <entry file="file://$PROJECT_DIR$/spec/mongo_mapper/group.rb">
276
+ <provider selected="true" editor-type-id="text-editor">
277
+ <state line="2" column="15" selection-start="59" selection-end="59" vertical-scroll-proportion="0.04347826" />
278
+ </provider>
279
+ </entry>
280
+ <entry file="file://$PROJECT_DIR$/Gemfile">
281
+ <provider selected="true" editor-type-id="text-editor">
282
+ <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0" />
283
+ </provider>
284
+ </entry>
285
+ <entry file="file://$PROJECT_DIR$/spec/spec_helper.rb">
286
+ <provider selected="true" editor-type-id="text-editor">
287
+ <state line="24" column="46" selection-start="788" selection-end="788" vertical-scroll-proportion="0.5217391" />
288
+ </provider>
289
+ </entry>
290
+ <entry file="file://$PROJECT_DIR$/lib/mongo_followable/version.rb">
291
+ <provider selected="true" editor-type-id="text-editor">
292
+ <state line="1" column="18" selection-start="41" selection-end="41" vertical-scroll-proportion="0.02173913" />
293
+ </provider>
294
+ </entry>
295
+ <entry file="file://$PROJECT_DIR$/mongo_followable.gemspec">
296
+ <provider selected="true" editor-type-id="text-editor">
297
+ <state line="2" column="35" selection-start="105" selection-end="105" vertical-scroll-proportion="0.0">
298
+ <folding />
299
+ </state>
300
+ </provider>
301
+ </entry>
302
+ <entry file="file://$PROJECT_DIR$/README.rdoc">
303
+ <provider selected="true" editor-type-id="text-editor">
304
+ <state line="41" column="25" selection-start="1130" selection-end="1130" vertical-scroll-proportion="-0.9712991">
305
+ <folding />
306
+ </state>
307
+ </provider>
308
+ </entry>
309
+ <entry file="file://$PROJECT_DIR$/app/models/follow.rb">
310
+ <provider selected="true" editor-type-id="text-editor">
311
+ <state line="10" column="30" selection-start="263" selection-end="263" vertical-scroll-proportion="0.2173913">
312
+ <folding />
313
+ </state>
314
+ </provider>
315
+ </entry>
316
+ <entry file="file://$PROJECT_DIR$/spec/mongo/followable_spec.rb">
317
+ <provider selected="true" editor-type-id="text-editor">
318
+ <state line="146" column="45" selection-start="3667" selection-end="3667" vertical-scroll-proportion="0.26086956">
319
+ <folding />
320
+ </state>
321
+ </provider>
322
+ </entry>
323
+ <entry file="file://$PROJECT_DIR$/lib/mongo_followable/follower.rb">
324
+ <provider selected="true" editor-type-id="text-editor">
325
+ <state line="152" column="34" selection-start="4717" selection-end="4717" vertical-scroll-proportion="0.0">
326
+ <folding />
327
+ </state>
328
+ </provider>
329
+ </entry>
330
+ <entry file="file://$PROJECT_DIR$/lib/mongo_followable/followable.rb">
331
+ <provider selected="true" editor-type-id="text-editor">
332
+ <state line="114" column="54" selection-start="3607" selection-end="3607" vertical-scroll-proportion="0.022156574">
333
+ <folding />
334
+ </state>
335
+ </provider>
336
+ </entry>
337
+ <entry file="file://$PROJECT_DIR$/lib/mongo_followable.rb">
338
+ <provider selected="true" editor-type-id="text-editor">
339
+ <state line="6" column="48" selection-start="301" selection-end="301" vertical-scroll-proportion="0.13043478">
340
+ <folding />
341
+ </state>
342
+ </provider>
343
+ </entry>
344
+ </component>
345
+ </project>
346
+
data/.rakeTasks ADDED
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Settings><!--This file was automatically generated by Ruby plugin.
3
+ You are allowed to:
4
+ 1. Remove rake task
5
+ 2. Add existing rake tasks
6
+ To add existing rake tasks automatically delete this file and reload the project.
7
+ --><RakeGroup description="" fullCmd="" taksId="rake"><RakeTask description="Build mongo_followable-0.2.0.gem into the pkg directory" fullCmd="build" taksId="build" /><RakeTask description="Build and install mongo_followable-0.2.0.gem into system gems" fullCmd="install" taksId="install" /><RakeTask description="Create tag v0.2.0 and build and push mongo_followable-0.2.0.gem to Rubygems" fullCmd="release" taksId="release" /></RakeGroup></Settings>
data/README.rdoc CHANGED
@@ -7,19 +7,19 @@ Now works for both Mongoid and Mongo_Mapper!
7
7
  In console:
8
8
  gem install mongo_followable
9
9
  or in Gemfile:
10
- gem 'mongo_followable', "~> 0.2.0"
10
+ gem 'mongo_followable', "~> 0.2.1"
11
11
 
12
12
  == Usage
13
13
 
14
14
  To make model followable you need to include Mongo::Followable into your document;Meanwhile, you also need to include Mongo::Follower in your follower model:
15
15
  class User
16
- include Mongo::Document
16
+ include Mongoid::Document #for Mongo_Mapper users, this line of code should be include MongoMapper::Document
17
17
  include Mongo::Followable
18
18
  include Mongo::Follower
19
19
  end
20
20
 
21
21
  class Group
22
- include Mongo::Document
22
+ include Mongoid::Document #for Mongo_Mapper users, this line of code should be include MongoMapper::Document
23
23
  include Mongo::Followable
24
24
  end
25
25
 
@@ -34,6 +34,12 @@ And then you can follow a model:
34
34
 
35
35
  current_user.follow(@group)
36
36
  current_user.unfollow(@group)
37
+ current_user.unfollow_all
38
+
39
+ or,
40
+
41
+ @group.unfollowed(current_user)
42
+ @group.unfollowed_all
37
43
 
38
44
  You can also judge whether a model is a follower of another model or a model is a followee of another model:
39
45
 
@@ -108,6 +114,7 @@ And see what the common followers/followees are:
108
114
  == Thanks
109
115
 
110
116
  Thanks the author(s) of acts_as_followable, you can find this gem here[https://github.com/xpepermint/acts_as_followable]
117
+
111
118
  Thanks the author(s) of voteable_mongo, you can find this gem here[https://github.com/vinova/voteable_mongo]
112
119
 
113
120
  == Copyright
@@ -109,6 +109,21 @@ module Mongo
109
109
  rebuild_instances(self.followers)
110
110
  end
111
111
 
112
+ def unfollowed(*models)
113
+ models.each do |model|
114
+ unless model == self or !self.followee_of?(model) or !model.follower_of?(self) or self.cannot_followed.include?(model.class.name) or model.cannot_follow.include?(self.class.name)
115
+ model.followees.by_model(self).first.destroy
116
+ self.followers.by_model(model).first.destroy
117
+ end
118
+ end
119
+ end
120
+
121
+ # unfollow all
122
+
123
+ def unfollowed_all
124
+ unfollowed(*self.all_followers)
125
+ end
126
+
112
127
  # get all the followers of this model in certain type
113
128
  #
114
129
  # Example:
@@ -147,6 +147,12 @@ module Mongo
147
147
  end
148
148
  end
149
149
 
150
+ # unfollow all
151
+
152
+ def unfollow_all
153
+ unfollow(*self.all_followees)
154
+ end
155
+
150
156
  # get the number of followees
151
157
  #
152
158
  # Example:
@@ -1,3 +1,3 @@
1
1
  module MongoFollowable
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
3
3
  end
@@ -13,11 +13,11 @@ Gem::Specification.new do |s|
13
13
 
14
14
  s.rubyforge_project = "mongo_followable"
15
15
 
16
- s.add_development_dependency('rspec', '~> 2.6')
17
- s.add_development_dependency('mongoid', '~> 2.0')
18
- s.add_development_dependency('mongo_mapper', '~> 0.9')
19
- s.add_development_dependency('bson_ext', '~> 1.4')
20
- s.add_development_dependency('database_cleaner', '~>0.6')
16
+ s.add_development_dependency('rspec', '~> 2.7.0')
17
+ s.add_development_dependency('mongoid', '~> 2.4.0')
18
+ s.add_development_dependency('mongo_mapper', '~> 0.10.0')
19
+ s.add_development_dependency('bson_ext', '~> 1.5.0')
20
+ s.add_development_dependency('database_cleaner', '~>0.7.0')
21
21
 
22
22
  s.files = `git ls-files`.split("\n")
23
23
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
@@ -14,29 +14,32 @@ describe Mongo::Followable do
14
14
  @v = User.new
15
15
  @v.save
16
16
 
17
+ @w = User.new
18
+ @w.save
19
+
17
20
  @g = Group.new
18
21
  @g.save
19
22
  end
20
23
 
21
24
  it "following a user" do
22
- u.follow(@v)
25
+ u.follow(@v, @g)
23
26
 
24
27
  u.follower_of?(@v).should be_true
25
28
  @v.followee_of?(u).should be_true
26
29
 
27
- u.all_followees.should == [@v]
30
+ u.all_followees.should == [@v, @g]
28
31
  @v.all_followers.should == [u]
29
32
 
30
33
  u.followees_by_type("user").should == [@v]
31
34
  @v.followers_by_type("user").should == [u]
32
35
 
33
- u.followees_count.should == 1
36
+ u.followees_count.should == 2
34
37
  @v.followers_count.should == 1
35
38
 
36
39
  u.followees_count_by_type("user").should == 1
37
40
  @v.followers_count_by_type("user").should == 1
38
41
 
39
- u.ever_follow.should == [@v]
42
+ u.ever_follow.should =~ [@v, @g]
40
43
  @v.ever_followed.should == [u]
41
44
 
42
45
  u.common_followees?(@v).should be_false
@@ -50,8 +53,8 @@ describe Mongo::Followable do
50
53
  User.with_max_followers_by_type('user').should == [@v]
51
54
  end
52
55
 
53
- it "unfollowing a user" do
54
- u.unfollow(@v)
56
+ it "unfollowing" do
57
+ u.unfollow_all
55
58
 
56
59
  u.follower_of?(@v).should be_false
57
60
  @v.followee_of?(u).should be_false
@@ -89,7 +92,7 @@ describe Mongo::Followable do
89
92
 
90
93
  u.follow(@v)
91
94
 
92
- u.ever_follow.should == [@g, @v]
95
+ u.ever_follow.should =~ [@g, @v]
93
96
  @g.ever_followed.should == [u]
94
97
 
95
98
  u.common_followees?(@v).should be_false
@@ -120,6 +123,51 @@ describe Mongo::Followable do
120
123
 
121
124
  u.followees_count_by_type("group").should == 0
122
125
  @g.followers_count_by_type("group").should == 0
126
+
127
+ end
128
+ end
129
+ end
130
+
131
+ describe Group do
132
+ let!(:g) { Group.new }
133
+
134
+ context "begins" do
135
+
136
+ before do
137
+ g.save
138
+
139
+ @v = User.new
140
+ @w = User.new
141
+ @u = User.new
142
+
143
+ [@v, @w, @u].each { |u| u.save }
144
+ end
145
+
146
+
147
+ it "another way to unfollow a group" do
148
+ @u.follow(g)
149
+ @v.follow(g)
150
+ @w.follow(g)
151
+
152
+ g.all_followers.should =~ [@v,@u,@w]
153
+
154
+ @w.follower_of?(g).should be_true
155
+ g.followee_of?(@w).should be_true
156
+
157
+ #g.unfollowed(@w)
158
+
159
+ @u.follower_of?(g).should be_true
160
+ g.followee_of?(@u).should be_true
161
+
162
+ @v.follower_of?(g).should be_true
163
+ g.followee_of?(@v).should be_true
164
+
165
+ #g.all_followers.should =~ [@v,@u]
166
+
167
+ g.unfollowed_all
168
+
169
+ g.all_followers == []
170
+
123
171
  end
124
172
  end
125
173
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 2
8
- - 0
9
- version: 0.2.0
8
+ - 1
9
+ version: 0.2.1
10
10
  platform: ruby
11
11
  authors:
12
12
  - Jie Fan
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2011-11-06 01:00:00 -04:00
17
+ date: 2012-01-31 00:00:00 -05:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -27,8 +27,9 @@ dependencies:
27
27
  - !ruby/object:Gem::Version
28
28
  segments:
29
29
  - 2
30
- - 6
31
- version: "2.6"
30
+ - 7
31
+ - 0
32
+ version: 2.7.0
32
33
  type: :development
33
34
  version_requirements: *id001
34
35
  - !ruby/object:Gem::Dependency
@@ -41,8 +42,9 @@ dependencies:
41
42
  - !ruby/object:Gem::Version
42
43
  segments:
43
44
  - 2
45
+ - 4
44
46
  - 0
45
- version: "2.0"
47
+ version: 2.4.0
46
48
  type: :development
47
49
  version_requirements: *id002
48
50
  - !ruby/object:Gem::Dependency
@@ -55,8 +57,9 @@ dependencies:
55
57
  - !ruby/object:Gem::Version
56
58
  segments:
57
59
  - 0
58
- - 9
59
- version: "0.9"
60
+ - 10
61
+ - 0
62
+ version: 0.10.0
60
63
  type: :development
61
64
  version_requirements: *id003
62
65
  - !ruby/object:Gem::Dependency
@@ -69,8 +72,9 @@ dependencies:
69
72
  - !ruby/object:Gem::Version
70
73
  segments:
71
74
  - 1
72
- - 4
73
- version: "1.4"
75
+ - 5
76
+ - 0
77
+ version: 1.5.0
74
78
  type: :development
75
79
  version_requirements: *id004
76
80
  - !ruby/object:Gem::Dependency
@@ -83,8 +87,9 @@ dependencies:
83
87
  - !ruby/object:Gem::Version
84
88
  segments:
85
89
  - 0
86
- - 6
87
- version: "0.6"
90
+ - 7
91
+ - 0
92
+ version: 0.7.0
88
93
  type: :development
89
94
  version_requirements: *id005
90
95
  description: " Mongo Followable adds following feature to mongoid "
@@ -98,6 +103,15 @@ extra_rdoc_files: []
98
103
 
99
104
  files:
100
105
  - .gitignore
106
+ - .idea/.name
107
+ - .idea/.rakeTasks
108
+ - .idea/encodings.xml
109
+ - .idea/misc.xml
110
+ - .idea/modules.xml
111
+ - .idea/mongo_followable.iml
112
+ - .idea/vcs.xml
113
+ - .idea/workspace.xml
114
+ - .rakeTasks
101
115
  - Gemfile
102
116
  - LICENSE.txt
103
117
  - README.rdoc