aranha-rails 0.6.0 → 0.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rspec +1 -0
- data/.rubocop.yml +25 -0
- data/Gemfile +5 -0
- data/app/assets/javascripts/aranha/application.js +2 -0
- data/app/assets/stylesheets/aranha/application.css +5 -0
- data/app/controllers/aranha/addresses_controller.rb +8 -0
- data/app/controllers/aranha/processor_configurations_controller.rb +16 -0
- data/app/controllers/aranha/start_points_controller.rb +16 -0
- data/app/models/aranha/address/delayed_job.rb +39 -0
- data/app/models/aranha/address/processor.rb +24 -0
- data/app/models/aranha/address/scheduling.rb +49 -0
- data/app/models/aranha/address.rb +80 -0
- data/app/models/aranha/processor_configuration.rb +51 -0
- data/app/models/aranha/start_point.rb +47 -0
- data/config/initializers/aranha.rb +5 -0
- data/config/locales/en.yml +12 -0
- data/config/locales/pt-BR.yml +12 -0
- data/config/routes.rb +7 -0
- data/db/migrate/20171201021251_create_aranha_addresses.rb +15 -0
- data/db/migrate/20181125042102_add_extra_data_to_aranha_addresses.rb +9 -0
- data/db/migrate/20201128202212_create_aranha_start_points.rb +13 -0
- data/db/migrate/20210720023620_add_delayed_job_to_aranha_addresses.rb +7 -0
- data/db/migrate/20210721171416_add_tries_count_to_aranha_addresses.rb +7 -0
- data/db/migrate/20210721185222_add_last_error_to_aranha_addresses.rb +7 -0
- data/db/migrate/20210814220540_create_aranha_processor_configurations.rb +12 -0
- data/db/migrate/20210815160543_add_enabled_to_aranha_processor_configurations.rb +7 -0
- data/lib/aranha/rails/engine.rb +1 -1
- data/lib/aranha/rails/manager.rb +1 -1
- data/lib/aranha/rails/version.rb +1 -1
- data/spec/rubocop_spec.rb +3 -0
- data/spec/spec_helper.rb +4 -0
- metadata +55 -28
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a322e7787c81f714d13888862ffdf6a30a4ac0d56847091dd119c67c0ca4ca1e
|
4
|
+
data.tar.gz: c67dea8842bf7f4213bd8cc25a4ad45f569f28681bed528d8d67786e49d984e8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c56775f370ea486705fcfaa35449910933b0468179592bdd94f1585c5f553480a7b8e10c52af0cc86e1b8f3283ebc1e419c6f0ad12cc55c6d5fc1db5676ba2b6
|
7
|
+
data.tar.gz: 9fe98cf105b3d38c13bf5310bca70edd8a5740b7352b96dfbd52b79f6d770c4a458708c7fd8d563aae71c37ada4ac1bfa28e911dacd38f237e08fdc0273f65fb
|
data/.rspec
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--require spec_helper
|
data/.rubocop.yml
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
require:
|
2
|
+
- rubocop-rails
|
3
|
+
- rubocop-rspec
|
4
|
+
|
5
|
+
AllCops:
|
6
|
+
TargetRubyVersion: 2.4
|
7
|
+
TargetRailsVersion: 5.1
|
8
|
+
|
9
|
+
Layout/LineLength:
|
10
|
+
Max: 100
|
11
|
+
|
12
|
+
Style/AsciiComments:
|
13
|
+
Enabled: false
|
14
|
+
|
15
|
+
Style/Documentation:
|
16
|
+
Enabled: false
|
17
|
+
|
18
|
+
Style/HashEachMethods:
|
19
|
+
Enabled: true
|
20
|
+
|
21
|
+
Style/HashTransformKeys:
|
22
|
+
Enabled: true
|
23
|
+
|
24
|
+
Style/HashTransformValues:
|
25
|
+
Enabled: true
|
data/Gemfile
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Aranha
|
4
|
+
class ProcessorConfigurationsController < ::ApplicationController
|
5
|
+
before_action :configure_processor_class_options
|
6
|
+
|
7
|
+
active_scaffold :'aranha/processor_configuration' do |conf|
|
8
|
+
conf.columns[:processor_class].form_ui = :select
|
9
|
+
end
|
10
|
+
|
11
|
+
def configure_processor_class_options
|
12
|
+
active_scaffold_config.columns[:processor_class].options =
|
13
|
+
{ options: ::Aranha::ProcessorConfiguration.processor_class_options }
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Aranha
|
4
|
+
class StartPointsController < ::ApplicationController
|
5
|
+
before_action :configure_processor_class_options
|
6
|
+
|
7
|
+
active_scaffold :'aranha/start_point' do |conf|
|
8
|
+
conf.columns[:processor_class].form_ui = :select
|
9
|
+
end
|
10
|
+
|
11
|
+
def configure_processor_class_options
|
12
|
+
active_scaffold_config.columns[:processor_class].options =
|
13
|
+
{ options: ::Aranha::StartPoint.processor_class_options }
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
4
|
+
|
5
|
+
module Aranha
|
6
|
+
class Address < ::ActiveRecord::Base
|
7
|
+
class DelayedJob
|
8
|
+
common_constructor :address_id
|
9
|
+
|
10
|
+
def perform
|
11
|
+
address_processor.successful? ? perform_on_success : perform_on_error
|
12
|
+
end
|
13
|
+
|
14
|
+
private
|
15
|
+
|
16
|
+
def address
|
17
|
+
address_processor.address
|
18
|
+
end
|
19
|
+
|
20
|
+
def perform_on_success
|
21
|
+
# Do nothing
|
22
|
+
end
|
23
|
+
|
24
|
+
def perform_on_error
|
25
|
+
address.update!(
|
26
|
+
tries_count: address.tries_count + 1,
|
27
|
+
last_error: address_processor.error.to_yaml
|
28
|
+
)
|
29
|
+
address.check_scheduling
|
30
|
+
end
|
31
|
+
|
32
|
+
def address_processor
|
33
|
+
@address_processor ||= ::Aranha::AddressProcessor.new(
|
34
|
+
::Aranha::Address.find(address_id)
|
35
|
+
)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
4
|
+
|
5
|
+
module Aranha
|
6
|
+
class Address < ::ActiveRecord::Base
|
7
|
+
module Processor
|
8
|
+
common_concern
|
9
|
+
|
10
|
+
module ClassMethods
|
11
|
+
# @return [Aranha::ProcessorConfiguration]
|
12
|
+
def default_processor_configuration
|
13
|
+
@default_processor_configuration ||= ::Aranha::ProcessorConfiguration.new
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
# @return [Aranha::ProcessorConfiguration]
|
18
|
+
def processor_configuration
|
19
|
+
::Aranha::ProcessorConfiguration.find_by(processor_class: processor) ||
|
20
|
+
self.class.default_processor_configuration
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
4
|
+
|
5
|
+
module Aranha
|
6
|
+
class Address < ::ActiveRecord::Base
|
7
|
+
module Scheduling
|
8
|
+
common_concern
|
9
|
+
|
10
|
+
module ClassMethods
|
11
|
+
# @return [Array<Aranha::Address>]
|
12
|
+
def expired(time = ::Time.zone.now)
|
13
|
+
all.select { |record| record.expired?(time) }
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def check_scheduling
|
18
|
+
::ActiveRecord::Base.transaction do
|
19
|
+
return unless schedule?
|
20
|
+
|
21
|
+
job = ::Delayed::Job.enqueue(
|
22
|
+
::Aranha::Address::DelayedJob.new(id),
|
23
|
+
queue: ::Aranha::Rails::Process::QUEUE
|
24
|
+
)
|
25
|
+
update!(delayed_job: job)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def expired?(time = ::Time.zone.now)
|
30
|
+
time >= (created_at + timeout)
|
31
|
+
end
|
32
|
+
|
33
|
+
def init_scheduling
|
34
|
+
update!(tries_count: 0, last_error: nil) unless processed?
|
35
|
+
check_scheduling
|
36
|
+
end
|
37
|
+
|
38
|
+
def allow_retry?
|
39
|
+
tries_count < ::Aranha::Processor::DEFAULT_MAX_TRIES
|
40
|
+
end
|
41
|
+
|
42
|
+
def schedule?
|
43
|
+
processed_at.blank? && allow_retry? && delayed_job.blank? && enabled?
|
44
|
+
end
|
45
|
+
|
46
|
+
delegate :enabled?, :timeout, to: :processor_configuration
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,80 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/yaml'
|
4
|
+
require 'delayed/backend/active_record'
|
5
|
+
|
6
|
+
module Aranha
|
7
|
+
class Address < ::ActiveRecord::Base
|
8
|
+
include ::EacRailsUtils::Models::InequalityQueries
|
9
|
+
include ::Aranha::Address::Processor
|
10
|
+
include ::Aranha::Address::Scheduling
|
11
|
+
|
12
|
+
add_inequality_queries(:created_at)
|
13
|
+
|
14
|
+
class << self
|
15
|
+
def sanitize_url(url)
|
16
|
+
if url.is_a?(Hash)
|
17
|
+
::EacRubyUtils::Yaml.dump(url)
|
18
|
+
else
|
19
|
+
url.to_s
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
belongs_to :delayed_job, class_name: 'Delayed::Backend::ActiveRecord::Job', dependent: :destroy,
|
25
|
+
optional: true
|
26
|
+
|
27
|
+
validates :url, presence: true, uniqueness: true
|
28
|
+
validates :processor, presence: true
|
29
|
+
validates :tries_count, presence: true, numericality: { only_integer: true,
|
30
|
+
greater_or_equal: 0 }
|
31
|
+
|
32
|
+
scope :failed, lambda {
|
33
|
+
where(processed_at: nil).where.not(last_error: nil)
|
34
|
+
}
|
35
|
+
|
36
|
+
def to_s
|
37
|
+
"#{processor}|#{url}"
|
38
|
+
end
|
39
|
+
|
40
|
+
def process
|
41
|
+
ActiveRecord::Base.transaction do
|
42
|
+
instanciate_processor.process
|
43
|
+
self.processed_at = Time.zone.now
|
44
|
+
save!
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
def processed?
|
49
|
+
processed_at.present?
|
50
|
+
end
|
51
|
+
|
52
|
+
private
|
53
|
+
|
54
|
+
def instanciate_processor
|
55
|
+
processor_instancier.call(*processor_instancier_arguments)
|
56
|
+
end
|
57
|
+
|
58
|
+
def url_to_process
|
59
|
+
::EacRubyUtils::Yaml.load(url)
|
60
|
+
end
|
61
|
+
|
62
|
+
def processor_instancier
|
63
|
+
processor.constantize.method(:new)
|
64
|
+
end
|
65
|
+
|
66
|
+
def processor_instancier_arguments
|
67
|
+
if processor_instancier_arity == 2 || processor_instancier_arity.negative?
|
68
|
+
[url_to_process, EacRubyUtils::Yaml.load(extra_data)]
|
69
|
+
elsif processor_instancier_arity == 1
|
70
|
+
[processor_instancier.call(url_to_process)]
|
71
|
+
else
|
72
|
+
raise("#{processor}.initialize should has 1 or 2 or * arguments")
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
def processor_instancier_arity
|
77
|
+
processor.constantize.instance_method(:initialize).arity
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/yaml'
|
4
|
+
|
5
|
+
module Aranha
|
6
|
+
class ProcessorConfiguration < ::ActiveRecord::Base
|
7
|
+
DEFAULT_TIMEOUT = 12.hours
|
8
|
+
|
9
|
+
class << self
|
10
|
+
# @return [Enumerator<String>]
|
11
|
+
def processor_class_list
|
12
|
+
::Set.new(processor_class_list_from_addresses + processor_class_list_from_start_points)
|
13
|
+
.to_enum.sort
|
14
|
+
end
|
15
|
+
|
16
|
+
# @return [Hash<String, String>]
|
17
|
+
def processor_class_options
|
18
|
+
processor_class_list.map { |e| [e, e] }.to_h
|
19
|
+
end
|
20
|
+
|
21
|
+
private
|
22
|
+
|
23
|
+
# @return [Array<String>]
|
24
|
+
def processor_class_list_from_addresses
|
25
|
+
::Aranha::Address.distinct.pluck(:processor)
|
26
|
+
end
|
27
|
+
|
28
|
+
# @return [Array<String>]
|
29
|
+
def processor_class_list_from_start_points
|
30
|
+
::Aranha::StartPoint.processor_class_list.to_a
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
validates :processor_class, presence: true
|
35
|
+
validate :processor_class_in_list
|
36
|
+
validates :timeout_seconds, allow_blank: true,
|
37
|
+
numericality: { integer_only: true, greater_than_or_equal_to: 1 }
|
38
|
+
|
39
|
+
def processor_class_in_list
|
40
|
+
return if processor_class.blank?
|
41
|
+
return if self.class.processor_class_list.include?(processor_class)
|
42
|
+
|
43
|
+
errors.add(:processor_class, 'Not in list')
|
44
|
+
end
|
45
|
+
|
46
|
+
# @return [ActiveSupport::Duration]
|
47
|
+
def timeout
|
48
|
+
timeout_seconds.if_present(DEFAULT_TIMEOUT, &:seconds)
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/yaml'
|
4
|
+
|
5
|
+
module Aranha
|
6
|
+
class StartPoint < ::ActiveRecord::Base
|
7
|
+
class << self
|
8
|
+
def add_processor_class(klass)
|
9
|
+
processor_class_list_var.add(klass.to_s)
|
10
|
+
end
|
11
|
+
|
12
|
+
def processor_class_list
|
13
|
+
processor_class_list_var.to_enum
|
14
|
+
end
|
15
|
+
|
16
|
+
def processor_class_options
|
17
|
+
processor_class_list.map { |e| [e, e] }.to_h
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
|
22
|
+
def processor_class_list_var
|
23
|
+
@processor_class_list_var ||= Set.new
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
validates :uri, presence: true, uniqueness: true,
|
28
|
+
format: { with: ::URI::DEFAULT_PARSER.make_regexp }
|
29
|
+
validates :processor_class, presence: true
|
30
|
+
validate :processor_class_in_list
|
31
|
+
|
32
|
+
def extra_data
|
33
|
+
extra_data_yaml.nil? ? nil : ::EacRubyUtils::Yaml.load(extra_data_yaml)
|
34
|
+
end
|
35
|
+
|
36
|
+
def extra_data=(value)
|
37
|
+
self.extra_data_yaml = ::EacRubyUtils::Yaml.dump(value)
|
38
|
+
end
|
39
|
+
|
40
|
+
def processor_class_in_list
|
41
|
+
return if processor_class.blank?
|
42
|
+
return if self.class.processor_class_list.include?(processor_class)
|
43
|
+
|
44
|
+
errors.add(:processor_class, 'Not in list')
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
en:
|
2
|
+
activerecord:
|
3
|
+
models:
|
4
|
+
aranha/address:
|
5
|
+
one: Aranha address
|
6
|
+
other: Aranha addresses
|
7
|
+
aranha/processor_configuration:
|
8
|
+
one: Aranha processor configuration
|
9
|
+
other: Aranha processors configurations
|
10
|
+
aranha/start_point:
|
11
|
+
one: Aranha start point
|
12
|
+
other: Aranha start points
|
@@ -0,0 +1,12 @@
|
|
1
|
+
pt-BR:
|
2
|
+
activerecord:
|
3
|
+
models:
|
4
|
+
aranha/address:
|
5
|
+
one: Endereço Aranha
|
6
|
+
other: Endereços Aranha
|
7
|
+
aranha/processor_configuration:
|
8
|
+
one: Configuração de processador Aranha
|
9
|
+
other: Configuração de processadores Aranha
|
10
|
+
aranha/start_point:
|
11
|
+
one: Ponto de Partida Aranha
|
12
|
+
other: Pontos de Partida Aranha
|
data/config/routes.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class CreateAranhaAddresses < (
|
4
|
+
Rails.version < '5' ? ActiveRecord::Migration : ActiveRecord::Migration[4.2]
|
5
|
+
)
|
6
|
+
def change
|
7
|
+
create_table :aranha_addresses do |t|
|
8
|
+
t.string :url
|
9
|
+
t.string :processor
|
10
|
+
t.timestamp :processed_at
|
11
|
+
|
12
|
+
t.timestamps null: false
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class CreateAranhaStartPoints < ActiveRecord::Migration[5.1]
|
4
|
+
def change
|
5
|
+
create_table :aranha_start_points do |t|
|
6
|
+
t.string :uri
|
7
|
+
t.string :processor_class
|
8
|
+
t.string :extra_data_yaml
|
9
|
+
|
10
|
+
t.timestamps
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class CreateAranhaProcessorConfigurations < ActiveRecord::Migration[5.1]
|
4
|
+
def change
|
5
|
+
create_table :aranha_processor_configurations do |t|
|
6
|
+
t.string :processor_class
|
7
|
+
t.integer :timeout_seconds, null: true
|
8
|
+
|
9
|
+
t.timestamps null: false
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
data/lib/aranha/rails/engine.rb
CHANGED
data/lib/aranha/rails/manager.rb
CHANGED
data/lib/aranha/rails/version.rb
CHANGED
data/spec/spec_helper.rb
ADDED
metadata
CHANGED
@@ -1,63 +1,57 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aranha-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Put here the authors
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-09-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: aranha
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
20
|
-
- - ">="
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: 3.5.5
|
19
|
+
version: '0.15'
|
23
20
|
type: :runtime
|
24
21
|
prerelease: false
|
25
22
|
version_requirements: !ruby/object:Gem::Requirement
|
26
23
|
requirements:
|
27
24
|
- - "~>"
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version: '
|
30
|
-
- - ">="
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: 3.5.5
|
26
|
+
version: '0.15'
|
33
27
|
- !ruby/object:Gem::Dependency
|
34
|
-
name: aranha
|
28
|
+
name: aranha-parsers
|
35
29
|
requirement: !ruby/object:Gem::Requirement
|
36
30
|
requirements:
|
37
31
|
- - "~>"
|
38
32
|
- !ruby/object:Gem::Version
|
39
|
-
version: '0.
|
33
|
+
version: '0.6'
|
40
34
|
type: :runtime
|
41
35
|
prerelease: false
|
42
36
|
version_requirements: !ruby/object:Gem::Requirement
|
43
37
|
requirements:
|
44
38
|
- - "~>"
|
45
39
|
- !ruby/object:Gem::Version
|
46
|
-
version: '0.
|
40
|
+
version: '0.6'
|
47
41
|
- !ruby/object:Gem::Dependency
|
48
|
-
name:
|
42
|
+
name: eac_active_scaffold
|
49
43
|
requirement: !ruby/object:Gem::Requirement
|
50
44
|
requirements:
|
51
45
|
- - "~>"
|
52
46
|
- !ruby/object:Gem::Version
|
53
|
-
version: '0.
|
47
|
+
version: '0.1'
|
54
48
|
type: :runtime
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
51
|
requirements:
|
58
52
|
- - "~>"
|
59
53
|
- !ruby/object:Gem::Version
|
60
|
-
version: '0.
|
54
|
+
version: '0.1'
|
61
55
|
- !ruby/object:Gem::Dependency
|
62
56
|
name: eac_rails_delayed_job
|
63
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -110,42 +104,68 @@ dependencies:
|
|
110
104
|
name: rails
|
111
105
|
requirement: !ruby/object:Gem::Requirement
|
112
106
|
requirements:
|
113
|
-
- - "
|
107
|
+
- - ">="
|
114
108
|
- !ruby/object:Gem::Version
|
115
109
|
version: 5.1.7
|
110
|
+
- - "<"
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
version: '6'
|
116
113
|
type: :runtime
|
117
114
|
prerelease: false
|
118
115
|
version_requirements: !ruby/object:Gem::Requirement
|
119
116
|
requirements:
|
120
|
-
- - "
|
117
|
+
- - ">="
|
121
118
|
- !ruby/object:Gem::Version
|
122
119
|
version: 5.1.7
|
120
|
+
- - "<"
|
121
|
+
- !ruby/object:Gem::Version
|
122
|
+
version: '6'
|
123
123
|
- !ruby/object:Gem::Dependency
|
124
124
|
name: eac_ruby_gem_support
|
125
125
|
requirement: !ruby/object:Gem::Requirement
|
126
126
|
requirements:
|
127
127
|
- - "~>"
|
128
128
|
- !ruby/object:Gem::Version
|
129
|
-
version: '0.
|
130
|
-
- - ">="
|
131
|
-
- !ruby/object:Gem::Version
|
132
|
-
version: 0.3.1
|
129
|
+
version: '0.4'
|
133
130
|
type: :development
|
134
131
|
prerelease: false
|
135
132
|
version_requirements: !ruby/object:Gem::Requirement
|
136
133
|
requirements:
|
137
134
|
- - "~>"
|
138
135
|
- !ruby/object:Gem::Version
|
139
|
-
version: '0.
|
140
|
-
- - ">="
|
141
|
-
- !ruby/object:Gem::Version
|
142
|
-
version: 0.3.1
|
136
|
+
version: '0.4'
|
143
137
|
description:
|
144
138
|
email:
|
145
139
|
executables: []
|
146
140
|
extensions: []
|
147
141
|
extra_rdoc_files: []
|
148
142
|
files:
|
143
|
+
- ".rspec"
|
144
|
+
- ".rubocop.yml"
|
145
|
+
- Gemfile
|
146
|
+
- app/assets/javascripts/aranha/application.js
|
147
|
+
- app/assets/stylesheets/aranha/application.css
|
148
|
+
- app/controllers/aranha/addresses_controller.rb
|
149
|
+
- app/controllers/aranha/processor_configurations_controller.rb
|
150
|
+
- app/controllers/aranha/start_points_controller.rb
|
151
|
+
- app/models/aranha/address.rb
|
152
|
+
- app/models/aranha/address/delayed_job.rb
|
153
|
+
- app/models/aranha/address/processor.rb
|
154
|
+
- app/models/aranha/address/scheduling.rb
|
155
|
+
- app/models/aranha/processor_configuration.rb
|
156
|
+
- app/models/aranha/start_point.rb
|
157
|
+
- config/initializers/aranha.rb
|
158
|
+
- config/locales/en.yml
|
159
|
+
- config/locales/pt-BR.yml
|
160
|
+
- config/routes.rb
|
161
|
+
- db/migrate/20171201021251_create_aranha_addresses.rb
|
162
|
+
- db/migrate/20181125042102_add_extra_data_to_aranha_addresses.rb
|
163
|
+
- db/migrate/20201128202212_create_aranha_start_points.rb
|
164
|
+
- db/migrate/20210720023620_add_delayed_job_to_aranha_addresses.rb
|
165
|
+
- db/migrate/20210721171416_add_tries_count_to_aranha_addresses.rb
|
166
|
+
- db/migrate/20210721185222_add_last_error_to_aranha_addresses.rb
|
167
|
+
- db/migrate/20210814220540_create_aranha_processor_configurations.rb
|
168
|
+
- db/migrate/20210815160543_add_enabled_to_aranha_processor_configurations.rb
|
149
169
|
- lib/aranha/rails.rb
|
150
170
|
- lib/aranha/rails/engine.rb
|
151
171
|
- lib/aranha/rails/fixtures_download.rb
|
@@ -154,6 +174,8 @@ files:
|
|
154
174
|
- lib/aranha/rails/process.rb
|
155
175
|
- lib/aranha/rails/version.rb
|
156
176
|
- lib/tasks/aranha.rake
|
177
|
+
- spec/rubocop_spec.rb
|
178
|
+
- spec/spec_helper.rb
|
157
179
|
homepage:
|
158
180
|
licenses: []
|
159
181
|
metadata: {}
|
@@ -176,4 +198,9 @@ rubygems_version: 3.1.6
|
|
176
198
|
signing_key:
|
177
199
|
specification_version: 4
|
178
200
|
summary: Put here de description.
|
179
|
-
test_files:
|
201
|
+
test_files:
|
202
|
+
- spec/rubocop_spec.rb
|
203
|
+
- spec/spec_helper.rb
|
204
|
+
- ".rspec"
|
205
|
+
- Gemfile
|
206
|
+
- ".rubocop.yml"
|