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.
Files changed (55) hide show
  1. checksums.yaml +8 -8
  2. data/bin/apollo-crawler +0 -4
  3. data/bin/apollo-platform +30 -0
  4. data/config/amqp.yml +18 -0
  5. data/config/amqp.yml.default +18 -0
  6. data/config/apollo.yml +13 -0
  7. data/config/apollo.yml.default +10 -0
  8. data/config/memcached.yml +14 -0
  9. data/config/memcached.yml.default +14 -0
  10. data/config/mongo.yml +19 -0
  11. data/config/mongo.yml.default +19 -0
  12. data/config/mongoid.yml +23 -0
  13. data/config/mongoid.yml.default +59 -0
  14. data/lib/apollo_crawler.rb +12 -3
  15. data/lib/apollo_crawler/adapter/adapters.rb +22 -0
  16. data/lib/apollo_crawler/adapter/amqp_adapter.rb +26 -0
  17. data/lib/apollo_crawler/adapter/mongo_adapter.rb +26 -0
  18. data/lib/apollo_crawler/{cli/cli.rb → agent/agents.rb} +2 -0
  19. data/lib/apollo_crawler/agent/base_agent.rb +26 -0
  20. data/lib/apollo_crawler/cache/caches.rb +20 -0
  21. data/lib/apollo_crawler/cache/sqlite_cache.rb +9 -0
  22. data/lib/apollo_crawler/config.rb +82 -72
  23. data/lib/apollo_crawler/crawler/crawlers.rb +20 -0
  24. data/lib/apollo_crawler/crawler/google_crawler.rb +2 -2
  25. data/lib/apollo_crawler/crawler/hacker_news_crawler.rb +2 -2
  26. data/lib/apollo_crawler/crawler/slashdot_crawler.rb +2 -2
  27. data/lib/apollo_crawler/crawler/stackoverflow_crawler.rb +2 -2
  28. data/lib/apollo_crawler/crawler/xkcd_crawler.rb +2 -2
  29. data/lib/apollo_crawler/crawler/youjizz_crawler.rb +2 -2
  30. data/lib/apollo_crawler/env.rb +24 -0
  31. data/lib/apollo_crawler/fetcher/base_fetcher.rb +1 -1
  32. data/lib/apollo_crawler/fetcher/fetchers.rb +20 -0
  33. data/lib/apollo_crawler/fetcher/simple_fetcher.rb +1 -1
  34. data/lib/apollo_crawler/fetcher/smart_fetcher.rb +1 -1
  35. data/lib/apollo_crawler/formatter/formatters.rb +20 -0
  36. data/lib/apollo_crawler/formatter/json_formatter.rb +5 -1
  37. data/lib/apollo_crawler/formatter/plain_formatter.rb +4 -0
  38. data/lib/apollo_crawler/formatter/table_formatter.rb +4 -0
  39. data/lib/apollo_crawler/helper/amqp_helper.rb +26 -0
  40. data/lib/apollo_crawler/helper/core_helper.rb +24 -4
  41. data/lib/apollo_crawler/helper/helpers.rb +23 -1
  42. data/lib/apollo_crawler/helper/mongo_helper.rb +26 -0
  43. data/lib/apollo_crawler/lib.rb +12 -3
  44. data/lib/apollo_crawler/logger/loggers.rb +20 -0
  45. data/lib/apollo_crawler/planner/base_planner.rb +26 -0
  46. data/lib/apollo_crawler/planner/planners.rb +22 -0
  47. data/lib/apollo_crawler/planner/smart_planner.rb +28 -0
  48. data/lib/apollo_crawler/program/base_program.rb +130 -0
  49. data/lib/apollo_crawler/program/console_program.rb +177 -0
  50. data/lib/apollo_crawler/program/crawler_program.rb +130 -183
  51. data/lib/apollo_crawler/program/platform_program.rb +137 -0
  52. data/lib/apollo_crawler/program/programs.rb +23 -1
  53. data/lib/apollo_crawler/store/stores.rb +20 -0
  54. data/lib/apollo_crawler/version.rb +2 -2
  55. metadata +55 -3
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NWM2MjFlZGYyOTI5OGI4OWJlZWM2YmM0Zjg1NTAxZTcwZDkxYTEzZA==
4
+ MjNkN2YzMjExMDc4Mjg5ZDNhNGMxYTY0MTY1NjczMDQ0MzE4YmFlOQ==
5
5
  data.tar.gz: !binary |-
6
- NzZiMGRhMzI1ZmVjMjE2ODcwMzJlZDllMDZmNjYzYWYwNGUwNzE2Mw==
6
+ ZWVlM2UyZjhhZDM4Y2ExZGExNzkzNjNjNjNkNTI4OTRkOTEzY2Y5NA==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- MzY0NTQ3OTE2OTUyMWI1NDA2N2QwNGEwNzMxMDhmMTM4ODk3ZjgzODA5ZmU4
10
- MmM2NWI3OTIzMTFmZDNlZjg2ODIxZDZmMjFhMDU3OTUwYjljYmJhNWE1NTkx
11
- NWExNTg2OTUyMjY3ZWQ3YWQ3ODJjYzkzMDA0ODkzMjgzMjI4MGQ=
9
+ ZDc0YmI0MjEyNTgzNTM0NmY2NGE2YTY0Y2MxNTdiNTBkN2M3ZDM2MDdmNjZm
10
+ MjNhZDVlNmRkNDdkMDVhNzhjNzg0ZDQ2ZjRkYThhNzJlODMxNjE3NmE4MjVm
11
+ ZDg0ZjFlZWFjM2I0NWQ0ZmIzYmM5ZmY0MTRiOGE2YTMwZDVmYzE=
12
12
  data.tar.gz: !binary |-
13
- ZGU1MjY3N2JmZWFkOWE5Y2Q0Y2ViNmM4YjFkZjM2NGNmMzc3OGRlNGUxMjU2
14
- Yzk1MWU2NDMwOGNhZjUwNmMzZjRhZmZjOWRmYzAzZWYyMzQ1MjNlMTU4YWYz
15
- ZDMzYTliMDVkYTQzYjlmMmZjNWEzMmVmMjgzZTE2OWJiOWE0Yjk=
13
+ N2I5ZGM1NjI2M2QxN2FmMDZkMThkOGU5NDE5MTEyOTNlZWFkNGQ1N2FlZjFi
14
+ MTI5ZGNhNjdmZTAyZjAyYTVkZWFlNGJmZDk5YzA3ZjlhN2Q5MTc1NTIyNGVi
15
+ M2VjODgxNzQyYTAxNzQ5NWQ5MTQzZjUxNWY5MWZlNDQzNjg2YmQ=
@@ -28,7 +28,3 @@ require File.join(File.dirname(__FILE__), "..", "lib", "apollo_crawler")
28
28
 
29
29
  Apollo::CrawlerProgram.new.run(ARGV)
30
30
 
31
- # TODO: Maybe consider enabling this?
32
- # if __FILE__ == $0
33
- # Apollo::CrawlerProgram.new.run(ARGV)
34
- # end
@@ -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
+
@@ -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
@@ -0,0 +1,13 @@
1
+ default: &default
2
+ host: localhost
3
+
4
+ development:
5
+ <<: *default
6
+
7
+ test:
8
+ <<: *default
9
+ host: apollo-crawler.no-ip.org
10
+
11
+ production:
12
+ <<: *default
13
+ host: apollo-crawler.no-ip.org
@@ -0,0 +1,10 @@
1
+ default: &default
2
+
3
+ development:
4
+ <<: *default
5
+
6
+ test:
7
+ <<: *default
8
+
9
+ production:
10
+ <<: *default
@@ -0,0 +1,14 @@
1
+ default: &default
2
+ host: localhost
3
+ port: 11211
4
+
5
+ development:
6
+ <<: *default
7
+
8
+ test:
9
+ host: apollo-crawler.no-ip.org
10
+ <<: *default
11
+
12
+ production:
13
+ <<: *default
14
+ host: apollo-crawler.no-ip.org
@@ -0,0 +1,14 @@
1
+ default: &default
2
+ host: localhost
3
+ port: 11211
4
+
5
+ development:
6
+ <<: *default
7
+
8
+ test:
9
+ host: apollo-crawler.no-ip.org
10
+ <<: *default
11
+
12
+ production:
13
+ <<: *default
14
+ host: apollo-crawler.no-ip.org
@@ -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
@@ -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
@@ -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
@@ -17,3 +17,5 @@
17
17
  # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
18
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
19
  # THE SOFTWARE.
20
+
21
+ require File.join(File.dirname(__FILE__), 'base_agent')
@@ -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')