Active 0.0.32 → 0.0.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.bnsignore +19 -0
- data/Rakefile +1 -1
- data/bin/Active +0 -0
- data/lib/services/gsa.rb +3 -0
- data/lib/services/search.rb +65 -47
- data/spec/benchmark/search_bench.rb +20 -2
- data/spec/search_spec.rb +42 -21
- data/spec/spec.opts +0 -0
- data/spec/validators_spec.rb +1 -7
- data/version.txt +1 -1
- metadata +16 -8
- data/lib/.DS_Store +0 -0
- data/lib/services/.DS_Store +0 -0
data/.bnsignore
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# The list of files that should be ignored by Mr Bones.
|
|
2
|
+
# Lines that start with '#' are comments.
|
|
3
|
+
#
|
|
4
|
+
# A .gitignore file can be used instead by setting it as the ignore
|
|
5
|
+
# file in your Rakefile:
|
|
6
|
+
#
|
|
7
|
+
# Bones {
|
|
8
|
+
# ignore_file '.gitignore'
|
|
9
|
+
# }
|
|
10
|
+
#
|
|
11
|
+
# For a project with a C extension, the following would be a good set of
|
|
12
|
+
# exclude patterns (uncomment them if you want to use them):
|
|
13
|
+
# *.[oa]
|
|
14
|
+
# *~
|
|
15
|
+
announcement.txt
|
|
16
|
+
coverage
|
|
17
|
+
doc
|
|
18
|
+
pkg
|
|
19
|
+
.DS_Store
|
data/Rakefile
CHANGED
data/bin/Active
CHANGED
|
File without changes
|
data/lib/services/gsa.rb
CHANGED
|
@@ -6,6 +6,8 @@ module Active
|
|
|
6
6
|
class GSA < IActivity
|
|
7
7
|
require 'nokogiri'
|
|
8
8
|
require 'open-uri'
|
|
9
|
+
# require 'active_support/core_ext/hash/'
|
|
10
|
+
|
|
9
11
|
attr_accessor :asset_type_id
|
|
10
12
|
|
|
11
13
|
# EXAMPLE Data hash
|
|
@@ -14,6 +16,7 @@ module Active
|
|
|
14
16
|
def initialize(json={})
|
|
15
17
|
# need to hold on to original data
|
|
16
18
|
@data = HashWithIndifferentAccess.new(json) || HashWithIndifferentAccess.new
|
|
19
|
+
# @data = HashWithIndifferentAccess.new(json) || HashWithIndifferentAccess.new
|
|
17
20
|
# self.title = @data['meta']['assetName'] || nil
|
|
18
21
|
self.title = @data['title'] || nil
|
|
19
22
|
end
|
data/lib/services/search.rb
CHANGED
|
@@ -30,6 +30,7 @@ module Active
|
|
|
30
30
|
|
|
31
31
|
class Search
|
|
32
32
|
attr_accessor :api_key, :start_date, :end_date, :location, :channels, :split_media_type, :keywords, :search, :radius, :limit, :sort, :page, :offset, :latitude, :longitude,
|
|
33
|
+
:asset_type_id, :url,
|
|
33
34
|
:view, :facet, :sort, :num_results, :asset_ids, :dma, :city, :state, :country, :bounding_box
|
|
34
35
|
|
|
35
36
|
attr_reader :results, :endIndex, :pageSize, :searchTime, :numberOfResults, :end_point, :meta
|
|
@@ -38,32 +39,34 @@ module Active
|
|
|
38
39
|
DEFAULT_TIMEOUT = 60
|
|
39
40
|
|
|
40
41
|
def initialize(data={})
|
|
41
|
-
self.
|
|
42
|
-
self.
|
|
43
|
-
self.
|
|
44
|
-
self.
|
|
45
|
-
self.
|
|
46
|
-
self.
|
|
47
|
-
self.
|
|
48
|
-
self.
|
|
49
|
-
self.
|
|
50
|
-
self.
|
|
51
|
-
self.
|
|
52
|
-
self.
|
|
53
|
-
self.
|
|
54
|
-
self.
|
|
55
|
-
self.
|
|
56
|
-
self.
|
|
57
|
-
self.
|
|
58
|
-
self.
|
|
59
|
-
self.
|
|
60
|
-
self.
|
|
61
|
-
self.
|
|
62
|
-
self.
|
|
63
|
-
self.
|
|
64
|
-
self.
|
|
65
|
-
self.
|
|
66
|
-
self.
|
|
42
|
+
self.asset_type_id = data[:asset_type_id]
|
|
43
|
+
self.url = data[:url]
|
|
44
|
+
self.api_key = data[:api_key] || ""
|
|
45
|
+
self.location = data[:location]
|
|
46
|
+
self.zips = data[:zips] || []
|
|
47
|
+
self.channels = data[:channels] || []
|
|
48
|
+
self.split_media_type = data[:split_media_type] || []
|
|
49
|
+
self.keywords = data[:keywords] || []
|
|
50
|
+
self.radius = data[:radius] || nil
|
|
51
|
+
self.limit = data[:limit] || "10"
|
|
52
|
+
self.sort = data[:sort] || Sort.DATE_ASC
|
|
53
|
+
self.page = data[:page] || "1"
|
|
54
|
+
self.offset = data[:offset] || "0"
|
|
55
|
+
self.view = data[:view] || "json"
|
|
56
|
+
self.facet = data[:facet] || Facet.ACTIVITIES
|
|
57
|
+
self.num_results = data[:num_results] || "10"
|
|
58
|
+
self.search = data[:search] || ""
|
|
59
|
+
self.start_date = data[:start_date] || "today"
|
|
60
|
+
self.end_date = data[:end_date] || "+"
|
|
61
|
+
self.asset_ids = data[:asset_ids] || []
|
|
62
|
+
self.asset_id = data[:asset_id] || ""
|
|
63
|
+
self.latitude = data[:latitude]
|
|
64
|
+
self.longitude = data[:longitude]
|
|
65
|
+
self.dma = data[:dma]
|
|
66
|
+
self.city = data[:city]
|
|
67
|
+
self.state = data[:state]
|
|
68
|
+
self.country = data[:country]
|
|
69
|
+
self.bounding_box = data[:bounding_box]
|
|
67
70
|
end
|
|
68
71
|
|
|
69
72
|
# Example
|
|
@@ -128,14 +131,33 @@ module Active
|
|
|
128
131
|
# CHANNELS
|
|
129
132
|
channel_keys = []
|
|
130
133
|
@channels.each do |c|
|
|
131
|
-
c.to_sym
|
|
134
|
+
c = c.to_sym
|
|
132
135
|
if Categories.CHANNELS.include?(c)
|
|
133
136
|
channel_keys << Categories.CHANNELS[c]
|
|
137
|
+
else
|
|
138
|
+
puts "/////////// Channel key not found [#{c}]"
|
|
134
139
|
end
|
|
135
140
|
end
|
|
136
|
-
meta_data
|
|
141
|
+
meta_data += channel_keys.collect { |channel| "meta:channel=#{Search.double_encode_channel(channel)}" }.join("+OR+")
|
|
137
142
|
# SPLIT MEDIA TYPE
|
|
138
|
-
|
|
143
|
+
if split_media_type
|
|
144
|
+
meta_data += "+AND+" unless meta_data == ""
|
|
145
|
+
meta_data += split_media_type.collect { |type| "meta:splitMediaType=#{Search.double_encode_channel(type)}" }.join("+OR+")
|
|
146
|
+
end
|
|
147
|
+
# ASSET TYPE ID
|
|
148
|
+
if asset_type_id
|
|
149
|
+
meta_data += "+AND+" unless meta_data == ""
|
|
150
|
+
meta_data += "meta:assetTypeId=#{Search.double_encode_channel(asset_type_id)}"
|
|
151
|
+
end
|
|
152
|
+
# url
|
|
153
|
+
if url
|
|
154
|
+
meta_data += "+AND+" unless meta_data == ""
|
|
155
|
+
# url.gsub!(/\-/,"%252D")
|
|
156
|
+
url.gsub!(/\//,"%2F")
|
|
157
|
+
# URI.escape(url, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]"))
|
|
158
|
+
meta_data += "site:#{url}"
|
|
159
|
+
# meta_data += "site:#{Search.double_encode_channel(url)}"
|
|
160
|
+
end
|
|
139
161
|
# ASSET IDS
|
|
140
162
|
unless asset_ids.empty?
|
|
141
163
|
meta_data += "+AND+" unless meta_data == ""
|
|
@@ -154,42 +176,28 @@ module Active
|
|
|
154
176
|
if @city or @state or @country
|
|
155
177
|
if @city
|
|
156
178
|
meta_data += "+AND+" unless meta_data == ""
|
|
157
|
-
meta_data += "meta:city=#{Search.double_encode_channel(@city)}"
|
|
179
|
+
meta_data += "meta:city=#{Search.double_encode_channel(@city)}"
|
|
158
180
|
end
|
|
159
181
|
if @state
|
|
160
182
|
meta_data += "+AND+" unless meta_data == ""
|
|
161
|
-
meta_data += "meta:state=#{Search.double_encode_channel(@state)}"
|
|
183
|
+
meta_data += "meta:state=#{Search.double_encode_channel(@state)}"
|
|
162
184
|
end
|
|
163
185
|
elsif !@zips.empty?
|
|
164
|
-
# if not @zips.empty?
|
|
165
186
|
loc_str = @zips.join(",")
|
|
166
187
|
elsif @latitude and @longitude
|
|
167
188
|
loc_str = "#{@latitude};#{@longitude}"
|
|
168
189
|
elsif @dma
|
|
169
|
-
|
|
170
190
|
meta_data += "+AND+" unless meta_data == ""
|
|
171
191
|
meta_data += "meta:dma=#{Search.double_encode_channel(@dma)}"
|
|
172
192
|
else
|
|
173
193
|
loc_str = @location
|
|
174
194
|
end
|
|
175
195
|
|
|
176
|
-
|
|
177
|
-
# AND DATE
|
|
178
|
-
meta_data += "+AND+" unless meta_data == ""
|
|
179
|
-
if @start_date.class == Date
|
|
180
|
-
@start_date = URI.escape(@start_date.strftime("%m/%d/%Y")).gsub(/\//,"%2F")
|
|
181
|
-
end
|
|
182
|
-
if @end_date.class == Date
|
|
183
|
-
@end_date = URI.escape(@end_date.strftime("%m/%d/%Y")).gsub(/\//,"%2F")
|
|
184
|
-
end
|
|
185
|
-
meta_data += "meta:startDate:daterange:#{@start_date}..#{@end_date}"
|
|
186
|
-
|
|
187
196
|
# BOUNDING BOX
|
|
188
|
-
|
|
197
|
+
unless @bounding_box.nil?
|
|
189
198
|
#The values in the GSA metadata are shifted to prevent negative values. This was done b/c lat/long
|
|
190
199
|
# are searched as a number range and the GSA doesn't allow negative values in number ranges.
|
|
191
200
|
# We shift latitude values by 90 and longitude values by 180.
|
|
192
|
-
|
|
193
201
|
if @bounding_box[:sw].class==String
|
|
194
202
|
#String :bounding_box => { :sw => "37.695141,-123.013657", :ne => "37.832371,-122.356979"}
|
|
195
203
|
latitude1 = @bounding_box[:sw].split(",").first.to_f+90
|
|
@@ -205,8 +213,18 @@ module Active
|
|
|
205
213
|
end
|
|
206
214
|
meta_data += "+AND+" unless meta_data == ""
|
|
207
215
|
meta_data += "meta:latitudeShifted:#{latitude1}..#{latitude2}+AND+meta:longitudeShifted:#{longitude1}..#{longitude2}"
|
|
208
|
-
end
|
|
216
|
+
end
|
|
209
217
|
|
|
218
|
+
# AND DATE
|
|
219
|
+
if @start_date.class == Date
|
|
220
|
+
@start_date = URI.escape(@start_date.strftime("%m/%d/%Y")).gsub(/\//,"%2F")
|
|
221
|
+
end
|
|
222
|
+
if @end_date.class == Date
|
|
223
|
+
@end_date = URI.escape(@end_date.strftime("%m/%d/%Y")).gsub(/\//,"%2F")
|
|
224
|
+
end
|
|
225
|
+
meta_data += "+AND+" unless meta_data == ""
|
|
226
|
+
meta_data += "meta:startDate:daterange:#{@start_date}..#{@end_date}"
|
|
227
|
+
|
|
210
228
|
# url = "#{SEARCH_URL}/search?api_key=#{@api_key}&num=#{@num_results}&page=#{@page}&l=#{loc_str}&f=#{@facet}&v=#{@view}&r=#{@radius}&s=#{@sort}&k=#{@keywords.join("+")}&m=#{meta_data}"
|
|
211
229
|
urla = ["#{SEARCH_URL}/search?api_key=#{@api_key}"]
|
|
212
230
|
urla << "num=#{@num_results}" if @num_results
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
require 'rubygems'
|
|
2
1
|
require File.expand_path(File.join(File.dirname(__FILE__), %w[.. .. lib Active]))
|
|
3
2
|
include Active::Services
|
|
4
3
|
|
|
@@ -25,4 +24,23 @@ include Active::Services
|
|
|
25
24
|
# puts " "
|
|
26
25
|
# puts arr
|
|
27
26
|
|
|
28
|
-
puts Search.search(:asset_ids => ["DD8F427F-6188-465B-8C26-71BBA22D2DB7"]).results.inspect
|
|
27
|
+
# puts Search.search(:asset_ids => ["DD8F427F-6188-465B-8C26-71BBA22D2DB7"]).results.inspect
|
|
28
|
+
|
|
29
|
+
REG_CENTER_ASSET_TYPE_ID = "EA4E860A-9DCD-4DAA-A7CA-4A77AD194F65"
|
|
30
|
+
REG_CENTER_ASSET_TYPE_ID2 = "3BF82BBE-CF88-4E8C-A56F-78F5CE87E4C6"
|
|
31
|
+
ACTIVE_WORKS_ASSET_TYPE_ID = "DFAA997A-D591-44CA-9FB7-BF4A4C8984F1"
|
|
32
|
+
|
|
33
|
+
local_asset_type_id = "EC6E96A5-6900-4A0E-8B83-9AA935F45A73"
|
|
34
|
+
puts "Local " + Search.search({:asset_type_id => local_asset_type_id}).results.length.to_s
|
|
35
|
+
puts "Local " + Search.search({:asset_type_id => local_asset_type_id, :start_date => Date.new(2010, 1, 1), :end_date => Date.new(2011, 11, 15) }).results.length.to_s
|
|
36
|
+
# puts "ActiveWorks " + Search.search({:asset_type_id => ACTIVE_WORKS_ASSET_TYPE_ID, :start_date => Date.new(2010, 1, 1), :end_date => Date.new(2011, 11, 15) }).results.length.to_s
|
|
37
|
+
|
|
38
|
+
# url = "www.active.com/running/long-branch-nj/new-jersey-marathon-and-long-branch-half-marathon-2011"
|
|
39
|
+
# r = Search.search({:url => url}).results # , :start_date => Date.new(2011, 1, 1), :end_date => Date.new(2012, 1, 15)
|
|
40
|
+
# puts url
|
|
41
|
+
# puts "Results: #{r.length}"
|
|
42
|
+
# puts r.map(&:url)
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
# r = Search.search({:dma=>"San Francisco - Oakland - San Jose", :num_results => 5}).results
|
|
46
|
+
# puts r.map(&:url)
|
data/spec/search_spec.rb
CHANGED
|
@@ -67,6 +67,9 @@ describe Search do
|
|
|
67
67
|
s = Search.new()
|
|
68
68
|
s.should have(0).channels
|
|
69
69
|
s = Search.new({:channels => "running,swimming,yoga"})
|
|
70
|
+
puts s.end_point
|
|
71
|
+
s.end_point.include?("m=meta:channel=Running+OR+meta:channel=Swimming+OR+meta:channel=Mind%2520%2526%2520Body%255CYoga").should be_true
|
|
72
|
+
|
|
70
73
|
s.should have(3).channels
|
|
71
74
|
s = Search.new({:channels => %w(running swimming yoga)})
|
|
72
75
|
s.should have(3).channels
|
|
@@ -127,6 +130,17 @@ describe Search do
|
|
|
127
130
|
uri.query.include?("meta:channel=Running+OR+meta:channel=Triathlon").should be_true
|
|
128
131
|
end
|
|
129
132
|
|
|
133
|
+
it "should send valid channel info and a bounding_box" do
|
|
134
|
+
s = Search.new({:bounding_box => { :sw => "37.695141,-123.013657", :ne => "37.695141,-123.013657"}, :channels => [:running,:triathlon] })
|
|
135
|
+
s.bounding_box.should_not be_nil
|
|
136
|
+
# uri = URI.parse( Search.new({:channels => [:running,:triathlon], :bounding_box => { :sw => "37.695141,-123.013657", :ne => "37.695141,-123.013657"} }).end_point )
|
|
137
|
+
uri = URI.parse( s.end_point )
|
|
138
|
+
puts "????????????????????? "
|
|
139
|
+
puts uri
|
|
140
|
+
uri.query.include?("meta:channel=Running+OR+meta:channel=Triathlon").should be_true
|
|
141
|
+
uri.query.include?("meta:latitudeShifted:127.695141..127.695141+AND+meta:longitudeShifted:56.986343..56.986343").should be_true
|
|
142
|
+
end
|
|
143
|
+
|
|
130
144
|
it "should send the correct channel value for everything in Search.CHANNELS" do
|
|
131
145
|
Categories.CHANNELS.each do |key,value|
|
|
132
146
|
uri = URI.parse( Search.new({:channels => [key]}).end_point )
|
|
@@ -146,6 +160,20 @@ describe Search do
|
|
|
146
160
|
# SHOULD NOT SEE "++"
|
|
147
161
|
pending
|
|
148
162
|
end
|
|
163
|
+
|
|
164
|
+
it "should pass the assetTypeId" do
|
|
165
|
+
local_asset_type_id = "EC6E96A5-6900-4A0E-8B83-9AA935F45A73"
|
|
166
|
+
encoded = "EC6E96A5%252D6900%252D4A0E%252D8B83%252D9AA935F45A73"
|
|
167
|
+
uri = URI.parse( Search.new({:asset_type_id => local_asset_type_id}).end_point )
|
|
168
|
+
uri.query.should have_param("meta:assetTypeId=#{encoded}")
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
it "should pass a url" do
|
|
172
|
+
url = "www.active.com/running/pleasant-hill-ca/dont-wine-just-run-5k-fun-runwalk-east-bay-edition-2011"
|
|
173
|
+
encoded = "site:www.active.com%2Frunning%2Flong-branch-nj%2Fnew-jersey-marathon-and-long-branch-half-marathon-2011"
|
|
174
|
+
uri = URI.parse( Search.new({:url => url}).end_point )
|
|
175
|
+
uri.query.should have_param(encoded)
|
|
176
|
+
end
|
|
149
177
|
|
|
150
178
|
it "should send a valid start and end date" do
|
|
151
179
|
uri = URI.parse( Search.new().end_point )
|
|
@@ -205,10 +233,12 @@ describe Search do
|
|
|
205
233
|
end
|
|
206
234
|
|
|
207
235
|
it "should find 5 items when doing a DMA search" do
|
|
208
|
-
Search.
|
|
209
|
-
Search.search({:dma=>"San Francisco - Oakland - San Jose", :
|
|
236
|
+
Search.new({:dma=>"San Francisco - Oakland - San Jose", :num_results => 5}).num_results.should eql(5)
|
|
237
|
+
Search.search({:dma=>"San Francisco - Oakland - San Jose", :num_results => 5}).should have(5).results
|
|
238
|
+
Search.search({:dma=>"San Francisco - Oakland - San Jose", :num_results => 2}).should have(2).results
|
|
210
239
|
end
|
|
211
240
|
end
|
|
241
|
+
|
|
212
242
|
describe "Handle http server codes" do
|
|
213
243
|
after(:each) do
|
|
214
244
|
FakeWeb.clean_registry
|
|
@@ -385,18 +415,17 @@ describe Search do
|
|
|
385
415
|
s = Search.search( {:sort=>Sort.DATE_DESC})
|
|
386
416
|
s.should be_an_instance_of Search
|
|
387
417
|
s.results.should_not be_empty
|
|
388
|
-
s.results.each do |a|
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
end
|
|
418
|
+
# s.results.each do |a|
|
|
419
|
+
# DateTime.parse(a.gsa.last_modified).should satisfy { |d|
|
|
420
|
+
# d >= DateTime.now-2
|
|
421
|
+
# }
|
|
422
|
+
# end
|
|
393
423
|
end
|
|
394
424
|
it "should find events that have online regristration"
|
|
395
425
|
it "should find events that do not have online regristration"
|
|
396
426
|
|
|
397
427
|
it "should have a nil email address from GSA" do
|
|
398
428
|
Search.search(:asset_id => "715ED4EF-E4FF-42F2-B24B-2E4255649676").results.first.user.email.should be_nil
|
|
399
|
-
# first.address["address"].should_not be_nil
|
|
400
429
|
end
|
|
401
430
|
|
|
402
431
|
end
|
|
@@ -404,24 +433,16 @@ describe Search do
|
|
|
404
433
|
describe "Parametric search for running channel" do
|
|
405
434
|
it "should find by splitMediaType for the Running channel" do
|
|
406
435
|
# http://developer.active.com/docs/Activecom_Search_API_Reference
|
|
436
|
+
s = Search.search({:channels => [:running], :split_media_type => ["5K"]})
|
|
437
|
+
s.results.each do |result|
|
|
438
|
+
result.gsa.data['meta']['splitMediaType'].should include("5K")
|
|
439
|
+
end
|
|
440
|
+
|
|
407
441
|
end
|
|
408
442
|
end
|
|
409
443
|
describe "Parametric search for triathlon channel" do
|
|
410
444
|
end
|
|
411
445
|
end
|
|
412
|
-
|
|
413
|
-
describe "Find things within X miles to me" do
|
|
414
|
-
it "should find activities within 20 miles of me" do
|
|
415
|
-
location = {:latitude=>"37.785895", :longitude=>"-122.40638"}
|
|
416
|
-
Search.search(location).results.should_not be_empty
|
|
417
|
-
pending
|
|
418
|
-
end
|
|
419
|
-
end
|
|
420
|
-
|
|
421
|
-
# describe "Finding assets via a url only" do
|
|
422
|
-
# it "should find an asset by seourl" do
|
|
423
|
-
# end
|
|
424
|
-
# end
|
|
425
446
|
|
|
426
447
|
end
|
|
427
448
|
|
data/spec/spec.opts
CHANGED
|
File without changes
|
data/spec/validators_spec.rb
CHANGED
data/version.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.0.
|
|
1
|
+
0.0.34
|
metadata
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: Active
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
+
hash: 91
|
|
4
5
|
prerelease: false
|
|
5
6
|
segments:
|
|
6
7
|
- 0
|
|
7
8
|
- 0
|
|
8
|
-
-
|
|
9
|
-
version: 0.0.
|
|
9
|
+
- 34
|
|
10
|
+
version: 0.0.34
|
|
10
11
|
platform: ruby
|
|
11
12
|
authors:
|
|
12
13
|
- Jonathan Spooner, Brian Levine
|
|
@@ -14,16 +15,18 @@ autorequire:
|
|
|
14
15
|
bindir: bin
|
|
15
16
|
cert_chain: []
|
|
16
17
|
|
|
17
|
-
date: 2011-01-
|
|
18
|
+
date: 2011-01-10 00:00:00 -08:00
|
|
18
19
|
default_executable:
|
|
19
20
|
dependencies:
|
|
20
21
|
- !ruby/object:Gem::Dependency
|
|
21
22
|
name: savon
|
|
22
23
|
prerelease: false
|
|
23
24
|
requirement: &id001 !ruby/object:Gem::Requirement
|
|
25
|
+
none: false
|
|
24
26
|
requirements:
|
|
25
27
|
- - ">="
|
|
26
28
|
- !ruby/object:Gem::Version
|
|
29
|
+
hash: 17
|
|
27
30
|
segments:
|
|
28
31
|
- 0
|
|
29
32
|
- 7
|
|
@@ -35,9 +38,11 @@ dependencies:
|
|
|
35
38
|
name: dalli
|
|
36
39
|
prerelease: false
|
|
37
40
|
requirement: &id002 !ruby/object:Gem::Requirement
|
|
41
|
+
none: false
|
|
38
42
|
requirements:
|
|
39
43
|
- - ">="
|
|
40
44
|
- !ruby/object:Gem::Version
|
|
45
|
+
hash: 43
|
|
41
46
|
segments:
|
|
42
47
|
- 0
|
|
43
48
|
- 9
|
|
@@ -49,9 +54,11 @@ dependencies:
|
|
|
49
54
|
name: bones
|
|
50
55
|
prerelease: false
|
|
51
56
|
requirement: &id003 !ruby/object:Gem::Requirement
|
|
57
|
+
none: false
|
|
52
58
|
requirements:
|
|
53
59
|
- - ">="
|
|
54
60
|
- !ruby/object:Gem::Version
|
|
61
|
+
hash: 25
|
|
55
62
|
segments:
|
|
56
63
|
- 3
|
|
57
64
|
- 4
|
|
@@ -69,19 +76,16 @@ extra_rdoc_files:
|
|
|
69
76
|
- History.txt
|
|
70
77
|
- README.txt
|
|
71
78
|
- bin/Active
|
|
72
|
-
- lib/.DS_Store
|
|
73
|
-
- lib/services/.DS_Store
|
|
74
79
|
- lib/services/search.txt
|
|
75
80
|
- version.txt
|
|
76
81
|
files:
|
|
82
|
+
- .bnsignore
|
|
77
83
|
- Active.gemspec
|
|
78
84
|
- History.txt
|
|
79
85
|
- README.txt
|
|
80
86
|
- Rakefile
|
|
81
87
|
- bin/Active
|
|
82
|
-
- lib/.DS_Store
|
|
83
88
|
- lib/Active.rb
|
|
84
|
-
- lib/services/.DS_Store
|
|
85
89
|
- lib/services/IActivity.rb
|
|
86
90
|
- lib/services/_ats.rb
|
|
87
91
|
- lib/services/active_works.rb
|
|
@@ -124,23 +128,27 @@ rdoc_options:
|
|
|
124
128
|
require_paths:
|
|
125
129
|
- lib
|
|
126
130
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
131
|
+
none: false
|
|
127
132
|
requirements:
|
|
128
133
|
- - ">="
|
|
129
134
|
- !ruby/object:Gem::Version
|
|
135
|
+
hash: 3
|
|
130
136
|
segments:
|
|
131
137
|
- 0
|
|
132
138
|
version: "0"
|
|
133
139
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
140
|
+
none: false
|
|
134
141
|
requirements:
|
|
135
142
|
- - ">="
|
|
136
143
|
- !ruby/object:Gem::Version
|
|
144
|
+
hash: 3
|
|
137
145
|
segments:
|
|
138
146
|
- 0
|
|
139
147
|
version: "0"
|
|
140
148
|
requirements: []
|
|
141
149
|
|
|
142
150
|
rubyforge_project: Active
|
|
143
|
-
rubygems_version: 1.3.
|
|
151
|
+
rubygems_version: 1.3.7
|
|
144
152
|
signing_key:
|
|
145
153
|
specification_version: 3
|
|
146
154
|
summary: Search api for Active Network
|
data/lib/.DS_Store
DELETED
|
Binary file
|
data/lib/services/.DS_Store
DELETED
|
Binary file
|