crawler-operator-core 0.1.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9376712dfef5be4e1897af2326b118f2f09aa851d28439a3f18fbb2a5e339a2d
4
- data.tar.gz: d6e9e3fda2eefd683826adc52d1a7a047ce82e7733328103ae4988ba2ebe54ba
3
+ metadata.gz: 583a75dd8a2e111c0c7b1879d2c4b8c340398d576ea0c453eb227ac64aeb222e
4
+ data.tar.gz: 1faf9d43cbcb8a8596eb25d44de55a9d749734bd429203290cdb97622e8b6708
5
5
  SHA512:
6
- metadata.gz: 73873e5f0a46133e9b9c08732b5f8a345b73af1bd51fbb3fc2e90f9ae3bafd2a54a13a22e7c1ac08e3e7e3a0d07338e74b0c4092b57bfaa4bca585caea8ea3db
7
- data.tar.gz: 9d84b12bb310d6c0361c0b212e8d3d7d999fec5a8f98550fedbf37a2b20b3dd2cd8dfa76588f567e019470f242a06bf7bf4d3898c7db1cede8f64782697b1966
6
+ metadata.gz: 20b7f292e8b83696683d56aeb1f7f1fc45808679551e92ec5d0445f264ffb466b0cec827874a5a2b60b636ed514aa12f68b1b867cd178862a798e8f0e6827e0c
7
+ data.tar.gz: 83fd42f04e2613d79fad4d86dcb58ec15e8529a70fbd790a8104b8170438ae1b5309e264c9efff9d5175e5f65d4b87992155bb9ca9639c6cc43fa729b5de2c03
data/.gitignore CHANGED
@@ -6,3 +6,5 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
+ .idea/
10
+ *.gem
@@ -28,6 +28,6 @@ Gem::Specification.new do |spec|
28
28
 
29
29
  spec.add_development_dependency 'bundler', '~> 1.17'
30
30
  spec.add_development_dependency 'rake', '~> 10.0'
31
- spec.add_runtime_dependency 'activesupport', '>= 3.0'
32
- spec.add_runtime_dependency 'crawler-core', '>= 0.2'
31
+ spec.add_runtime_dependency 'activesupport', '~> 3.0', '>= 3.0'
32
+ spec.add_runtime_dependency 'crawler-core', '~> 1.0', '>= 1.0', '< 2.0'
33
33
  end
@@ -1,6 +1,7 @@
1
1
  require 'active_support/core_ext/hash/keys'
2
2
  require 'active_support/inflector'
3
3
  require 'crawler/base'
4
+ require 'crawler/operator/configuration'
4
5
 
5
6
  module Crawler
6
7
  module Operator
@@ -15,14 +16,20 @@ module Crawler
15
16
  end
16
17
 
17
18
  def self.resolve(name, address)
18
- full_address = "#{address.dig(:street)}, #{address.dig(:zipcode)} #{address.dig(:city)}, #{address.dig(:country).upcase}"
19
+ full_address = "#{address.dig(:street)}, #{address.dig(:zipcode)} #{address.dig(:city)}, #{address.dig(:country)&.upcase}"
19
20
 
20
- PROVIDERS.find do |provider_name|
21
+ operator = PROVIDERS.reduce(nil) do |acc, provider_name|
21
22
  camelized = ActiveSupport::Inflector.camelize("crawler/operator/providers/#{provider_name.to_s}")
22
23
  klass = ActiveSupport::Inflector.constantize(camelized)
24
+ result = klass.resolve(name, full_address)
23
25
 
24
- klass.resolve(name, full_address)
26
+ break result if result
25
27
  end
28
+
29
+ return operator if operator
30
+ return unless default_provider
31
+
32
+ default_provider.resolve(name, full_address)
26
33
  end
27
34
  end
28
35
  end
@@ -0,0 +1,11 @@
1
+ require 'crawler/configuration'
2
+
3
+ module Crawler
4
+ module Operator
5
+ include Crawler::Configuration
6
+
7
+ class Configuration
8
+ attr_accessor :default_provider
9
+ end
10
+ end
11
+ end
@@ -1,7 +1,7 @@
1
1
  module Crawler
2
2
  module Operator
3
3
  module Core
4
- VERSION = '0.1.0'
4
+ VERSION = '1.0.1'
5
5
  end
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: crawler-operator-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan PHILIPPE
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-11-08 00:00:00.000000000 Z
11
+ date: 2020-11-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -42,6 +42,9 @@ dependencies:
42
42
  name: activesupport
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.0'
45
48
  - - ">="
46
49
  - !ruby/object:Gem::Version
47
50
  version: '3.0'
@@ -49,6 +52,9 @@ dependencies:
49
52
  prerelease: false
50
53
  version_requirements: !ruby/object:Gem::Requirement
51
54
  requirements:
55
+ - - "~>"
56
+ - !ruby/object:Gem::Version
57
+ version: '3.0'
52
58
  - - ">="
53
59
  - !ruby/object:Gem::Version
54
60
  version: '3.0'
@@ -56,16 +62,28 @@ dependencies:
56
62
  name: crawler-core
57
63
  requirement: !ruby/object:Gem::Requirement
58
64
  requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '1.0'
59
68
  - - ">="
60
69
  - !ruby/object:Gem::Version
61
- version: '0.2'
70
+ version: '1.0'
71
+ - - "<"
72
+ - !ruby/object:Gem::Version
73
+ version: '2.0'
62
74
  type: :runtime
63
75
  prerelease: false
64
76
  version_requirements: !ruby/object:Gem::Requirement
65
77
  requirements:
78
+ - - "~>"
79
+ - !ruby/object:Gem::Version
80
+ version: '1.0'
66
81
  - - ">="
67
82
  - !ruby/object:Gem::Version
68
- version: '0.2'
83
+ version: '1.0'
84
+ - - "<"
85
+ - !ruby/object:Gem::Version
86
+ version: '2.0'
69
87
  description: ''
70
88
  email:
71
89
  - jonathan@cinema.paris
@@ -76,7 +94,6 @@ files:
76
94
  - ".gitignore"
77
95
  - CHANGELOG.md
78
96
  - Gemfile
79
- - Gemfile.lock
80
97
  - LICENSE.txt
81
98
  - README.md
82
99
  - Rakefile
@@ -84,6 +101,7 @@ files:
84
101
  - bin/setup
85
102
  - crawler-operator-core.gemspec
86
103
  - lib/crawler/operator.rb
104
+ - lib/crawler/operator/configuration.rb
87
105
  - lib/crawler/operator/core/version.rb
88
106
  homepage: https://crawler.cinema.paris
89
107
  licenses:
@@ -1,37 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- crawler-movie-core (1.0.0)
5
- activesupport (>= 3.0)
6
- levenshtein-ffi (>= 1.0)
7
-
8
- GEM
9
- remote: https://rubygems.org/
10
- specs:
11
- activesupport (5.2.3)
12
- concurrent-ruby (~> 1.0, >= 1.0.2)
13
- i18n (>= 0.7, < 2)
14
- minitest (~> 5.1)
15
- tzinfo (~> 1.1)
16
- concurrent-ruby (1.1.5)
17
- ffi (1.11.1)
18
- i18n (1.6.0)
19
- concurrent-ruby (~> 1.0)
20
- levenshtein-ffi (1.1.0)
21
- ffi (~> 1.9)
22
- minitest (5.11.3)
23
- rake (10.5.0)
24
- thread_safe (0.3.6)
25
- tzinfo (1.2.5)
26
- thread_safe (~> 0.1)
27
-
28
- PLATFORMS
29
- ruby
30
-
31
- DEPENDENCIES
32
- bundler (~> 1.17)
33
- crawler-movie-core!
34
- rake (~> 10.0)
35
-
36
- BUNDLED WITH
37
- 1.17.2