apollo-crawler 0.1.21 → 0.1.22
Sign up to get free protection for your applications and to get access to all the features.
- 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')
|