crawler-operator-core 0.1.0 → 1.0.1

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 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