Class: Onebox::Matcher
- Inherits:
-
Object
- Object
- Onebox::Matcher
- Defined in:
- lib/onebox/matcher.rb
Instance Method Summary collapse
- #has_allowed_iframe_origins?(engine) ⇒ Boolean
-
#initialize(link, options = {}) ⇒ Matcher
constructor
A new instance of Matcher.
- #oneboxed ⇒ Object
- #ordered_engines ⇒ Object
Constructor Details
#initialize(link, options = {}) ⇒ Matcher
Returns a new instance of Matcher.
5 6 7 8 |
# File 'lib/onebox/matcher.rb', line 5 def initialize(link, = {}) @url = link @options = end |
Instance Method Details
#has_allowed_iframe_origins?(engine) ⇒ Boolean
25 26 27 28 |
# File 'lib/onebox/matcher.rb', line 25 def has_allowed_iframe_origins?(engine) allowed_regexes = @options[:allowed_iframe_regexes] || [] engine.iframe_origins.all? { |o| allowed_regexes.any? { |r| o =~ r } } end |
#oneboxed ⇒ Object
16 17 18 19 20 21 22 23 |
# File 'lib/onebox/matcher.rb', line 16 def oneboxed uri = URI(@url) return unless uri.port.nil? || Onebox..allowed_ports.include?(uri.port) return unless uri.scheme.nil? || Onebox..allowed_schemes.include?(uri.scheme) ordered_engines.find { |engine| engine === uri && has_allowed_iframe_origins?(engine) } rescue URI::InvalidURIError nil end |