mongo_followable 0.2.4 → 0.2.5

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -9,11 +9,11 @@ see http://www.thesika.info/articles/mongo_followable_update for details
9
9
  In console:
10
10
  gem install mongo_followable
11
11
  or in Gemfile:
12
- gem 'mongo_followable', "~> 0.2.3"
12
+ gem 'mongo_followable'
13
13
 
14
14
  == Usage
15
15
 
16
- 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:
16
+ To make model followable you need to include Mongo::Followable into your model; You also need to include Mongo::Follower in your follower model:
17
17
  class User
18
18
  include Mongoid::Document #for Mongo_Mapper users, this line of code should be include MongoMapper::Document
19
19
  include Mongo::Followable
@@ -58,6 +58,11 @@ You can also judge whether a model is a follower of another model or a model is
58
58
  current_user.follower_of?(@group)
59
59
  current_user.followee_of?(@group)
60
60
 
61
+ or whether a model is following some other model and vice versa:
62
+
63
+ current_user.following?
64
+ @group.followed?
65
+
61
66
  Moreover, it's easy to get a model's follower/followee count:
62
67
 
63
68
  current_user.followers_count
@@ -43,30 +43,44 @@ module Mongo
43
43
  # >> Group.with_max_followers_by_type('user')
44
44
  # => [@ruby]
45
45
 
46
- def method_missing(name, *args)
47
- if name.to_s =~ /^with_(max|min)_followers$/i
46
+ ["max", "min"].each do |s|
47
+ define_method(:"with_#{s}_followers") do
48
48
  follow_array = self.all.to_a.sort! { |a, b| a.followers_count <=> b.followers_count }
49
- if $1 == "max"
50
- max = follow_array[-1].followers_count
51
- follow_array.select { |c| c.followers_count == max }
52
- elsif $1 == "min"
53
- min = follow_array[0].followers_count
54
- follow_array.select { |c| c.followers_count == min }
55
- end
56
- elsif name.to_s =~ /^with_(max|min)_followers_by_type$/i
49
+ num = follow_array[-1].followers_count
50
+ follow_array.select { |c| c.followers_count == num }
51
+ end
52
+
53
+ define_method(:"with_#{s}_followers_by_type") do |*args|
57
54
  follow_array = self.all.to_a.sort! { |a, b| a.followers_count_by_type(args[0]) <=> b.followers_count_by_type(args[0]) }
58
- if $1 == "max"
59
- max = follow_array[-1].followers_count_by_type(args[0])
60
- follow_array.select { |c| c.followers_count_by_type(args[0]) == max }
61
- elsif $1 == "min"
62
- min = follow_array[0].followers_count
63
- follow_array.select { |c| c.followers_count_by_type(args[0]) == min }
64
- end
65
- else
66
- super
55
+ num = follow_array[-1].followers_count_by_type(args[0])
56
+ follow_array.select { |c| c.followers_count_by_type(args[0]) == num }
67
57
  end
68
58
  end
69
59
 
60
+ #def method_missing(name, *args)
61
+ # if name.to_s =~ /^with_(max|min)_followers$/i
62
+ # follow_array = self.all.to_a.sort! { |a, b| a.followers_count <=> b.followers_count }
63
+ # if $1 == "max"
64
+ # max = follow_array[-1].followers_count
65
+ # follow_array.select { |c| c.followers_count == max }
66
+ # elsif $1 == "min"
67
+ # min = follow_array[0].followers_count
68
+ # follow_array.select { |c| c.followers_count == min }
69
+ # end
70
+ # elsif name.to_s =~ /^with_(max|min)_followers_by_type$/i
71
+ # follow_array = self.all.to_a.sort! { |a, b| a.followers_count_by_type(args[0]) <=> b.followers_count_by_type(args[0]) }
72
+ # if $1 == "max"
73
+ # max = follow_array[-1].followers_count_by_type(args[0])
74
+ # follow_array.select { |c| c.followers_count_by_type(args[0]) == max }
75
+ # elsif $1 == "min"
76
+ # min = follow_array[0].followers_count
77
+ # follow_array.select { |c| c.followers_count_by_type(args[0]) == min }
78
+ # end
79
+ # else
80
+ # super
81
+ # end
82
+ #end
83
+
70
84
  end
71
85
 
72
86
  # set which mongoid cannot follow self
@@ -100,6 +114,16 @@ module Mongo
100
114
  0 < self.followers.by_model(model).limit(1).count * model.followees.by_model(self).limit(1).count
101
115
  end
102
116
 
117
+ # return true if self is followed by some models
118
+ #
119
+ # Example:
120
+ # >> @ruby.followed?
121
+ # => true
122
+
123
+ def followed?
124
+ 0 < self.followers.length
125
+ end
126
+
103
127
  # get all the followers of this model, same with classmethod followers_of
104
128
  #
105
129
  # Example:
@@ -43,30 +43,44 @@ module Mongo
43
43
  # >> User.with_max_followees_by_type('group')
44
44
  # => [@jim]
45
45
 
46
- def method_missing(name, *args)
47
- if name.to_s =~ /^with_(max|min)_followees$/i
46
+ ["max", "min"].each do |s|
47
+ define_method(:"with_#{s}_followees") do
48
48
  follow_array = self.all.to_a.sort! { |a, b| a.followees_count <=> b.followees_count }
49
- if $1 == "max"
50
- max = follow_array[-1].followees_count
51
- follow_array.select { |c| c.followees_count == max }
52
- elsif $1 == "min"
53
- min = follow_array[0].followees_count
54
- follow_array.select { |c| c.followees_count == min }
55
- end
56
- elsif name.to_s =~ /^with_(max|min)_followees_by_type$/i
49
+ num = follow_array[-1].followees_count
50
+ follow_array.select { |c| c.followees_count == num }
51
+ end
52
+
53
+ define_method(:"with_#{s}_followees_by_type") do |*args|
57
54
  follow_array = self.all.to_a.sort! { |a, b| a.followees_count_by_type(args[0]) <=> b.followees_count_by_type(args[0]) }
58
- if $1 == "max"
59
- max = follow_array[-1].followees_count_by_type(args[0])
60
- follow_array.select { |c| c.followees_count_by_type(args[0]) == max }
61
- elsif $1 == "min"
62
- min = follow_array[0].followees_count
63
- follow_array.select { |c| c.followees_count_by_type(args[0]) == min }
64
- end
65
- else
66
- super
55
+ num = follow_array[-1].followees_count_by_type(args[0])
56
+ follow_array.select { |c| c.followees_count_by_type(args[0]) == num }
67
57
  end
68
58
  end
69
59
 
60
+ #def method_missing(name, *args)
61
+ # if name.to_s =~ /^with_(max|min)_followees$/i
62
+ # follow_array = self.all.to_a.sort! { |a, b| a.followees_count <=> b.followees_count }
63
+ # if $1 == "max"
64
+ # max = follow_array[-1].followees_count
65
+ # follow_array.select { |c| c.followees_count == max }
66
+ # elsif $1 == "min"
67
+ # min = follow_array[0].followees_count
68
+ # follow_array.select { |c| c.followees_count == min }
69
+ # end
70
+ # elsif name.to_s =~ /^with_(max|min)_followees_by_type$/i
71
+ # follow_array = self.all.to_a.sort! { |a, b| a.followees_count_by_type(args[0]) <=> b.followees_count_by_type(args[0]) }
72
+ # if $1 == "max"
73
+ # max = follow_array[-1].followees_count_by_type(args[0])
74
+ # follow_array.select { |c| c.followees_count_by_type(args[0]) == max }
75
+ # elsif $1 == "min"
76
+ # min = follow_array[0].followees_count
77
+ # follow_array.select { |c| c.followees_count_by_type(args[0]) == min }
78
+ # end
79
+ # else
80
+ # super
81
+ # end
82
+ #end
83
+
70
84
  end
71
85
 
72
86
  # set which mongoid user cannot follow
@@ -101,6 +115,16 @@ module Mongo
101
115
  0 < self.followees.by_model(model).limit(1).count * model.followers.by_model(self).limit(1).count
102
116
  end
103
117
 
118
+ # return true if self is following some models
119
+ #
120
+ # Example:
121
+ # >> @jim.following?
122
+ # => true
123
+
124
+ def following?
125
+ 0 < self.followees.length
126
+ end
127
+
104
128
  # get all the followees of this model, same with classmethod followees_of
105
129
  #
106
130
  # Example:
@@ -1,3 +1,3 @@
1
1
  module MongoFollowable
2
- VERSION = "0.2.4"
2
+ VERSION = "0.2.5"
3
3
  end
@@ -1,9 +1,17 @@
1
- #require "mongo_followable/followable"
2
- #require "mongo_followable/follower"
3
- #require "../app/models/follow"
1
+ module Mongo
2
+ class FollowableError < StandardError
3
+ def initialize(msg, info)
4
+ @info = info
5
+ super(msg)
6
+ end
7
+ end
4
8
 
9
+ class NoMongoidOrMongoMapperError < FollowableError; end
10
+ end
5
11
 
6
- require File.join(File.dirname(__FILE__), "mongo_followable/string_ext")
7
- require File.join(File.dirname(__FILE__), "mongo_followable/followable")
8
- require File.join(File.dirname(__FILE__), "mongo_followable/follower")
9
- require File.join(File.dirname(__FILE__), "../app/models/follow")
12
+ if defined?(Mongoid) or defined?(MongoMapper)
13
+ require File.join(File.dirname(__FILE__), "mongo_followable/core_ext/string")
14
+ require File.join(File.dirname(__FILE__), "mongo_followable/followable")
15
+ require File.join(File.dirname(__FILE__), "mongo_followable/follower")
16
+ require File.join(File.dirname(__FILE__), "../app/models/follow")
17
+ end
@@ -24,6 +24,10 @@ describe Mongo::Followable do
24
24
  it "following a user" do
25
25
  u.follow(@v, @g)
26
26
 
27
+ u.following?.should be_true
28
+ @v.followed?.should be_true
29
+ @g.followed?.should be_true
30
+
27
31
  u.follower_of?(@v).should be_true
28
32
  @v.followee_of?(u).should be_true
29
33
 
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: mongo_followable
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.2.4
5
+ version: 0.2.5
6
6
  platform: ruby
7
7
  authors:
8
8
  - Jie Fan
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2012-03-07 00:00:00 Z
13
+ date: 2012-03-24 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rspec
@@ -78,15 +78,6 @@ extra_rdoc_files: []
78
78
 
79
79
  files:
80
80
  - .gitignore
81
- - .idea/.name
82
- - .idea/.rakeTasks
83
- - .idea/encodings.xml
84
- - .idea/misc.xml
85
- - .idea/modules.xml
86
- - .idea/mongo_followable.iml
87
- - .idea/scopes/scope_settings.xml
88
- - .idea/vcs.xml
89
- - .idea/workspace.xml
90
81
  - .rakeTasks
91
82
  - Gemfile
92
83
  - LICENSE.txt
@@ -94,9 +85,9 @@ files:
94
85
  - Rakefile
95
86
  - app/models/follow.rb
96
87
  - lib/mongo_followable.rb
88
+ - lib/mongo_followable/core_ext/string.rb
97
89
  - lib/mongo_followable/followable.rb
98
90
  - lib/mongo_followable/follower.rb
99
- - lib/mongo_followable/string_ext.rb
100
91
  - lib/mongo_followable/version.rb
101
92
  - mongo_followable.gemspec
102
93
  - spec/mongo/followable_spec.rb
data/.idea/.name DELETED
@@ -1 +0,0 @@
1
- mongo_followable
data/.idea/.rakeTasks DELETED
@@ -1,7 +0,0 @@
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/.idea/encodings.xml DELETED
@@ -1,5 +0,0 @@
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 DELETED
@@ -1,5 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ProjectRootManager" version="2" project-jdk-name="RVM: ruby-1.9.2-p136" project-jdk-type="RUBY_SDK" />
4
- </project>
5
-
data/.idea/modules.xml DELETED
@@ -1,9 +0,0 @@
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
-
@@ -1,20 +0,0 @@
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="bson (v1.5.2, RVM: ruby-1.9.2-p136) [gem]" level="application" />
8
- <orderEntry type="library" scope="PROVIDED" name="bson_ext (v1.5.2, RVM: ruby-1.9.2-p136) [gem]" level="application" />
9
- <orderEntry type="library" scope="PROVIDED" name="builder (v3.0.0, RVM: ruby-1.9.2-p136) [gem]" level="application" />
10
- <orderEntry type="library" scope="PROVIDED" name="bundler (v1.0.22, RVM: ruby-1.9.2-p136) [gem]" level="application" />
11
- <orderEntry type="library" scope="PROVIDED" name="diff-lcs (v1.1.3, RVM: ruby-1.9.2-p136) [gem]" level="application" />
12
- <orderEntry type="library" scope="PROVIDED" name="i18n (v0.6.0, RVM: ruby-1.9.2-p136) [gem]" level="application" />
13
- <orderEntry type="library" scope="PROVIDED" name="mongo (v1.5.2, RVM: ruby-1.9.2-p136) [gem]" level="application" />
14
- <orderEntry type="library" scope="PROVIDED" name="mongoid (v2.4.6, RVM: ruby-1.9.2-p136) [gem]" level="application" />
15
- <orderEntry type="library" scope="PROVIDED" name="multi_json (v1.0.4, RVM: ruby-1.9.2-p136) [gem]" level="application" />
16
- <orderEntry type="library" scope="PROVIDED" name="rspec (v2.7.0, RVM: ruby-1.9.2-p136) [gem]" level="application" />
17
- <orderEntry type="library" scope="PROVIDED" name="tzinfo (v0.3.31, RVM: ruby-1.9.2-p136) [gem]" level="application" />
18
- </component>
19
- </module>
20
-
@@ -1,5 +0,0 @@
1
- <component name="DependencyValidationManager">
2
- <state>
3
- <option name="SKIP_IMPORT_STATEMENTS" value="false" />
4
- </state>
5
- </component>
data/.idea/vcs.xml DELETED
@@ -1,7 +0,0 @@
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
-
data/.idea/workspace.xml DELETED
@@ -1,544 +0,0 @@
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="NEW" beforePath="" afterPath="$PROJECT_DIR$/lib/mongo_followable/string_ext.rb" />
6
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/spec/mongo_mapper/childuser.rb" />
7
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/spec/mongoid/childuser.rb" />
8
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/mongo_followable.iml" afterPath="$PROJECT_DIR$/.idea/mongo_followable.iml" />
9
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/misc.xml" afterPath="$PROJECT_DIR$/.idea/misc.xml" />
10
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
11
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/README.rdoc" afterPath="$PROJECT_DIR$/README.rdoc" />
12
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/models/follow.rb" afterPath="$PROJECT_DIR$/app/models/follow.rb" />
13
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/lib/mongo_followable.rb" afterPath="$PROJECT_DIR$/lib/mongo_followable.rb" />
14
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/lib/mongo_followable/followable.rb" afterPath="$PROJECT_DIR$/lib/mongo_followable/followable.rb" />
15
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/lib/mongo_followable/follower.rb" afterPath="$PROJECT_DIR$/lib/mongo_followable/follower.rb" />
16
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/lib/mongo_followable/version.rb" afterPath="$PROJECT_DIR$/lib/mongo_followable/version.rb" />
17
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/spec/mongo/followable_spec.rb" afterPath="$PROJECT_DIR$/spec/mongo/followable_spec.rb" />
18
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/spec/spec_helper.rb" afterPath="$PROJECT_DIR$/spec/spec_helper.rb" />
19
- </list>
20
- <ignored path="mongo_followable.iws" />
21
- <ignored path=".idea/workspace.xml" />
22
- <option name="TRACKING_ENABLED" value="true" />
23
- <option name="SHOW_DIALOG" value="false" />
24
- <option name="HIGHLIGHT_CONFLICTS" value="true" />
25
- <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
26
- <option name="LAST_RESOLUTION" value="IGNORE" />
27
- </component>
28
- <component name="ChangesViewManager" flattened_view="true" show_ignored="false" />
29
- <component name="CreatePatchCommitExecutor">
30
- <option name="PATCH_PATH" value="" />
31
- </component>
32
- <component name="DaemonCodeAnalyzer">
33
- <disable_hints />
34
- </component>
35
- <component name="FavoritesManager">
36
- <favorites_list name="mongo_followable" />
37
- </component>
38
- <component name="FileEditorManager">
39
- <leaf />
40
- </component>
41
- <component name="FindManager">
42
- <FindUsagesManager>
43
- <setting name="OPEN_NEW_TAB" value="false" />
44
- </FindUsagesManager>
45
- </component>
46
- <component name="Git.Settings">
47
- <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
48
- </component>
49
- <component name="IdeDocumentHistory">
50
- <option name="changedFiles">
51
- <list>
52
- <option value="$PROJECT_DIR$/spec/mongo_mapper/group.rb" />
53
- <option value="$PROJECT_DIR$/spec/mongo_mapper/user.rb" />
54
- <option value="$PROJECT_DIR$/spec/mongoid/group.rb" />
55
- <option value="$PROJECT_DIR$/spec/mongoid/user.rb" />
56
- <option value="$PROJECT_DIR$/lib/mongo_followable.rb" />
57
- <option value="$PROJECT_DIR$/app/models/follow.rb" />
58
- <option value="$PROJECT_DIR$/lib/mongo_followable/follower.rb" />
59
- <option value="$PROJECT_DIR$/lib/mongo_followable/followable.rb" />
60
- <option value="$PROJECT_DIR$/lib/mongo_followable/version.rb" />
61
- <option value="$PROJECT_DIR$/mongo_followable.gemspec" />
62
- <option value="$PROJECT_DIR$/README.rdoc" />
63
- <option value="$PROJECT_DIR$/lib/mongo_followable/string_ext.rb" />
64
- <option value="$PROJECT_DIR$/spec/mongoid/childuser.rb" />
65
- <option value="$PROJECT_DIR$/spec/mongo_mapper/childuser.rb" />
66
- <option value="$PROJECT_DIR$/spec/spec_helper.rb" />
67
- <option value="$PROJECT_DIR$/spec/mongo/followable_spec.rb" />
68
- </list>
69
- </option>
70
- </component>
71
- <component name="ProjectFrameBounds">
72
- <option name="x" value="1" />
73
- <option name="y" value="24" />
74
- <option name="width" value="1599" />
75
- <option name="height" value="851" />
76
- </component>
77
- <component name="ProjectLevelVcsManager" settingsEditedManually="false">
78
- <OptionsSetting value="true" id="Add" />
79
- <OptionsSetting value="true" id="Remove" />
80
- <OptionsSetting value="true" id="Checkout" />
81
- <OptionsSetting value="true" id="Update" />
82
- <OptionsSetting value="true" id="Status" />
83
- <OptionsSetting value="true" id="Edit" />
84
- <ConfirmationsSetting value="2" id="Add" />
85
- <ConfirmationsSetting value="0" id="Remove" />
86
- </component>
87
- <component name="ProjectReloadState">
88
- <option name="STATE" value="0" />
89
- </component>
90
- <component name="ProjectView">
91
- <navigator currentView="ProjectPane" proportions="" version="1" splitterProportion="0.5">
92
- <flattenPackages />
93
- <showMembers />
94
- <showModules />
95
- <showLibraryContents />
96
- <hideEmptyPackages />
97
- <abbreviatePackageNames />
98
- <autoscrollToSource />
99
- <autoscrollFromSource />
100
- <sortByType />
101
- </navigator>
102
- <panes>
103
- <pane id="ProjectPane">
104
- <subPane>
105
- <PATH>
106
- <PATH_ELEMENT>
107
- <option name="myItemId" value="mongo_followable" />
108
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
109
- </PATH_ELEMENT>
110
- </PATH>
111
- <PATH>
112
- <PATH_ELEMENT>
113
- <option name="myItemId" value="mongo_followable" />
114
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
115
- </PATH_ELEMENT>
116
- <PATH_ELEMENT>
117
- <option name="myItemId" value="mongo_followable" />
118
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
119
- </PATH_ELEMENT>
120
- </PATH>
121
- <PATH>
122
- <PATH_ELEMENT>
123
- <option name="myItemId" value="mongo_followable" />
124
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
125
- </PATH_ELEMENT>
126
- <PATH_ELEMENT>
127
- <option name="myItemId" value="mongo_followable" />
128
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
129
- </PATH_ELEMENT>
130
- <PATH_ELEMENT>
131
- <option name="myItemId" value="spec" />
132
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
133
- </PATH_ELEMENT>
134
- </PATH>
135
- <PATH>
136
- <PATH_ELEMENT>
137
- <option name="myItemId" value="mongo_followable" />
138
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
139
- </PATH_ELEMENT>
140
- <PATH_ELEMENT>
141
- <option name="myItemId" value="mongo_followable" />
142
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
143
- </PATH_ELEMENT>
144
- <PATH_ELEMENT>
145
- <option name="myItemId" value="spec" />
146
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
147
- </PATH_ELEMENT>
148
- <PATH_ELEMENT>
149
- <option name="myItemId" value="mongoid" />
150
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
151
- </PATH_ELEMENT>
152
- </PATH>
153
- <PATH>
154
- <PATH_ELEMENT>
155
- <option name="myItemId" value="mongo_followable" />
156
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
157
- </PATH_ELEMENT>
158
- <PATH_ELEMENT>
159
- <option name="myItemId" value="mongo_followable" />
160
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
161
- </PATH_ELEMENT>
162
- <PATH_ELEMENT>
163
- <option name="myItemId" value="spec" />
164
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
165
- </PATH_ELEMENT>
166
- <PATH_ELEMENT>
167
- <option name="myItemId" value="mongo_mapper" />
168
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
169
- </PATH_ELEMENT>
170
- </PATH>
171
- <PATH>
172
- <PATH_ELEMENT>
173
- <option name="myItemId" value="mongo_followable" />
174
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
175
- </PATH_ELEMENT>
176
- <PATH_ELEMENT>
177
- <option name="myItemId" value="mongo_followable" />
178
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
179
- </PATH_ELEMENT>
180
- <PATH_ELEMENT>
181
- <option name="myItemId" value="spec" />
182
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
183
- </PATH_ELEMENT>
184
- <PATH_ELEMENT>
185
- <option name="myItemId" value="mongo" />
186
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
187
- </PATH_ELEMENT>
188
- </PATH>
189
- <PATH>
190
- <PATH_ELEMENT>
191
- <option name="myItemId" value="mongo_followable" />
192
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
193
- </PATH_ELEMENT>
194
- <PATH_ELEMENT>
195
- <option name="myItemId" value="mongo_followable" />
196
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
197
- </PATH_ELEMENT>
198
- <PATH_ELEMENT>
199
- <option name="myItemId" value="lib" />
200
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
201
- </PATH_ELEMENT>
202
- </PATH>
203
- <PATH>
204
- <PATH_ELEMENT>
205
- <option name="myItemId" value="mongo_followable" />
206
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
207
- </PATH_ELEMENT>
208
- <PATH_ELEMENT>
209
- <option name="myItemId" value="mongo_followable" />
210
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
211
- </PATH_ELEMENT>
212
- <PATH_ELEMENT>
213
- <option name="myItemId" value="lib" />
214
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
215
- </PATH_ELEMENT>
216
- <PATH_ELEMENT>
217
- <option name="myItemId" value="mongo_followable" />
218
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
219
- </PATH_ELEMENT>
220
- </PATH>
221
- <PATH>
222
- <PATH_ELEMENT>
223
- <option name="myItemId" value="mongo_followable" />
224
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
225
- </PATH_ELEMENT>
226
- <PATH_ELEMENT>
227
- <option name="myItemId" value="mongo_followable" />
228
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
229
- </PATH_ELEMENT>
230
- <PATH_ELEMENT>
231
- <option name="myItemId" value="app" />
232
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
233
- </PATH_ELEMENT>
234
- <PATH_ELEMENT>
235
- <option name="myItemId" value="models" />
236
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
237
- </PATH_ELEMENT>
238
- </PATH>
239
- </subPane>
240
- </pane>
241
- <pane id="Scope" />
242
- <pane id="Favorites" />
243
- </panes>
244
- </component>
245
- <component name="PropertiesComponent">
246
- <property name="WebServerToolWindowFactoryState" value="false" />
247
- </component>
248
- <component name="RecentsManager">
249
- <key name="CopyFile.RECENT_KEYS">
250
- <recent name="$PROJECT_DIR$/spec/mongo_mapper" />
251
- <recent name="$PROJECT_DIR$" />
252
- </key>
253
- </component>
254
- <component name="RunManager">
255
- <configuration default="true" type="RSpecRunConfigurationType" factoryName="RSpec">
256
- <predefined_log_file id="RUBY_RSPEC" enabled="true" />
257
- <module name="" />
258
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
259
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="" />
260
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
261
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
262
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
263
- <envs />
264
- <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
265
- <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
266
- <COVERAGE_PATTERN ENABLED="true">
267
- <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
268
- </COVERAGE_PATTERN>
269
- </EXTENSION>
270
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
271
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="" />
272
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_RUNNER_PATH" VALUE="" />
273
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="**/*_spec.rb" />
274
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_EXAMPLE_NAME" VALUE="" />
275
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
276
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_ARGS" VALUE="" />
277
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_VERSION" VALUE="" />
278
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="USE_CUSTOM_SPEC_RUNNER" VALUE="false" />
279
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
280
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="FULL_BACKTRACE" VALUE="false" />
281
- <method>
282
- <option name="RakeTask" enabled="false" />
283
- </method>
284
- </configuration>
285
- <configuration default="true" type="RubyRunConfigurationType" factoryName="Ruby">
286
- <module name="" />
287
- <RUBY_RUN_CONFIG NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
288
- <RUBY_RUN_CONFIG NAME="WORK DIR" VALUE="" />
289
- <RUBY_RUN_CONFIG NAME="SHOULD_USE_SDK" VALUE="false" />
290
- <RUBY_RUN_CONFIG NAME="ALTERN_SDK_NAME" VALUE="" />
291
- <RUBY_RUN_CONFIG NAME="myPassParentEnvs" VALUE="true" />
292
- <envs />
293
- <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
294
- <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" track_test_folders="true" runner="rcov">
295
- <COVERAGE_PATTERN ENABLED="true">
296
- <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
297
- </COVERAGE_PATTERN>
298
- </EXTENSION>
299
- <RUBY_RUN_CONFIG NAME="SCRIPT_PATH" VALUE="" />
300
- <RUBY_RUN_CONFIG NAME="SCRIPT_ARGS" VALUE="" />
301
- <method>
302
- <option name="RakeTask" enabled="false" />
303
- </method>
304
- </configuration>
305
- <configuration default="true" type="TestUnitRunConfigurationType" factoryName="Test::Unit/Shoulda/Minitest">
306
- <predefined_log_file id="RUBY_TESTUNIT" enabled="true" />
307
- <module name="" />
308
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
309
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="" />
310
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
311
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
312
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
313
- <envs />
314
- <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
315
- <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
316
- <COVERAGE_PATTERN ENABLED="true">
317
- <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
318
- </COVERAGE_PATTERN>
319
- </EXTENSION>
320
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
321
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="" />
322
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="" />
323
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_METHOD_NAME" VALUE="" />
324
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
325
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
326
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_OPTIONS" VALUE="" />
327
- <method>
328
- <option name="RakeTask" enabled="false" />
329
- </method>
330
- </configuration>
331
- <list size="0" />
332
- </component>
333
- <component name="ShelveChangesManager" show_recycled="false" />
334
- <component name="SvnConfiguration" maxAnnotateRevisions="500">
335
- <option name="USER" value="" />
336
- <option name="PASSWORD" value="" />
337
- <option name="LAST_MERGED_REVISION" />
338
- <option name="MERGE_DRY_RUN" value="false" />
339
- <option name="MERGE_DIFF_USE_ANCESTRY" value="true" />
340
- <option name="UPDATE_LOCK_ON_DEMAND" value="false" />
341
- <option name="IGNORE_SPACES_IN_MERGE" value="false" />
342
- <option name="DETECT_NESTED_COPIES" value="true" />
343
- <option name="CHECK_NESTED_FOR_QUICK_MERGE" value="false" />
344
- <option name="IGNORE_SPACES_IN_ANNOTATE" value="true" />
345
- <option name="SHOW_MERGE_SOURCES_IN_ANNOTATE" value="true" />
346
- <option name="FORCE_UPDATE" value="false" />
347
- <myIsUseDefaultProxy>false</myIsUseDefaultProxy>
348
- </component>
349
- <component name="TaskManager">
350
- <task active="true" id="Default" summary="Default task">
351
- <changelist id="46dc3a6d-3a97-49f8-becd-2ccba8c07e42" name="Default" comment="" />
352
- <created>1320633827964</created>
353
- <updated>1320633827964</updated>
354
- </task>
355
- <servers />
356
- </component>
357
- <component name="ToolWindowManager">
358
- <frame x="1" y="24" width="1599" height="851" extended-state="0" />
359
- <editor active="false" />
360
- <layout>
361
- <window_info id="Data Sources" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
362
- <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" />
363
- <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" />
364
- <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" />
365
- <window_info id="Project" active="true" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.20103426" sideWeight="0.6703601" order="0" side_tool="false" content_ui="combo" />
366
- <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" />
367
- <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />
368
- <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />
369
- <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" />
370
- <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" />
371
- <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" />
372
- <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" />
373
- <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" />
374
- <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" />
375
- <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" />
376
- <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" />
377
- <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" />
378
- <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" />
379
- </layout>
380
- </component>
381
- <component name="VcsContentAnnotationSettings">
382
- <option name="myLimit" value="2678400000" />
383
- </component>
384
- <component name="VcsManagerConfiguration">
385
- <option name="OFFER_MOVE_TO_ANOTHER_CHANGELIST_ON_PARTIAL_COMMIT" value="true" />
386
- <option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="true" />
387
- <option name="CHECK_NEW_TODO" value="true" />
388
- <option name="myTodoPanelSettings">
389
- <value>
390
- <are-packages-shown value="false" />
391
- <are-modules-shown value="false" />
392
- <flatten-packages value="false" />
393
- <is-autoscroll-to-source value="false" />
394
- </value>
395
- </option>
396
- <option name="PERFORM_UPDATE_IN_BACKGROUND" value="true" />
397
- <option name="PERFORM_COMMIT_IN_BACKGROUND" value="true" />
398
- <option name="PERFORM_EDIT_IN_BACKGROUND" value="true" />
399
- <option name="PERFORM_CHECKOUT_IN_BACKGROUND" value="true" />
400
- <option name="PERFORM_ADD_REMOVE_IN_BACKGROUND" value="true" />
401
- <option name="PERFORM_ROLLBACK_IN_BACKGROUND" value="false" />
402
- <option name="CHECK_LOCALLY_CHANGED_CONFLICTS_IN_BACKGROUND" value="false" />
403
- <option name="ENABLE_BACKGROUND_PROCESSES" value="false" />
404
- <option name="CHANGED_ON_SERVER_INTERVAL" value="60" />
405
- <option name="SHOW_ONLY_CHANGED_IN_SELECTION_DIFF" value="true" />
406
- <option name="CHECK_COMMIT_MESSAGE_SPELLING" value="true" />
407
- <option name="DEFAULT_PATCH_EXTENSION" value="patch" />
408
- <option name="SHORT_DIFF_HORISONTALLY" value="true" />
409
- <option name="SHORT_DIFF_EXTRA_LINES" value="2" />
410
- <option name="SOFT_WRAPS_IN_SHORT_DIFF" value="true" />
411
- <option name="INCLUDE_TEXT_INTO_PATCH" value="false" />
412
- <option name="INCLUDE_TEXT_INTO_SHELF" value="false" />
413
- <option name="CREATE_PATCH_EXPAND_DETAILS_DEFAULT" value="true" />
414
- <option name="SHOW_FILE_HISTORY_DETAILS" value="true" />
415
- <option name="FORCE_NON_EMPTY_COMMENT" value="false" />
416
- <option name="LAST_COMMIT_MESSAGE" />
417
- <option name="MAKE_NEW_CHANGELIST_ACTIVE" value="true" />
418
- <option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="false" />
419
- <option name="CHECK_FILES_UP_TO_DATE_BEFORE_COMMIT" value="false" />
420
- <option name="REFORMAT_BEFORE_PROJECT_COMMIT" value="false" />
421
- <option name="REFORMAT_BEFORE_FILE_COMMIT" value="false" />
422
- <option name="FILE_HISTORY_DIALOG_COMMENTS_SPLITTER_PROPORTION" value="0.8" />
423
- <option name="FILE_HISTORY_DIALOG_SPLITTER_PROPORTION" value="0.5" />
424
- <option name="ACTIVE_VCS_NAME" />
425
- <option name="UPDATE_GROUP_BY_PACKAGES" value="false" />
426
- <option name="UPDATE_GROUP_BY_CHANGELIST" value="false" />
427
- <option name="SHOW_FILE_HISTORY_AS_TREE" value="false" />
428
- <option name="FILE_HISTORY_SPLITTER_PROPORTION" value="0.6" />
429
- </component>
430
- <component name="XDebuggerManager">
431
- <breakpoint-manager />
432
- </component>
433
- <component name="editorHistoryManager">
434
- <entry file="file://$PROJECT_DIR$/spec/mongo_mapper/group.rb">
435
- <provider selected="true" editor-type-id="text-editor">
436
- <state line="2" column="15" selection-start="59" selection-end="59" vertical-scroll-proportion="0.04347826" />
437
- </provider>
438
- </entry>
439
- <entry file="file://$PROJECT_DIR$/Gemfile">
440
- <provider selected="true" editor-type-id="text-editor">
441
- <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0" />
442
- </provider>
443
- </entry>
444
- <entry file="file://$PROJECT_DIR$/lib/mongo_followable.rb">
445
- <provider selected="true" editor-type-id="text-editor">
446
- <state line="5" column="70" selection-start="180" selection-end="180" vertical-scroll-proportion="0.10885341">
447
- <folding />
448
- </state>
449
- </provider>
450
- </entry>
451
- <entry file="file://$PROJECT_DIR$/lib/mongo_followable/version.rb">
452
- <provider selected="true" editor-type-id="text-editor">
453
- <state line="1" column="18" selection-start="41" selection-end="41" vertical-scroll-proportion="0.021770682">
454
- <folding />
455
- </state>
456
- </provider>
457
- </entry>
458
- <entry file="file://$PROJECT_DIR$/mongo_followable.gemspec">
459
- <provider selected="true" editor-type-id="text-editor">
460
- <state line="15" column="42" selection-start="606" selection-end="606" vertical-scroll-proportion="0.32656023">
461
- <folding />
462
- </state>
463
- </provider>
464
- </entry>
465
- <entry file="file://$PROJECT_DIR$/spec/mongoid/user.rb">
466
- <provider selected="true" editor-type-id="text-editor">
467
- <state line="2" column="15" selection-start="0" selection-end="96" vertical-scroll-proportion="0.043541364">
468
- <folding />
469
- </state>
470
- </provider>
471
- </entry>
472
- <entry file="file://$PROJECT_DIR$/spec/mongo_mapper/user.rb">
473
- <provider selected="true" editor-type-id="text-editor">
474
- <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
475
- <folding />
476
- </state>
477
- </provider>
478
- </entry>
479
- <entry file="file://$PROJECT_DIR$/spec/mongo_mapper/childuser.rb">
480
- <provider selected="true" editor-type-id="text-editor">
481
- <state line="1" column="21" selection-start="37" selection-end="37" vertical-scroll-proportion="0.021770682">
482
- <folding />
483
- </state>
484
- </provider>
485
- </entry>
486
- <entry file="file://$PROJECT_DIR$/spec/mongo/followable_spec.rb">
487
- <provider selected="true" editor-type-id="text-editor">
488
- <state line="245" column="20" selection-start="5399" selection-end="5399" vertical-scroll-proportion="0.9564586">
489
- <folding />
490
- </state>
491
- </provider>
492
- </entry>
493
- <entry file="file://$PROJECT_DIR$/spec/spec_helper.rb">
494
- <provider selected="true" editor-type-id="text-editor">
495
- <state line="25" column="53" selection-start="858" selection-end="858" vertical-scroll-proportion="0.54426706">
496
- <folding />
497
- </state>
498
- </provider>
499
- </entry>
500
- <entry file="file://$PROJECT_DIR$/spec/mongoid/childuser.rb">
501
- <provider selected="true" editor-type-id="text-editor">
502
- <state line="0" column="11" selection-start="11" selection-end="11" vertical-scroll-proportion="0.0">
503
- <folding />
504
- </state>
505
- </provider>
506
- </entry>
507
- <entry file="file://$PROJECT_DIR$/app/models/follow.rb">
508
- <provider selected="true" editor-type-id="text-editor">
509
- <state line="16" column="71" selection-start="436" selection-end="436" vertical-scroll-proportion="0.34833091">
510
- <folding />
511
- </state>
512
- </provider>
513
- </entry>
514
- <entry file="file://$PROJECT_DIR$/lib/mongo_followable/string_ext.rb">
515
- <provider selected="true" editor-type-id="text-editor">
516
- <state line="1" column="29" selection-start="42" selection-end="42" vertical-scroll-proportion="0.021770682">
517
- <folding />
518
- </state>
519
- </provider>
520
- </entry>
521
- <entry file="file://$PROJECT_DIR$/README.rdoc">
522
- <provider selected="true" editor-type-id="text-editor">
523
- <state line="80" column="56" selection-start="2357" selection-end="2357" vertical-scroll-proportion="1.4586357">
524
- <folding />
525
- </state>
526
- </provider>
527
- </entry>
528
- <entry file="file://$PROJECT_DIR$/lib/mongo_followable/follower.rb">
529
- <provider selected="true" editor-type-id="text-editor">
530
- <state line="88" column="42" selection-start="2821" selection-end="2821" vertical-scroll-proportion="-0.27906978">
531
- <folding />
532
- </state>
533
- </provider>
534
- </entry>
535
- <entry file="file://$PROJECT_DIR$/lib/mongo_followable/followable.rb">
536
- <provider selected="true" editor-type-id="text-editor">
537
- <state line="87" column="54" selection-start="2798" selection-end="2798" vertical-scroll-proportion="1.3255814">
538
- <folding />
539
- </state>
540
- </provider>
541
- </entry>
542
- </component>
543
- </project>
544
-