Class: Aranha::Address
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Aranha::Address
- Includes:
- Eac::InequalityQueries
- Defined in:
- app/models/aranha/address.rb
Class Method Summary collapse
- .add(url, processor) ⇒ Object
- .add_start_points ⇒ Object
- .clear_expired ⇒ Object
- .set_start_point(url, processor) ⇒ Object
Instance Method Summary collapse
Class Method Details
.add(url, processor) ⇒ Object
19 20 21 22 23 |
# File 'app/models/aranha/address.rb', line 19 def add(url, processor) a = find_or_initialize_by(url: url) a.processor = processor a.save! end |
.add_start_points ⇒ Object
13 14 15 16 17 |
# File 'app/models/aranha/address.rb', line 13 def add_start_points start_points.each do |url, processor| add(url, processor) end end |
.clear_expired ⇒ Object
25 26 27 28 29 |
# File 'app/models/aranha/address.rb', line 25 def clear_expired q = by_created_at_lt(Time.zone.now - 12.hours) Rails.logger.info("Addresses expired: #{q.count}") q.destroy_all end |
.set_start_point(url, processor) ⇒ Object
9 10 11 |
# File 'app/models/aranha/address.rb', line 9 def set_start_point(url, processor) start_points[url] = processor end |
Instance Method Details
#process ⇒ Object
49 50 51 52 53 54 55 |
# File 'app/models/aranha/address.rb', line 49 def process ActiveRecord::Base.transaction do processor.constantize.new(url).process self.processed_at = Time.zone.now save! end end |
#to_s ⇒ Object
45 46 47 |
# File 'app/models/aranha/address.rb', line 45 def to_s "#{processor}|#{url}" end |