Class: GitHubPages::HealthCheck::CDN
- Inherits:
-
Object
- Object
- GitHubPages::HealthCheck::CDN
- Includes:
- Singleton
- Defined in:
- lib/github-pages-health-check/cdn.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#name ⇒ Object
readonly
Internal: The path of the config file.
-
#path ⇒ Object
readonly
Internal: The path of the config file.
Class Method Summary collapse
-
.controls_ip?(address) ⇒ Boolean
Public: Does cloudflare control this address?.
Instance Method Summary collapse
-
#controls_ip?(address) ⇒ Boolean
Internal: Does this CDN control this address?.
-
#initialize(options = {}) ⇒ CDN
constructor
Internal: Create a new CDN info instance.
Constructor Details
#initialize(options = {}) ⇒ CDN
Internal: Create a new CDN info instance.
15 16 17 18 |
# File 'lib/github-pages-health-check/cdn.rb', line 15 def initialize( = {}) @name = .fetch(:name) { self.class.name.split("::").last.downcase } @path = .fetch(:path) { default_config_path } end |
Instance Attribute Details
#name ⇒ Object (readonly)
Internal: The path of the config file.
7 8 9 |
# File 'lib/github-pages-health-check/cdn.rb', line 7 def name @name end |
#path ⇒ Object (readonly)
Internal: The path of the config file.
7 8 9 |
# File 'lib/github-pages-health-check/cdn.rb', line 7 def path @path end |
Class Method Details
.controls_ip?(address) ⇒ Boolean
Public: Does cloudflare control this address?
10 11 12 |
# File 'lib/github-pages-health-check/cdn.rb', line 10 def self.controls_ip?(address) instance.controls_ip?(address) end |
Instance Method Details
#controls_ip?(address) ⇒ Boolean
Internal: Does this CDN control this address?
21 22 23 |
# File 'lib/github-pages-health-check/cdn.rb', line 21 def controls_ip?(address) ranges.any? { |range| range.include?(address) } end |