rugroupy-server 0.1.2 → 0.2.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.
- checksums.yaml +7 -0
- data/README.rdoc +9 -0
- data/lib/rugroupy/mongo.rb +39 -0
- data/lib/rugroupy/server.rb +70 -64
- data/lib/rugroupy/server_default.rb +2 -2
- metadata +129 -224
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: fa99f723522c4a7a822cbb17c5f64aa04c1acb36
|
4
|
+
data.tar.gz: 7e47af1c4551c09666d3a5f2716be066976c34ba
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 0f946b7e090ab4b631881a9432d323244e5af34718964dac1aaaf34f12d17a646617996e5ee466d655788be651ea5e2dbc1043bd3c8d6e22b550efdbae6828ec
|
7
|
+
data.tar.gz: a54b1a1ced90110e33db6f37ee78f75aeef86ae221dd7c4d6e9928120b2fc794826b145ad14b6e334ba264f27a29a361fb0cb3d50277b507a1c9b00a0dc1d605
|
data/README.rdoc
CHANGED
@@ -37,6 +37,15 @@ See http://github.com/rwynn/rugroupy-server/tree/master/test for example input/o
|
|
37
37
|
|
38
38
|
* sudo gem install rugroupy-server
|
39
39
|
|
40
|
+
== Install from the GitHub source
|
41
|
+
|
42
|
+
The source code is available at http://github.com/rwynn/rugroupy-server.
|
43
|
+
You can either clone the git repository or download a tarball or zip file.
|
44
|
+
Once you have the source, you can use it from wherever you downloaded it or
|
45
|
+
you can install it as a gem from the source by typing
|
46
|
+
|
47
|
+
* sudo rake install
|
48
|
+
|
40
49
|
== Contributing to rugroupy-server
|
41
50
|
|
42
51
|
* Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'sinatra/base'
|
2
|
+
require 'mongo'
|
3
|
+
|
4
|
+
module Sinatra
|
5
|
+
module MongoHelper
|
6
|
+
def mongo
|
7
|
+
settings.mongo
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
module MongoExtension
|
12
|
+
def mongo=(url)
|
13
|
+
@mongo = nil
|
14
|
+
set :mongo_url, url
|
15
|
+
mongo
|
16
|
+
end
|
17
|
+
|
18
|
+
def mongo
|
19
|
+
synchronize do
|
20
|
+
@mongo ||= begin
|
21
|
+
url = URI(mongo_url)
|
22
|
+
client = Mongo::Client.new(mongo_url)
|
23
|
+
mongo = Mongo::Database.new(client, url.path[1..-1], mongo_settings)
|
24
|
+
mongo
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
protected
|
30
|
+
|
31
|
+
def self.registered(app)
|
32
|
+
app.set :mongo_url, ENV['MONGO_URL'] || 'mongodb://127.0.0.1:27017/default'
|
33
|
+
app.set :mongo_settings, {}
|
34
|
+
app.helpers MongoHelper
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
register MongoExtension
|
39
|
+
end
|
data/lib/rugroupy/server.rb
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
require 'rubygems'
|
2
2
|
require 'sinatra/base'
|
3
|
-
require 'sinatra/mongo'
|
4
3
|
require 'rugroupy'
|
4
|
+
require 'rugroupy/mongo'
|
5
5
|
require 'json'
|
6
6
|
|
7
7
|
# Run the server like this by extending GroupyServer and calling run!
|
8
8
|
# require 'rugroupy/server'
|
9
|
-
# class MyApp < Groupy::GroupyServer
|
10
|
-
# register
|
9
|
+
# class MyApp < Groupy::GroupyServer
|
10
|
+
# register Groupy::MongoExtension
|
11
11
|
# set :mongo, 'mongo://localhost:27017/test'
|
12
12
|
# optionally set more things (port, etc.) according to http://www.sinatrarb.com/configuration.html
|
13
13
|
# end
|
@@ -15,115 +15,121 @@ require 'json'
|
|
15
15
|
|
16
16
|
module Groupy
|
17
17
|
module GroupyServerSupport
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
e = Groupy::Entity.new(mongo, e_json['name'], e_json["id"], create)
|
18
|
+
def get_entity(params, create = false)
|
19
|
+
e_json = get_entity_json(params)
|
20
|
+
e = Groupy::Entity.new(mongo, e_json['name'], e_json['id'], create)
|
22
21
|
e.get
|
23
22
|
end
|
24
|
-
|
23
|
+
|
25
24
|
def get_entity_json(params)
|
26
25
|
JSON.parse(params[:entity])
|
27
26
|
end
|
28
|
-
|
27
|
+
|
29
28
|
def get_entity_similiar(params)
|
30
|
-
e_json =
|
31
|
-
e = Groupy::Entity.new(mongo, e_json['name'], e_json[
|
32
|
-
e.similiar(e_json[
|
29
|
+
e_json = get_entity_json(params)
|
30
|
+
e = Groupy::Entity.new(mongo, e_json['name'], e_json['id'], create = false)
|
31
|
+
e.similiar(e_json['tag'], e_json['skip'], e_json['limit'], e_json['reverse'])
|
33
32
|
end
|
34
|
-
|
33
|
+
|
35
34
|
def delete_entity(params)
|
36
|
-
e_json =
|
37
|
-
e = Groupy::Entity.new(mongo, e_json['name'], e_json[
|
35
|
+
e_json = get_entity_json(params)
|
36
|
+
e = Groupy::Entity.new(mongo, e_json['name'], e_json['id'], create = create)
|
38
37
|
e.delete
|
39
38
|
end
|
40
|
-
|
41
|
-
def tag_entity(params, create=true)
|
42
|
-
e_json =
|
43
|
-
e = Groupy::Entity.new(mongo, e_json['name'], e_json[
|
44
|
-
e_json[
|
39
|
+
|
40
|
+
def tag_entity(params, create = true)
|
41
|
+
e_json = get_entity_json(params)
|
42
|
+
e = Groupy::Entity.new(mongo, e_json['name'], e_json['id'], create = create)
|
43
|
+
e_json['tags'].each_pair do |name, value|
|
45
44
|
create ? e.tag(name, value) : e.untag(name, value)
|
46
45
|
end
|
47
46
|
e.get
|
48
47
|
end
|
49
|
-
|
48
|
+
|
50
49
|
def group_entities(params)
|
51
|
-
e_json =
|
52
|
-
g = Groupy::EntityGrouper.new(mongo, e_json[
|
53
|
-
options = {:
|
54
|
-
|
55
|
-
|
50
|
+
e_json = get_entity_json(params)
|
51
|
+
g = Groupy::EntityGrouper.new(mongo, e_json['name'])
|
52
|
+
options = { includeFunction: e_json['include_function'],
|
53
|
+
scoreFunction: e_json['score_function'],
|
54
|
+
dynamicTagFunction: e_json['dynamic_tag_function'] }
|
56
55
|
g.group(options)
|
57
56
|
end
|
58
57
|
|
59
58
|
def similiar_entities(params)
|
60
|
-
e_json =
|
61
|
-
g = Groupy::EntityGrouper.new(mongo, e_json[
|
62
|
-
g.similiar(e_json[
|
59
|
+
e_json = get_entity_json(params)
|
60
|
+
g = Groupy::EntityGrouper.new(mongo, e_json['name'])
|
61
|
+
g.similiar(e_json['tag'], e_json['skip'], e_json['limit'], e_json['reverse'])
|
63
62
|
end
|
64
|
-
|
65
63
|
end
|
66
64
|
|
67
65
|
class GroupyServer < Sinatra::Base
|
68
66
|
include GroupyServerSupport
|
69
|
-
#register
|
70
|
-
#set :mongo, 'mongo://localhost:27017/test'
|
71
|
-
|
72
|
-
before do
|
73
|
-
headers
|
67
|
+
# register Groupy::MongoExtension
|
68
|
+
# set :mongo, 'mongo://localhost:27017/test'
|
69
|
+
|
70
|
+
before do
|
71
|
+
headers 'Content-Type' => 'application/json; charset=UTF-8'
|
74
72
|
end
|
75
|
-
|
73
|
+
|
76
74
|
get '/entity' do
|
77
|
-
response = Hash[:
|
78
|
-
|
79
|
-
|
75
|
+
response = Hash[success: true, entity: get_entity(params)]
|
76
|
+
unless response[:entity]
|
77
|
+
halt 404, JSON.generate(success: false,
|
78
|
+
message: 'not found')
|
79
|
+
end
|
80
80
|
JSON.generate(response)
|
81
81
|
end
|
82
|
-
|
82
|
+
|
83
83
|
put '/entity' do
|
84
|
-
response = Hash[:
|
85
|
-
|
86
|
-
|
84
|
+
response = Hash[success: true, entity: get_entity(params, true)]
|
85
|
+
unless response[:entity]
|
86
|
+
halt 500, JSON.generate(success: false,
|
87
|
+
message: 'unable to create entity')
|
88
|
+
end
|
87
89
|
status 201
|
88
90
|
JSON.generate(response)
|
89
91
|
end
|
90
|
-
|
92
|
+
|
91
93
|
delete '/entity' do
|
92
|
-
response = Hash[:
|
93
|
-
|
94
|
+
response = Hash[success: true]
|
95
|
+
delete_entity(params)
|
94
96
|
JSON.generate(response)
|
95
97
|
end
|
96
|
-
|
98
|
+
|
97
99
|
put '/entity/tags' do
|
98
|
-
response = Hash[:
|
99
|
-
|
100
|
-
|
100
|
+
response = Hash[success: true, entity: tag_entity(params, true)]
|
101
|
+
unless response[:entity]
|
102
|
+
halt 500, JSON.generate(success: false,
|
103
|
+
message: 'unable to create entity tag')
|
104
|
+
end
|
101
105
|
JSON.generate(response)
|
102
106
|
end
|
103
|
-
|
107
|
+
|
104
108
|
delete '/entity/tags' do
|
105
|
-
response = Hash[:
|
106
|
-
|
107
|
-
|
109
|
+
response = Hash[success: true, entity: tag_entity(params, false)]
|
110
|
+
unless response[:entity]
|
111
|
+
halt 500, JSON.generate(success: false,
|
112
|
+
message: 'unable to remove entity tag')
|
113
|
+
end
|
108
114
|
JSON.generate(response)
|
109
115
|
end
|
110
|
-
|
116
|
+
|
111
117
|
get '/entity/similiar' do
|
112
|
-
response = Hash[:
|
118
|
+
response = Hash[success: true, results: get_entity_similiar(params)]
|
113
119
|
JSON.generate(response)
|
114
120
|
end
|
115
|
-
|
121
|
+
|
116
122
|
get '/group' do
|
117
|
-
response = Hash[:
|
118
|
-
|
123
|
+
response = Hash[success: true,
|
124
|
+
results: similiar_entities(params)]
|
119
125
|
JSON.generate(response)
|
120
126
|
end
|
121
|
-
|
127
|
+
|
122
128
|
post '/group' do
|
123
|
-
|
124
|
-
response = Hash[:
|
125
|
-
|
129
|
+
group_entities(params)
|
130
|
+
response = Hash[success: true,
|
131
|
+
result: similiar_entities(params)]
|
126
132
|
JSON.generate(response)
|
127
133
|
end
|
128
134
|
end
|
129
|
-
end
|
135
|
+
end
|
@@ -3,7 +3,7 @@ require 'rugroupy/server'
|
|
3
3
|
# This default server is used for testing
|
4
4
|
class ServerDefault < Groupy::GroupyServer
|
5
5
|
register Sinatra::MongoExtension
|
6
|
-
set :mongo, '
|
6
|
+
set :mongo, 'mongodb://localhost:27017/test'
|
7
7
|
end
|
8
8
|
|
9
|
-
ServerDefault.run!
|
9
|
+
ServerDefault.run!
|
metadata
CHANGED
@@ -1,272 +1,177 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: rugroupy-server
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 1
|
9
|
-
- 2
|
10
|
-
version: 0.1.2
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.2.0
|
11
5
|
platform: ruby
|
12
|
-
authors:
|
6
|
+
authors:
|
13
7
|
- Ryan Wynn
|
14
8
|
autorequire:
|
15
9
|
bindir: bin
|
16
10
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
requirement:
|
22
|
-
|
23
|
-
requirements:
|
11
|
+
date: 2018-03-08 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bson
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
24
17
|
- - ">="
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
|
27
|
-
segments:
|
28
|
-
- 1
|
29
|
-
- 2
|
30
|
-
- 6
|
31
|
-
version: 1.2.6
|
32
|
-
version_requirements: *id001
|
33
|
-
name: sinatra
|
34
|
-
prerelease: false
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
35
20
|
type: :runtime
|
36
|
-
- !ruby/object:Gem::Dependency
|
37
|
-
requirement: &id002 !ruby/object:Gem::Requirement
|
38
|
-
none: false
|
39
|
-
requirements:
|
40
|
-
- - ">="
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
hash: 27
|
43
|
-
segments:
|
44
|
-
- 0
|
45
|
-
- 1
|
46
|
-
- 0
|
47
|
-
version: 0.1.0
|
48
|
-
version_requirements: *id002
|
49
|
-
name: sinatra-mongo
|
50
21
|
prerelease: false
|
51
|
-
|
52
|
-
|
53
|
-
requirement: &id003 !ruby/object:Gem::Requirement
|
54
|
-
none: false
|
55
|
-
requirements:
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
56
24
|
- - ">="
|
57
|
-
- !ruby/object:Gem::Version
|
58
|
-
|
59
|
-
|
60
|
-
- 1
|
61
|
-
- 5
|
62
|
-
- 3
|
63
|
-
version: 1.5.3
|
64
|
-
version_requirements: *id003
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
65
28
|
name: json
|
66
|
-
|
67
|
-
|
68
|
-
- !ruby/object:Gem::Dependency
|
69
|
-
requirement: &id004 !ruby/object:Gem::Requirement
|
70
|
-
none: false
|
71
|
-
requirements:
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
72
31
|
- - ">="
|
73
|
-
- !ruby/object:Gem::Version
|
74
|
-
|
75
|
-
segments:
|
76
|
-
- 0
|
77
|
-
- 1
|
78
|
-
- 0
|
79
|
-
version: 0.1.0
|
80
|
-
version_requirements: *id004
|
81
|
-
name: rugroupy
|
82
|
-
prerelease: false
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
83
34
|
type: :runtime
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
requirements:
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
88
38
|
- - ">="
|
89
|
-
- !ruby/object:Gem::Version
|
90
|
-
|
91
|
-
|
92
|
-
- 1
|
93
|
-
- 3
|
94
|
-
- 1
|
95
|
-
version: 1.3.1
|
96
|
-
version_requirements: *id005
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
97
42
|
name: mongo
|
98
|
-
|
99
|
-
|
100
|
-
- !ruby/object:Gem::Dependency
|
101
|
-
requirement: &id006 !ruby/object:Gem::Requirement
|
102
|
-
none: false
|
103
|
-
requirements:
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
104
45
|
- - ">="
|
105
|
-
- !ruby/object:Gem::Version
|
106
|
-
|
107
|
-
segments:
|
108
|
-
- 1
|
109
|
-
- 3
|
110
|
-
- 1
|
111
|
-
version: 1.3.1
|
112
|
-
version_requirements: *id006
|
113
|
-
name: bson
|
114
|
-
prerelease: false
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
115
48
|
type: :runtime
|
116
|
-
- !ruby/object:Gem::Dependency
|
117
|
-
requirement: &id007 !ruby/object:Gem::Requirement
|
118
|
-
none: false
|
119
|
-
requirements:
|
120
|
-
- - ">="
|
121
|
-
- !ruby/object:Gem::Version
|
122
|
-
hash: 25
|
123
|
-
segments:
|
124
|
-
- 1
|
125
|
-
- 3
|
126
|
-
- 1
|
127
|
-
version: 1.3.1
|
128
|
-
version_requirements: *id007
|
129
|
-
name: bson_ext
|
130
49
|
prerelease: false
|
131
|
-
|
132
|
-
|
133
|
-
requirement: &id008 !ruby/object:Gem::Requirement
|
134
|
-
none: false
|
135
|
-
requirements:
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
136
52
|
- - ">="
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
prerelease: false
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rugroupy
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
147
62
|
type: :runtime
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
requirements:
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
152
66
|
- - ">="
|
153
|
-
- !ruby/object:Gem::Version
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: sinatra
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :runtime
|
160
77
|
prerelease: false
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
- !ruby/object:Gem::Version
|
168
|
-
hash: 23
|
169
|
-
segments:
|
170
|
-
- 1
|
171
|
-
- 0
|
172
|
-
- 0
|
173
|
-
version: 1.0.0
|
174
|
-
version_requirements: *id010
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
175
84
|
name: bundler
|
176
|
-
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
177
90
|
type: :development
|
178
|
-
- !ruby/object:Gem::Dependency
|
179
|
-
requirement: &id011 !ruby/object:Gem::Requirement
|
180
|
-
none: false
|
181
|
-
requirements:
|
182
|
-
- - ~>
|
183
|
-
- !ruby/object:Gem::Version
|
184
|
-
hash: 7
|
185
|
-
segments:
|
186
|
-
- 1
|
187
|
-
- 6
|
188
|
-
- 4
|
189
|
-
version: 1.6.4
|
190
|
-
version_requirements: *id011
|
191
|
-
name: jeweler
|
192
91
|
prerelease: false
|
193
|
-
|
194
|
-
|
195
|
-
requirement: &id012 !ruby/object:Gem::Requirement
|
196
|
-
none: false
|
197
|
-
requirements:
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
198
94
|
- - ">="
|
199
|
-
- !ruby/object:Gem::Version
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: httparty
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
207
104
|
type: :development
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
requirements:
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
212
108
|
- - ">="
|
213
|
-
- !ruby/object:Gem::Version
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: jeweler
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
222
119
|
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: shoulda
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
223
132
|
type: :development
|
224
|
-
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
description: a library which uses the map-reduce capabilities of mongodb to group
|
140
|
+
entities based on tags.
|
225
141
|
email: ryan.m.wynn@gmail.com
|
226
142
|
executables: []
|
227
|
-
|
228
143
|
extensions: []
|
229
|
-
|
230
|
-
extra_rdoc_files:
|
144
|
+
extra_rdoc_files:
|
231
145
|
- LICENSE.txt
|
232
146
|
- README.rdoc
|
233
|
-
files:
|
234
|
-
- lib/rugroupy/server.rb
|
235
|
-
- lib/rugroupy/server_default.rb
|
147
|
+
files:
|
236
148
|
- LICENSE.txt
|
237
149
|
- README.rdoc
|
150
|
+
- lib/rugroupy/mongo.rb
|
151
|
+
- lib/rugroupy/server.rb
|
152
|
+
- lib/rugroupy/server_default.rb
|
238
153
|
homepage: http://github.com/rwynn/rugroupy-server
|
239
|
-
licenses:
|
154
|
+
licenses:
|
240
155
|
- MIT
|
156
|
+
metadata: {}
|
241
157
|
post_install_message:
|
242
158
|
rdoc_options: []
|
243
|
-
|
244
|
-
require_paths:
|
159
|
+
require_paths:
|
245
160
|
- lib
|
246
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
247
|
-
|
248
|
-
requirements:
|
161
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
162
|
+
requirements:
|
249
163
|
- - ">="
|
250
|
-
- !ruby/object:Gem::Version
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
version: "0"
|
255
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
256
|
-
none: false
|
257
|
-
requirements:
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: '0'
|
166
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
167
|
+
requirements:
|
258
168
|
- - ">="
|
259
|
-
- !ruby/object:Gem::Version
|
260
|
-
|
261
|
-
segments:
|
262
|
-
- 0
|
263
|
-
version: "0"
|
169
|
+
- !ruby/object:Gem::Version
|
170
|
+
version: '0'
|
264
171
|
requirements: []
|
265
|
-
|
266
172
|
rubyforge_project:
|
267
|
-
rubygems_version:
|
173
|
+
rubygems_version: 2.2.2
|
268
174
|
signing_key:
|
269
|
-
specification_version:
|
270
|
-
summary:
|
175
|
+
specification_version: 4
|
176
|
+
summary: find things that are similiar to things
|
271
177
|
test_files: []
|
272
|
-
|