lib/ids_please.rb in ids_please-2.2.0 vs lib/ids_please.rb in ids_please-2.2.1
- old
+ new
@@ -24,11 +24,11 @@
@unrecognized = []
original.each { |l| recognize_link(l) }
end
def recognized
- Hash[@recognized.map { |parser, links| [ parser.to_sym, links ] }]
+ Hash[@recognized.map { |parser, links| [parser.to_sym, links] }]
end
def parse
interact(:parsers)
end
@@ -37,41 +37,41 @@
interact(:grabbers)
end
private
- def interact(interactors = :parsers)
+ def interact(interactors_group = :parsers)
recognize
interacted = Hash.new { |hash, network| hash[network] = [] }
@recognized.each do |network, links|
- interactor = IdsPlease.send(interactors).by_symbol(network)
+ interactor = IdsPlease.send(interactors_group).by_symbol(network)
interacted[network].concat interactor.interact(links)
end
- self.instance_variable_set(interacted_var(interactors), interacted)
+ instance_variable_set(interacted_var(interactors_group), interacted)
interacted
end
- def interacted_var(interactors)
- if interactors == :parsers
+ def interacted_var(interactors_group)
+ if interactors_group == :parsers
:@parsed
- elsif interactors == :grabbers
+ elsif interactors_group == :grabbers
:@grabbed
else
throw 'Wrong interactors type'
end
end
def recognize_link(link)
link = "http://#{link}" unless link =~ /\Ahttps?:\/\//
parsed_link = URI(URI.encode(link))
- IdsPlease::Parsers.each do |network|
- if parsed_link.host =~ network::MASK
- @recognized[network.to_sym] ||= []
- @recognized[network.to_sym] << parsed_link
- return
- end
+
+ network = IdsPlease::Parsers.to_a.find { |n| parsed_link.host =~ n::MASK }
+
+ if network
+ @recognized[network.to_sym] ||= []
+ @recognized[network.to_sym] << parsed_link
+ else
+ @unrecognized << link
end
- unrecognized << link
end
-
end