swgem 0.0.1 → 0.1.0

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
  SHA1:
3
- metadata.gz: 8d0e65a213331d4dff7f82c04a8045519730a46e
4
- data.tar.gz: 6b950b116011f79f5c167d5a61867ab3b99f8f16
3
+ metadata.gz: ea5b0c2f2eeea2007bb9edb0766f5adc95c9bee2
4
+ data.tar.gz: f29d9ad77ff6bd5468994fb29f6dbedbe9a36c26
5
5
  SHA512:
6
- metadata.gz: 67aee6b6b66b20af689fb8efe9e9f185a33d3ce05d11cb798088e2b71bf3f07b6e0c03cdb97398c7384b280f709848cb3f479f0fa549d35fce81b93ec4045920
7
- data.tar.gz: c292021903cf2f44122740b639e8850efa9cf920eb44b2fa16b933153abe8a713cfaefabc99ef9fde626918584cb80378591a72deb9a88362eff88091b26786e
6
+ metadata.gz: eb093bb4191a51a3d922c84f190b74ee22b3dfd374ba04211f26d0d799f543d41325a0599f969503b1c02f63738e6f291ac077d0f2717550d5d2dba03c72e8d8
7
+ data.tar.gz: 32a178fdfb74a521d010dcd35df56705404aa2ee37c548a26c152dd643367de19b8bb41efd36b44a732def7f9485e70164885378a6b12df506bd3ef632b39a90
@@ -1,18 +1,44 @@
1
- class SWGEM
2
- def self.hi(language = "english")
3
- translator = Translator.new(language)
4
- translator.hi
5
- end
1
+ require 'faraday'
2
+ require 'json'
6
3
 
7
- def self.api_status
8
- V1.new.validate_api_status
9
- end
4
+ module SWGEM
5
+ class Base
6
+
7
+ BASE_URL = 'http://swapi.co/api/'
10
8
 
11
- def self.films
12
- V1.new.films
9
+ def initialize
10
+ @conn = Faraday.new(:url => BASE_URL) do |faraday|
11
+ faraday.request :url_encoded
12
+ faraday.adapter Faraday.default_adapter
13
13
  end
14
+ end
15
+
16
+ def all
17
+ (JSON.parse((conn.get "#{class_name}/").body))["results"]
18
+ end
19
+
20
+ def by_id(id)
21
+ JSON.parse((conn.get "#{class_name}/#{id}/").body)
22
+ end
23
+
24
+ def class_name
25
+ self.class.name.split("::")[1].downcase
26
+ end
27
+
28
+ def validate_api_status
29
+ (conn.get "#{class_name}/").status
30
+ end
31
+
32
+ private
33
+
34
+ attr_reader :conn
14
35
 
36
+ end
15
37
  end
16
38
 
17
- require 'swgem/translator'
18
- require 'swgem/v1'
39
+ require "swgem/people"
40
+ require "swgem/films"
41
+ require "swgem/planets"
42
+ require "swgem/starships"
43
+ require "swgem/vehicles"
44
+ require "swgem/species"
@@ -0,0 +1,5 @@
1
+ module SWGEM
2
+ class Films < Base
3
+
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ module SWGEM
2
+ class People < Base
3
+
4
+ end
5
+ end
@@ -0,0 +1,4 @@
1
+ module SWGEM
2
+ class Planets < Base
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module SWGEM
2
+ class Species < Base
3
+ end
4
+ end
@@ -0,0 +1,5 @@
1
+ module SWGEM
2
+ class Starships < Base
3
+
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ module SWGEM
2
+ class Vehicles < Base
3
+
4
+ end
5
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: swgem
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Igor Souza
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.8'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.4'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.4'
41
55
  description: This is a wrapper from http://swapi.co
42
56
  email: igordcsouza@gmail.com
43
57
  executables: []
@@ -45,8 +59,12 @@ extensions: []
45
59
  extra_rdoc_files: []
46
60
  files:
47
61
  - lib/swgem.rb
48
- - lib/swgem/translator.rb
49
- - lib/swgem/v1.rb
62
+ - lib/swgem/films.rb
63
+ - lib/swgem/people.rb
64
+ - lib/swgem/planets.rb
65
+ - lib/swgem/species.rb
66
+ - lib/swgem/starships.rb
67
+ - lib/swgem/vehicles.rb
50
68
  homepage: http://rubygems.org/gems/swgem
51
69
  licenses:
52
70
  - MIT
@@ -1,14 +0,0 @@
1
- class SWGEM::Translator
2
- def initialize(language)
3
- @language = language
4
- end
5
-
6
- def hi
7
- case @language
8
- when "portuguese"
9
- "Eu gosto de star wars I,II,III! #tretaFoiPlantada"
10
- else
11
- "I like, star wars I, II, III! #tretaHasBeanPlanted"
12
- end
13
- end
14
- end
@@ -1,22 +0,0 @@
1
- require 'faraday'
2
- require 'json'
3
-
4
- class SWGEM::V1
5
- BASE_URL = 'http://swapi.co/api/'
6
-
7
- def initialize
8
- @conn = Faraday.new(:url => BASE_URL) do |faraday|
9
- faraday.request :url_encoded # form-encode POST params
10
- faraday.adapter Faraday.default_adapter # make requests with Net::HTTP
11
- end
12
- end
13
-
14
- def validate_api_status
15
- @conn.get.status
16
- end
17
-
18
- def films(options = {})
19
- JSON.parse((@conn.get "films/#{options[:id]}", { page: (options[:page] || 1) }).body)
20
- end
21
-
22
- end