the_whos 0.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.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/the_whos.rb +103 -0
  3. metadata +47 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: bfd529a33d973fde62db77abf0268dd2168fb99e86e00364b56869d5e86821a9
4
+ data.tar.gz: 45a925750f8a4913309891ae0489a71f2c7cdd416a32c2f59cbba607315ef2e7
5
+ SHA512:
6
+ metadata.gz: 4b690a81feac634e293fc0c64bfe104d5cc73f254d374f656b2e916e27c1ad7767ef5e1edcdf30d8269eae87fd7e72035ec91bcd05e68811a0699b281245d0fe
7
+ data.tar.gz: 26c4c100e45b80b5ee44db7c204251c6be4069e9cb69d565ad2e0a71ad382b969138f7fd526806824d7f3289327c54ed5e4f9241f4f46478b93e11838bb146d7
data/lib/the_whos.rb ADDED
@@ -0,0 +1,103 @@
1
+ require_relative 'title'
2
+ require_relative 'actor'
3
+
4
+ class TheWhos
5
+ @key_imdb = ARGV[0]
6
+
7
+ def self.create(id)
8
+ if id.chr == 't'
9
+ return Title.new(id)
10
+ elsif id.chr == 'n'
11
+ return Actor.new(id)
12
+ else
13
+ return 'Error'
14
+ end
15
+ end
16
+
17
+ def self.search_title(expression)
18
+ expression = expression.gsub(' ', '@')
19
+ url = "https://imdb-api.com/en/API/SearchTitle/#{@key_imdb}/#{expression}"
20
+ response = RestClient.get url
21
+ r_json = JSON.parse response.to_str
22
+ arr_search = r_json['results'].to_a
23
+ results = Array.new
24
+ arr_search.size.times do |i|
25
+ results << {id: "#{arr_search[i]['id']}", title: "#{arr_search[i]['title']}"}
26
+ end
27
+ return results
28
+ end
29
+
30
+ def self.search_actor(expression)
31
+ expression = expression.gsub(' ', '@')
32
+ url = "https://imdb-api.com/en/API/SearchName/#{@key_imdb}/#{expression}"
33
+ response = RestClient.get url
34
+ r_json = JSON.parse response.to_str
35
+ arr_search = r_json['results'].to_a
36
+ results = Array.new
37
+ arr_search.size.times do |i|
38
+ results << {id: "#{arr_search[i]['id']}", title: "#{arr_search[i]['title']}"}
39
+ end
40
+ return results
41
+ end
42
+
43
+ def self.match_title(title_a, title_b)
44
+ if title_a.class == String
45
+ title_a = Title.new(title_a)
46
+ end
47
+ if title_b.class == String
48
+ title_b = Title.new(title_b)
49
+ end
50
+ match = Array.new
51
+ title_a.fullcast.each do |actor_a|
52
+ title_b.fullcast.each do |actor_b|
53
+ if actor_a[:id] == actor_b[:id]
54
+ match << "#{actor_a[:actor].to_s} (#{actor_a[:id]})"
55
+ end
56
+ end
57
+ end
58
+ if match.empty? == true
59
+ return 'Not Match'
60
+ else
61
+ return match
62
+ end
63
+ end
64
+
65
+ def self.match_actor(actor_a, actor_b)
66
+ if actor_a.class == String
67
+ actor_a = Actor.new(actor_a)
68
+ end
69
+ if actor_b.class == String
70
+ actor_b = Actor.new(actor_b)
71
+ end
72
+ match = Array.new
73
+ actor_a.cast.each do |title_a|
74
+ actor_b.cast.each do |title_b|
75
+ if title_a[:id] == title_b[:id]
76
+ match << "#{title_a[:title]} (#{title_a[:id]})"
77
+ end
78
+ end
79
+ end
80
+ if match.empty? == true
81
+ return 'Not Match'
82
+ else
83
+ return match
84
+ end
85
+ end
86
+
87
+ def self.who(title, actor)
88
+ if title.class == String
89
+ title = Title.new(title)
90
+ end
91
+ if actor.class == String
92
+ actor = Actor.new(actor)
93
+ end
94
+ title.fullcast.each do |cast|
95
+ if cast[:id] == actor.id
96
+ return cast[:character]
97
+ end
98
+ end
99
+ return 'not appear'
100
+ end
101
+
102
+
103
+ end
metadata ADDED
@@ -0,0 +1,47 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: the_whos
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Ramiro Eloisa
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2022-05-23 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: |-
14
+ Trabaja con los ID de IMDB para devolver en forma de array informacion como:
15
+ - los actores en una película y su sinopsis
16
+ - las películas de un actor
17
+ -las coincidencia entre pellicas y entre actores.
18
+ email: ram.eloisalg@egmail.com
19
+ executables: []
20
+ extensions: []
21
+ extra_rdoc_files: []
22
+ files:
23
+ - lib/the_whos.rb
24
+ homepage:
25
+ licenses:
26
+ - MIT
27
+ metadata: {}
28
+ post_install_message:
29
+ rdoc_options: []
30
+ require_paths:
31
+ - lib
32
+ required_ruby_version: !ruby/object:Gem::Requirement
33
+ requirements:
34
+ - - ">="
35
+ - !ruby/object:Gem::Version
36
+ version: '0'
37
+ required_rubygems_version: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ requirements: []
43
+ rubygems_version: 3.1.6
44
+ signing_key:
45
+ specification_version: 4
46
+ summary: Realiza consultas Api IMDB
47
+ test_files: []