apollo-crawler 0.1.21 → 0.1.22
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 +8 -8
- data/bin/apollo-crawler +0 -4
- data/bin/apollo-platform +30 -0
- data/config/amqp.yml +18 -0
- data/config/amqp.yml.default +18 -0
- data/config/apollo.yml +13 -0
- data/config/apollo.yml.default +10 -0
- data/config/memcached.yml +14 -0
- data/config/memcached.yml.default +14 -0
- data/config/mongo.yml +19 -0
- data/config/mongo.yml.default +19 -0
- data/config/mongoid.yml +23 -0
- data/config/mongoid.yml.default +59 -0
- data/lib/apollo_crawler.rb +12 -3
- data/lib/apollo_crawler/adapter/adapters.rb +22 -0
- data/lib/apollo_crawler/adapter/amqp_adapter.rb +26 -0
- data/lib/apollo_crawler/adapter/mongo_adapter.rb +26 -0
- data/lib/apollo_crawler/{cli/cli.rb → agent/agents.rb} +2 -0
- data/lib/apollo_crawler/agent/base_agent.rb +26 -0
- data/lib/apollo_crawler/cache/caches.rb +20 -0
- data/lib/apollo_crawler/cache/sqlite_cache.rb +9 -0
- data/lib/apollo_crawler/config.rb +82 -72
- data/lib/apollo_crawler/crawler/crawlers.rb +20 -0
- data/lib/apollo_crawler/crawler/google_crawler.rb +2 -2
- data/lib/apollo_crawler/crawler/hacker_news_crawler.rb +2 -2
- data/lib/apollo_crawler/crawler/slashdot_crawler.rb +2 -2
- data/lib/apollo_crawler/crawler/stackoverflow_crawler.rb +2 -2
- data/lib/apollo_crawler/crawler/xkcd_crawler.rb +2 -2
- data/lib/apollo_crawler/crawler/youjizz_crawler.rb +2 -2
- data/lib/apollo_crawler/env.rb +24 -0
- data/lib/apollo_crawler/fetcher/base_fetcher.rb +1 -1
- data/lib/apollo_crawler/fetcher/fetchers.rb +20 -0
- data/lib/apollo_crawler/fetcher/simple_fetcher.rb +1 -1
- data/lib/apollo_crawler/fetcher/smart_fetcher.rb +1 -1
- data/lib/apollo_crawler/formatter/formatters.rb +20 -0
- data/lib/apollo_crawler/formatter/json_formatter.rb +5 -1
- data/lib/apollo_crawler/formatter/plain_formatter.rb +4 -0
- data/lib/apollo_crawler/formatter/table_formatter.rb +4 -0
- data/lib/apollo_crawler/helper/amqp_helper.rb +26 -0
- data/lib/apollo_crawler/helper/core_helper.rb +24 -4
- data/lib/apollo_crawler/helper/helpers.rb +23 -1
- data/lib/apollo_crawler/helper/mongo_helper.rb +26 -0
- data/lib/apollo_crawler/lib.rb +12 -3
- data/lib/apollo_crawler/logger/loggers.rb +20 -0
- data/lib/apollo_crawler/planner/base_planner.rb +26 -0
- data/lib/apollo_crawler/planner/planners.rb +22 -0
- data/lib/apollo_crawler/planner/smart_planner.rb +28 -0
- data/lib/apollo_crawler/program/base_program.rb +130 -0
- data/lib/apollo_crawler/program/console_program.rb +177 -0
- data/lib/apollo_crawler/program/crawler_program.rb +130 -183
- data/lib/apollo_crawler/program/platform_program.rb +137 -0
- data/lib/apollo_crawler/program/programs.rb +23 -1
- data/lib/apollo_crawler/store/stores.rb +20 -0
- data/lib/apollo_crawler/version.rb +2 -2
- metadata +55 -3
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
MjNkN2YzMjExMDc4Mjg5ZDNhNGMxYTY0MTY1NjczMDQ0MzE4YmFlOQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZWVlM2UyZjhhZDM4Y2ExZGExNzkzNjNjNjNkNTI4OTRkOTEzY2Y5NA==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ZDc0YmI0MjEyNTgzNTM0NmY2NGE2YTY0Y2MxNTdiNTBkN2M3ZDM2MDdmNjZm
|
10
|
+
MjNhZDVlNmRkNDdkMDVhNzhjNzg0ZDQ2ZjRkYThhNzJlODMxNjE3NmE4MjVm
|
11
|
+
ZDg0ZjFlZWFjM2I0NWQ0ZmIzYmM5ZmY0MTRiOGE2YTMwZDVmYzE=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
N2I5ZGM1NjI2M2QxN2FmMDZkMThkOGU5NDE5MTEyOTNlZWFkNGQ1N2FlZjFi
|
14
|
+
MTI5ZGNhNjdmZTAyZjAyYTVkZWFlNGJmZDk5YzA3ZjlhN2Q5MTc1NTIyNGVi
|
15
|
+
M2VjODgxNzQyYTAxNzQ5NWQ5MTQzZjUxNWY5MWZlNDQzNjg2YmQ=
|
data/bin/apollo-crawler
CHANGED
data/bin/apollo-platform
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
2
|
+
# encoding: utf-8
|
3
|
+
|
4
|
+
# Copyright, 2013, by Tomas Korcak. <korczis@gmail.com>
|
5
|
+
#
|
6
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
7
|
+
# of this software and associated documentation files (the "Software"), to deal
|
8
|
+
# in the Software without restriction, including without limitation the rights
|
9
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
10
|
+
# copies of the Software, and to permit persons to whom the Software is
|
11
|
+
# furnished to do so, subject to the following conditions:
|
12
|
+
#
|
13
|
+
# The above copyright notice and this permission notice shall be included in
|
14
|
+
# all copies or substantial portions of the Software.
|
15
|
+
#
|
16
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
17
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
18
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
19
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
20
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
21
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
22
|
+
# THE SOFTWARE.
|
23
|
+
|
24
|
+
require "rubygems"
|
25
|
+
require "bundler/setup"
|
26
|
+
|
27
|
+
require File.join(File.dirname(__FILE__), "..", "lib", "apollo_crawler")
|
28
|
+
|
29
|
+
Apollo::PlatformProgram.new.run(ARGV)
|
30
|
+
|
data/config/amqp.yml
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
default: &default
|
2
|
+
host: localhost
|
3
|
+
username: guest
|
4
|
+
password: guest
|
5
|
+
|
6
|
+
development:
|
7
|
+
<<: *default
|
8
|
+
vhost: apollo-crawler-development
|
9
|
+
|
10
|
+
test:
|
11
|
+
<<: *default
|
12
|
+
host: apollo-crawler.no-ip.org
|
13
|
+
vhost: apollo-crawler-test
|
14
|
+
|
15
|
+
production:
|
16
|
+
<<: *default
|
17
|
+
host: apollo-crawler.no-ip.org
|
18
|
+
vhost: apollo-crawler-production
|
@@ -0,0 +1,18 @@
|
|
1
|
+
default: &default
|
2
|
+
host: localhost
|
3
|
+
username: guest
|
4
|
+
password: guest
|
5
|
+
|
6
|
+
development:
|
7
|
+
<<: *default
|
8
|
+
vhost: apollo-crawler-development
|
9
|
+
|
10
|
+
test:
|
11
|
+
<<: *default
|
12
|
+
host: apollo-crawler.no-ip.org
|
13
|
+
vhost: apollo-crawler-test
|
14
|
+
|
15
|
+
production:
|
16
|
+
<<: *default
|
17
|
+
host: apollo-crawler.no-ip.org
|
18
|
+
vhost: apollo-crawler-production
|
data/config/apollo.yml
ADDED
data/config/mongo.yml
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
default: &default
|
2
|
+
port: 27017
|
3
|
+
username: guest
|
4
|
+
password: guest
|
5
|
+
db: apollo-crawler
|
6
|
+
|
7
|
+
development:
|
8
|
+
<<: *default
|
9
|
+
db: apollo-crawler-development
|
10
|
+
|
11
|
+
test:
|
12
|
+
<<: *default
|
13
|
+
host: apollo-crawler.no-ip.org
|
14
|
+
db: apollo-crawler-test
|
15
|
+
|
16
|
+
production:
|
17
|
+
<<: *default
|
18
|
+
host: apollo-crawler.no-ip.org
|
19
|
+
db: apollo-crawler-production
|
@@ -0,0 +1,19 @@
|
|
1
|
+
default: &default
|
2
|
+
port: 27017
|
3
|
+
username: guest
|
4
|
+
password: guest
|
5
|
+
db: apollo-crawler
|
6
|
+
|
7
|
+
development:
|
8
|
+
<<: *default
|
9
|
+
db: apollo-crawler-development
|
10
|
+
|
11
|
+
test:
|
12
|
+
<<: *default
|
13
|
+
host: apollo-crawler.no-ip.org
|
14
|
+
db: apollo-crawler-test
|
15
|
+
|
16
|
+
production:
|
17
|
+
<<: *default
|
18
|
+
host: apollo-crawler.no-ip.org
|
19
|
+
db: apollo-crawler-production
|
data/config/mongoid.yml
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
default: &default
|
2
|
+
sessions:
|
3
|
+
default:
|
4
|
+
hosts:
|
5
|
+
- apollo-crawler.no-ip.org:27017
|
6
|
+
|
7
|
+
development:
|
8
|
+
<<: *default
|
9
|
+
sessions:
|
10
|
+
default:
|
11
|
+
database: apollo-crawler-development
|
12
|
+
|
13
|
+
test:
|
14
|
+
<<: *default
|
15
|
+
sessions:
|
16
|
+
default:
|
17
|
+
database: apollo-crawler-test
|
18
|
+
|
19
|
+
production:
|
20
|
+
<<: *default
|
21
|
+
sessions:
|
22
|
+
default:
|
23
|
+
database: apollo-crawler-production
|
@@ -0,0 +1,59 @@
|
|
1
|
+
# Tell Mongoid which environment this configuration is for.
|
2
|
+
production:
|
3
|
+
# This starts the session configuration settings. You may have as
|
4
|
+
# many sessions as you like, but you must have at least 1 named
|
5
|
+
# 'default'.
|
6
|
+
sessions:
|
7
|
+
# Define the default session.
|
8
|
+
default:
|
9
|
+
# A session can have any number of hosts. Usually 1 for a single
|
10
|
+
# server setup, and at least 3 for a replica set. Hosts must be
|
11
|
+
# an array of host:port pairs. This session is single server.
|
12
|
+
hosts:
|
13
|
+
- flame.mongohq.com:27017
|
14
|
+
# Define the default database name.
|
15
|
+
database: mongoid
|
16
|
+
# Since this database points at a session connected to MongoHQ, we must
|
17
|
+
# provide the authentication details.
|
18
|
+
username: user
|
19
|
+
password: password
|
20
|
+
# This defines a secondary session at a replica set.
|
21
|
+
replica_set:
|
22
|
+
# This configuration is a 3 node replica set.
|
23
|
+
hosts:
|
24
|
+
- dedicated1.myapp.com:27017
|
25
|
+
- dedicated2.myapp.com:27017
|
26
|
+
- dedicated3.myapp.com:27017
|
27
|
+
database: mongoid
|
28
|
+
# We can set session specific options, like reads executing
|
29
|
+
# on secondary nodes, and defaulting the session to safe mode.
|
30
|
+
options:
|
31
|
+
consistency: :eventual
|
32
|
+
safe: true
|
33
|
+
# This defines a tertiary session at a Mongos fronted shard.
|
34
|
+
shard:
|
35
|
+
# This configuration is a Mongos shard server.
|
36
|
+
hosts:
|
37
|
+
- mongos.myapp.com:27017
|
38
|
+
database: mongoid
|
39
|
+
# This configuration shows an authenticated replica set via a uri.
|
40
|
+
another:
|
41
|
+
uri: mongodb://user:pass@59.1.22.1:27017,59.1.22.2:27017/mongoid
|
42
|
+
# Here we put the Mongoid specific configuration options. These are explained
|
43
|
+
# in more detail next.
|
44
|
+
options:
|
45
|
+
allow_dynamic_fields: false
|
46
|
+
identity_map_enabled: true
|
47
|
+
include_root_in_json: true
|
48
|
+
include_type_for_serialization: true
|
49
|
+
# Note this can also be true if you want to preload everything, but this is
|
50
|
+
# almost never necessary. Most of the time set this to false.
|
51
|
+
preload_models:
|
52
|
+
- Canvas
|
53
|
+
- Browser
|
54
|
+
- Firefox
|
55
|
+
scope_overwrite_exception: true
|
56
|
+
raise_not_found_error: false
|
57
|
+
skip_version_check: false
|
58
|
+
use_activesupport_time_zone: false
|
59
|
+
use_utc: true
|
data/lib/apollo_crawler.rb
CHANGED
@@ -21,12 +21,18 @@
|
|
21
21
|
# TODO: Make this work - DRY!
|
22
22
|
# require File.join(File.dirname(__FILE__), 'apollo_crawler/lib')
|
23
23
|
|
24
|
+
# Config First
|
25
|
+
require File.join(File.dirname(__FILE__), 'apollo_crawler/env')
|
26
|
+
|
27
|
+
# Adapters
|
28
|
+
require File.join(File.dirname(__FILE__), 'apollo_crawler/adapter/adapters')
|
29
|
+
|
30
|
+
# Agents
|
31
|
+
require File.join(File.dirname(__FILE__), 'apollo_crawler/agent/agents')
|
32
|
+
|
24
33
|
# Caches
|
25
34
|
require File.join(File.dirname(__FILE__), 'apollo_crawler/cache/caches')
|
26
35
|
|
27
|
-
# CLI - Command Line Interface
|
28
|
-
require File.join(File.dirname(__FILE__), 'apollo_crawler/cli/cli')
|
29
|
-
|
30
36
|
# Crawlers
|
31
37
|
require File.join(File.dirname(__FILE__), 'apollo_crawler/crawler/crawlers')
|
32
38
|
|
@@ -42,6 +48,9 @@ require File.join(File.dirname(__FILE__), 'apollo_crawler/helper/helpers')
|
|
42
48
|
# Loggers
|
43
49
|
require File.join(File.dirname(__FILE__), 'apollo_crawler/logger/loggers')
|
44
50
|
|
51
|
+
# Planner
|
52
|
+
require File.join(File.dirname(__FILE__), 'apollo_crawler/planner/planners')
|
53
|
+
|
45
54
|
# Program
|
46
55
|
require File.join(File.dirname(__FILE__), 'apollo_crawler/program/programs')
|
47
56
|
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# Copyright, 2013, by Tomas Korcak. <korczis@gmail.com>
|
2
|
+
#
|
3
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
|
+
# of this software and associated documentation files (the "Software"), to deal
|
5
|
+
# in the Software without restriction, including without limitation the rights
|
6
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
7
|
+
# copies of the Software, and to permit persons to whom the Software is
|
8
|
+
# furnished to do so, subject to the following conditions:
|
9
|
+
#
|
10
|
+
# The above copyright notice and this permission notice shall be included in
|
11
|
+
# all copies or substantial portions of the Software.
|
12
|
+
#
|
13
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
16
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
18
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
19
|
+
# THE SOFTWARE.
|
20
|
+
|
21
|
+
require File.join(File.dirname(__FILE__), 'amqp_adapter')
|
22
|
+
require File.join(File.dirname(__FILE__), 'mongo_adapter')
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# Copyright, 2013, by Tomas Korcak. <korczis@gmail.com>
|
2
|
+
#
|
3
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
|
+
# of this software and associated documentation files (the "Software"), to deal
|
5
|
+
# in the Software without restriction, including without limitation the rights
|
6
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
7
|
+
# copies of the Software, and to permit persons to whom the Software is
|
8
|
+
# furnished to do so, subject to the following conditions:
|
9
|
+
#
|
10
|
+
# The above copyright notice and this permission notice shall be included in
|
11
|
+
# all copies or substantial portions of the Software.
|
12
|
+
#
|
13
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
16
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
18
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
19
|
+
# THE SOFTWARE.
|
20
|
+
|
21
|
+
module Apollo
|
22
|
+
module Adapter
|
23
|
+
class AmqpAdapter
|
24
|
+
end # class AmqpAdapter
|
25
|
+
end # module Adapter
|
26
|
+
end # module Apollo
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# Copyright, 2013, by Tomas Korcak. <korczis@gmail.com>
|
2
|
+
#
|
3
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
|
+
# of this software and associated documentation files (the "Software"), to deal
|
5
|
+
# in the Software without restriction, including without limitation the rights
|
6
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
7
|
+
# copies of the Software, and to permit persons to whom the Software is
|
8
|
+
# furnished to do so, subject to the following conditions:
|
9
|
+
#
|
10
|
+
# The above copyright notice and this permission notice shall be included in
|
11
|
+
# all copies or substantial portions of the Software.
|
12
|
+
#
|
13
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
16
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
18
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
19
|
+
# THE SOFTWARE.
|
20
|
+
|
21
|
+
module Apollo
|
22
|
+
module Adapter
|
23
|
+
class MongoAdapter
|
24
|
+
end # class AmqpAdapter
|
25
|
+
end # module MongoAdapter
|
26
|
+
end # module Apollo
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# Copyright, 2013, by Tomas Korcak. <korczis@gmail.com>
|
2
|
+
#
|
3
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
|
+
# of this software and associated documentation files (the "Software"), to deal
|
5
|
+
# in the Software without restriction, including without limitation the rights
|
6
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
7
|
+
# copies of the Software, and to permit persons to whom the Software is
|
8
|
+
# furnished to do so, subject to the following conditions:
|
9
|
+
#
|
10
|
+
# The above copyright notice and this permission notice shall be included in
|
11
|
+
# all copies or substantial portions of the Software.
|
12
|
+
#
|
13
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
16
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
18
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
19
|
+
# THE SOFTWARE.
|
20
|
+
|
21
|
+
module Apollo
|
22
|
+
module Agent
|
23
|
+
class BaseAgent
|
24
|
+
end # class BaseAgent
|
25
|
+
end # module Agent
|
26
|
+
end # module Apollo
|
@@ -1,3 +1,23 @@
|
|
1
|
+
# Copyright, 2013, by Tomas Korcak. <korczis@gmail.com>
|
2
|
+
#
|
3
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
|
+
# of this software and associated documentation files (the "Software"), to deal
|
5
|
+
# in the Software without restriction, including without limitation the rights
|
6
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
7
|
+
# copies of the Software, and to permit persons to whom the Software is
|
8
|
+
# furnished to do so, subject to the following conditions:
|
9
|
+
#
|
10
|
+
# The above copyright notice and this permission notice shall be included in
|
11
|
+
# all copies or substantial portions of the Software.
|
12
|
+
#
|
13
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
16
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
18
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
19
|
+
# THE SOFTWARE.
|
20
|
+
|
1
21
|
require File.join(File.dirname(__FILE__), 'base_cache')
|
2
22
|
require File.join(File.dirname(__FILE__), 'memcached_cache')
|
3
23
|
require File.join(File.dirname(__FILE__), 'memory_cache')
|