Class: Aranha::Address
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Aranha::Address
- Includes:
- EacRailsUtils::Models::InequalityQueries
- Defined in:
- app/models/aranha/address.rb
Class Method Summary collapse
- .add(url, processor, extra_data = nil) ⇒ Object
- .add_start_points ⇒ Object
- .clear_expired ⇒ Object
- .set_start_point(url, processor) ⇒ Object
Instance Method Summary collapse
Class Method Details
.add(url, processor, extra_data = nil) ⇒ Object
23 24 25 26 27 28 |
# File 'app/models/aranha/address.rb', line 23 def add(url, processor, extra_data = nil) a = find_or_initialize_by(url: sanitize_url(url)) a.processor = processor a.extra_data = extra_data.to_yaml a.save! end |
.add_start_points ⇒ Object
16 17 18 19 20 21 |
# File 'app/models/aranha/address.rb', line 16 def add_start_points ::Rails.logger.info("Start points: #{start_points.count}") start_points.each do |url, processor| add(url, processor) end end |
.clear_expired ⇒ Object
30 31 32 33 34 |
# File 'app/models/aranha/address.rb', line 30 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
12 13 14 |
# File 'app/models/aranha/address.rb', line 12 def set_start_point(url, processor) start_points[url] = processor end |
Instance Method Details
#process ⇒ Object
62 63 64 65 66 67 68 |
# File 'app/models/aranha/address.rb', line 62 def process ActiveRecord::Base.transaction do instanciate_processor.process self.processed_at = Time.zone.now save! end end |
#to_s ⇒ Object
58 59 60 |
# File 'app/models/aranha/address.rb', line 58 def to_s "#{processor}|#{url}" end |