Class: Aquatone::Detector
- Inherits:
-
Object
- Object
- Aquatone::Detector
show all
- Defined in:
- lib/aquatone/detector.rb
Direct Known Subclasses
Aquatone::Detectors::CampaignMonitor, Aquatone::Detectors::Cargo, Aquatone::Detectors::Cloudfront, Aquatone::Detectors::Desk, Aquatone::Detectors::Fastly, Aquatone::Detectors::Feedpress, Aquatone::Detectors::Freshdesk, Aquatone::Detectors::Ghost, Aquatone::Detectors::GithubPages, Aquatone::Detectors::Helpjuice, Aquatone::Detectors::Helpscout, Aquatone::Detectors::Heroku, Aquatone::Detectors::Instapage, Aquatone::Detectors::Pingdom, Aquatone::Detectors::S3, Aquatone::Detectors::Shopify, Aquatone::Detectors::Statuspage, Aquatone::Detectors::Surveygizmo, Aquatone::Detectors::Teamwork, Aquatone::Detectors::Tictail, Aquatone::Detectors::Tumblr, Aquatone::Detectors::Unbounce, Aquatone::Detectors::Uservoice, Aquatone::Detectors::Wpengine, Aquatone::Detectors::Zendesk
Defined Under Namespace
Classes: Error, InvalidMetadataError, MetadataNotSetError
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(host, resource) ⇒ Detector
Returns a new instance of Detector.
28
29
30
31
|
# File 'lib/aquatone/detector.rb', line 28
def initialize(host, resource)
@host = host
@resource = resource
end
|
Instance Attribute Details
#host ⇒ Object
Returns the value of attribute host.
7
8
9
|
# File 'lib/aquatone/detector.rb', line 7
def host
@host
end
|
#resource ⇒ Object
Returns the value of attribute resource.
7
8
9
|
# File 'lib/aquatone/detector.rb', line 7
def resource
@resource
end
|
Class Method Details
.descendants ⇒ Object
18
19
20
21
|
# File 'lib/aquatone/detector.rb', line 18
def self.descendants
detectors = ObjectSpace.each_object(Class).select { |klass| klass < self }
detectors.sort { |x, y| x.meta[:service] <=> y.meta[:service] }
end
|
9
10
11
|
# File 'lib/aquatone/detector.rb', line 9
def self.meta
@meta || fail(MetadataNotSetError, "Metadata has not been set")
end
|
13
14
15
16
|
# File 'lib/aquatone/detector.rb', line 13
def self.meta=(meta)
validate_metadata(meta)
@meta = meta
end
|
.sluggified_name ⇒ Object
23
24
25
26
|
# File 'lib/aquatone/detector.rb', line 23
def self.sluggified_name
return meta[:slug].downcase if meta[:slug]
meta[:service].strip.downcase.gsub(/[^a-z0-9]+/, '-').gsub("--", "-")
end
|
Instance Method Details
#positive? ⇒ Boolean
37
38
39
40
41
|
# File 'lib/aquatone/detector.rb', line 37
def positive?
run
rescue
false
end
|
#run ⇒ Object
33
34
35
|
# File 'lib/aquatone/detector.rb', line 33
def run
fail NotImplementedError
end
|