ygoprodeck 1.0.6 → 1.0.9

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: 65e1a83a313bf96bf2f0fb16903e27702a264e280a62e80c13e7c9ff945a84d0
4
- data.tar.gz: aadbb1e8774beb238b0d538d72cf700a129080bd99541f70eb466b563c4f55b6
3
+ metadata.gz: 739b3a61061472446603384e83f9d1fb4fe1211b37d5f54e18e5b9f4e217167d
4
+ data.tar.gz: f031cbac41a7d99021303ebb25565b6ab86dd09cf7502b2d8cbe1754a09cef62
5
5
  SHA512:
6
- metadata.gz: 531e2861df7e647c64efeb8dfc6eac4c9e34cd90a9b6fc2773e2c5219eb7a55c477e50c81e4174e7e972b259d143bde074ebc311984a77f134d3468348f8f6b3
7
- data.tar.gz: 1fc2c092a8b37df4d7de5430fb00409b6c41af9e9c27828de90db7ae1ad763b5b67dc4f89274fa5a374afce667934fa289d774a19bf875fc9ed4eb3e9b96d873
6
+ metadata.gz: b36e0b2d8a72e623d51a805c445835cce78490b4e241b713847c5d06749691ddd2300d5326b71150b270e58e55302d727316bb88cfab76dc8b13175222d1e096
7
+ data.tar.gz: 39c2ed2c668be13885260d342379be8f4641f5f379564980b777f60cb23d1fc20b53272b46a4c452d3e4d2e37c19f69027bcb02a4452ae9778894d8765edbc3e
@@ -0,0 +1,29 @@
1
+ name: Ruby Gem CI
2
+
3
+ on:
4
+ push:
5
+ branches: [master]
6
+ pull_request:
7
+
8
+ jobs:
9
+ test:
10
+ runs-on: ubuntu-latest
11
+
12
+ strategy:
13
+ matrix:
14
+ ruby-version: [3.3]
15
+
16
+ steps:
17
+ - uses: actions/checkout@v4
18
+
19
+ - name: Set up Ruby
20
+ uses: ruby/setup-ruby@v1
21
+ with:
22
+ ruby-version: ${{ matrix.ruby-version }}
23
+ bundler-cache: false
24
+
25
+ - name: Install bundler and run tests
26
+ run: |
27
+ gem install bundler -v 2.5.23
28
+ bundle _2.5.23_ install
29
+ bundle _2.5.23_ exec rspec --format documentation
data/.gitignore CHANGED
@@ -6,9 +6,7 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
-
10
- # rspec failure tracking
9
+ node_modules
11
10
  .rspec_status
12
-
13
- # update ignore
14
11
  Gemfile.lock
12
+ package-lock.json
data/.prettierrc ADDED
@@ -0,0 +1,7 @@
1
+ {
2
+ "plugins": ["@prettier/plugin-ruby"],
3
+ "rubyStrictMode": false,
4
+ "tabWidth": 2,
5
+ "useTabs": false,
6
+ "singleQuote": true
7
+ }
data/README.md CHANGED
@@ -1,9 +1,9 @@
1
1
  # Ygoprodeck
2
2
 
3
3
  ![Lang](https://img.shields.io/badge/language-ruby-red)
4
- [![Gem](https://img.shields.io/gem/v/ygoprodeck.svg)](https://rubygems.org/gems/ygoprodeck)
5
- [![Gem](https://img.shields.io/gem/dt/ygoprodeck.svg)](https://rubygems.org/gems/ygoprodeck)
6
- [![Build Status](https://travis-ci.com/rokhimin/ygoprodeck.svg?branch=master)](https://travis-ci.com/rokhimin/ygoprodeck)
4
+ [![Gem Version](https://img.shields.io/gem/v/ygoprodeck.svg)](https://rubygems.org/gems/ygoprodeck)
5
+ [![Gem Downloads](https://img.shields.io/gem/dt/ygoprodeck.svg)](https://rubygems.org/gems/ygoprodeck)
6
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
7
7
 
8
8
  API wrapper for search yugioh card
9
9
 
@@ -24,34 +24,45 @@ Or install it yourself as:
24
24
  $ gem install ygoprodeck
25
25
 
26
26
  ## Usage
27
- First :
27
+
28
28
  ```ruby
29
29
  require 'ygoprodeck'
30
30
  ```
31
31
 
32
- Fuzzy search : (RECOMMENDED)
32
+
33
+ Search card by id :
33
34
  ```ruby
34
- Ygoprodeck::Fname.is(name card)
35
+ Ygoprodeck::ID.is(*id)
35
36
  ```
36
37
 
37
- Normal search :
38
+ Search card by name :
38
39
  ```ruby
39
- Ygoprodeck::Name.is(name card)
40
+ Ygoprodeck::Name.is(*name)
40
41
  ```
41
42
 
42
- Random search :
43
+ search card by name (use method fuzzy) :
43
44
  ```ruby
44
- Ygoprodeck::Card.random
45
+ Ygoprodeck::Fname.is(*name)
46
+ ```
47
+
48
+ Search list card by name:
49
+ ```ruby
50
+ Ygoprodeck::List.is(*name)
51
+ ```
52
+
53
+ Search Archtype by name:
54
+ ```ruby
55
+ Ygoprodeck::Archetype.is(*name)
45
56
  ```
46
57
 
47
- List search :
58
+ Matching card by name :
48
59
  ```ruby
49
- Ygoprodeck::List.is(name card)
60
+ Ygoprodeck::Match.is(*name)
50
61
  ```
51
62
 
52
- Archetype search :
63
+ Random card :
53
64
  ```ruby
54
- Ygoprodeck::Archetype.is(name archetype)
65
+ Ygoprodeck::Card.random
55
66
  ```
56
67
 
57
68
  All card sets :
@@ -71,7 +82,19 @@ Check Database Version :
71
82
  Ygoprodeck::CheckDbVer.info
72
83
  ```
73
84
 
74
- or look [examples](https://github.com/rokhimin/ygoprodeck/blob/master/examples)
85
+ Get Full Image :
86
+ ```ruby
87
+ yugi = Ygoprodeck::Fname.is(*name)
88
+ Ygoprodeck::Image.is(yugi['id'])
89
+ ```
90
+
91
+ Get Cropped Image :
92
+ ```ruby
93
+ yugi = Ygoprodeck::Fname.is(*name)
94
+ Ygoprodeck::Image_small.is(yugi['id'])
95
+ ```
96
+
97
+ or look [examples](https://github.com/whdzera/ygoprodeck/blob/master/examples)
75
98
 
76
99
  #### Noted
77
100
  Rate Limiting on the API is enabled. The rate limit is 20 requests per 1 second
@@ -110,14 +133,14 @@ Rate Limiting on the API is enabled. The rate limit is 20 requests per 1 second
110
133
 
111
134
  #### Unit Test
112
135
  ```
113
- rspec
136
+ rake spec
114
137
  ```
115
138
 
116
139
  ## Contributing
117
- Fork and Pull Request to contibuting https://github.com/rokhimin/ygoprodeck .
140
+ Fork and Pull Request to contibuting https://github.com/whdzera/ygoprodeck .
118
141
 
119
142
  ## License
120
143
  The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
121
144
 
122
145
  ## Code of Conduct
123
- Everyone interacting in the Ygoprodeck project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/rokhimin/ygoprodeck/blob/master/CODE_OF_CONDUCT.md).
146
+ Everyone interacting in the Ygoprodeck project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/whdzera/ygoprodeck/blob/master/CODE_OF_CONDUCT.md).
data/Rakefile CHANGED
@@ -2,7 +2,8 @@ require "bundler/gem_tasks"
2
2
  require "rspec/core/rake_task"
3
3
 
4
4
  RSpec::Core::RakeTask.new(:spec) do |t|
5
- t.pattern = 'spec/**/*_spec.rb'
5
+ t.pattern = "spec/**/*_spec.rb"
6
+ t.rspec_opts = "--format documentation"
6
7
  end
7
8
 
8
9
  task default: :spec
@@ -1,23 +1,23 @@
1
- require 'ygoprodeck'
1
+ require "ygoprodeck"
2
2
 
3
3
  # kaiba is example, you free to change card name
4
- kaiba = Ygoprodeck::Archetype.is('blue-eyes') # example I wanna search 'blue-eyes' archetype
4
+ kaiba = Ygoprodeck::Archetype.is("blue-eyes") # example I wanna search 'blue-eyes' archetype
5
+
6
+ # make for looping for listing archetype
7
+ kaiba_listing = [] # save listing here
8
+ count = 50 # count max listing . example 50
9
+ num_default = 0 # number default
10
+
11
+ # looping logic
12
+ for logic_search in 1..50
13
+ if kaiba[num_default] == nil
14
+ else
15
+ kaiba_listing << kaiba[num_default]["name"]
16
+ num_default += 1
17
+ count -= 1
18
+ end
19
+ end
5
20
 
6
- # make for looping for listing archetype
7
- kaiba_listing = [] # save listing here
8
- count = 50 # count max listing . example 50
9
- num_default = 0 # number default
10
-
11
- # looping logic
12
- for logic_search in 1..50 do
13
- if kaiba[num_default] == nil
14
- else
15
- kaiba_listing << kaiba[num_default]["name"]
16
- num_default += 1
17
- count -= 1
18
- end
19
- end
20
-
21
21
  puts "#{kaiba_listing.length} card matches for blue-eyes archetype" #length blue-eyes archetype
22
- puts "#" *30
23
- puts "#{kaiba_listing.join(" \n")}" # each listing
22
+ puts "#" * 30
23
+ puts "#{kaiba_listing.join(" \n")}" # each listing
data/examples/banlist.rb CHANGED
@@ -1,5 +1,5 @@
1
- require 'ygoprodeck'
1
+ require "ygoprodeck"
2
2
 
3
3
  puts Ygoprodeck::Banlist.tcg
4
4
  #puts Ygoprodeck::Banlist.ocg
5
- #puts Ygoprodeck::Banlist.goat
5
+ #puts Ygoprodeck::Banlist.goat
data/examples/check_db.rb CHANGED
@@ -1,3 +1,3 @@
1
- require 'ygoprodeck'
1
+ require "ygoprodeck"
2
2
 
3
- puts Ygoprodeck::CheckDbVer.info
3
+ puts Ygoprodeck::CheckDbVer.info
data/examples/id.rb ADDED
@@ -0,0 +1,25 @@
1
+ require "ygoprodeck"
2
+
3
+ yugi = Ygoprodeck::ID.is("46986414")
4
+
5
+ case
6
+ when yugi == nil
7
+ puts "Card not found"
8
+ else
9
+ puts yugi # => get all information of dark magician (name,id,level,attr,atk,def,etc)
10
+
11
+ puts "#" * 10
12
+
13
+ # => get specific information of dark magician
14
+ puts yugi["id"]
15
+ puts yugi["name"]
16
+ puts yugi["attribute"]
17
+ puts yugi["type"]
18
+ puts yugi["race"]
19
+ puts yugi["level"]
20
+ puts yugi["desc"]
21
+ puts yugi["atk"]
22
+ puts yugi["def"]
23
+ puts Ygoprodeck::Image.is(yugi["id"]) # => use id from yugi['id'] to get dark magician image
24
+ puts Ygoprodeck::Image_small.is(yugi["id"]) # => small version
25
+ end
data/examples/match.rb ADDED
@@ -0,0 +1,6 @@
1
+ require 'ygoprodeck'
2
+
3
+ yugi = Ygoprodeck::Match.is('bardiche')
4
+
5
+ puts yugi
6
+
data/examples/random.rb CHANGED
@@ -1,18 +1,18 @@
1
- require 'ygoprodeck'
1
+ require "ygoprodeck"
2
2
 
3
3
  yugi = Ygoprodeck::Card.random
4
- puts yugi
4
+ puts yugi
5
5
 
6
- puts '#' *10
6
+ puts "#" * 10
7
7
 
8
- puts yugi['id']
9
- puts yugi['name']
10
- puts yugi['attribute']
11
- puts yugi['type']
12
- puts yugi['race']
13
- puts yugi['level']
14
- puts yugi['desc']
15
- puts yugi['atk']
16
- puts yugi['def']
17
- puts Ygoprodeck::Image.is(yugi['id'])
18
- puts Ygoprodeck::Image_small.is(yugi['id'])
8
+ puts yugi["id"]
9
+ puts yugi["name"]
10
+ puts yugi["attribute"]
11
+ puts yugi["type"]
12
+ puts yugi["race"]
13
+ puts yugi["level"]
14
+ puts yugi["desc"]
15
+ puts yugi["atk"]
16
+ puts yugi["def"]
17
+ puts Ygoprodeck::Image.is(yugi["id"])
18
+ puts Ygoprodeck::Image_small.is(yugi["id"])
data/examples/search.rb CHANGED
@@ -1,27 +1,26 @@
1
- require 'ygoprodeck'
1
+ require "ygoprodeck"
2
2
 
3
3
  # yugi is example, you free to change name card
4
- yugi = Ygoprodeck::Name.is('dark magician') # example I wanna search 'dark magician' using fuzzy search
4
+ yugi = Ygoprodeck::Name.is("dark magician") # example I wanna search 'dark magician' using fuzzy search
5
5
 
6
6
  case
7
- when yugi == nil
8
- puts "Card not found"
9
- else
10
- puts yugi # => get all information of dark magician (name,id,level,attr,atk,def,etc)
7
+ when yugi == nil
8
+ puts "Card not found"
9
+ else
10
+ puts yugi # => get all information of dark magician (name,id,level,attr,atk,def,etc)
11
11
 
12
- puts '#' *10
12
+ puts "#" * 10
13
13
 
14
-
15
- # => get specific information of dark magician
16
- puts yugi['id']
17
- puts yugi['name']
18
- puts yugi['attribute']
19
- puts yugi['type']
20
- puts yugi['race']
21
- puts yugi['level']
22
- puts yugi['desc']
23
- puts yugi['atk']
24
- puts yugi['def']
25
- puts Ygoprodeck::Image.is(yugi['id']) # => use id from yugi['id'] to get dark magician image
26
- puts Ygoprodeck::Image_small.is(yugi['id']) # => small version
14
+ # => get specific information of dark magician
15
+ puts yugi["id"]
16
+ puts yugi["name"]
17
+ puts yugi["attribute"]
18
+ puts yugi["type"]
19
+ puts yugi["race"]
20
+ puts yugi["level"]
21
+ puts yugi["desc"]
22
+ puts yugi["atk"]
23
+ puts yugi["def"]
24
+ puts Ygoprodeck::Image.is(yugi["id"]) # => use id from yugi['id'] to get dark magician image
25
+ puts Ygoprodeck::Image_small.is(yugi["id"]) # => small version
27
26
  end
@@ -1,27 +1,26 @@
1
- require 'ygoprodeck'
1
+ require "ygoprodeck"
2
2
 
3
3
  # yugi is example, you free to change name card
4
- yugi = Ygoprodeck::Fname.is('dark magician') # example I wanna search 'dark magician' using fuzzy search
4
+ yugi = Ygoprodeck::Fname.is("dark magician") # example I wanna search 'dark magician' using fuzzy search
5
5
 
6
6
  case
7
- when yugi == nil
8
- puts "Card not found"
9
- else
10
- puts yugi # => get all information of dark magician (name,id,level,attr,atk,def,etc)
7
+ when yugi == nil
8
+ puts "Card not found"
9
+ else
10
+ puts yugi # => get all information of dark magician (name,id,level,attr,atk,def,etc)
11
11
 
12
- puts '#' *10
12
+ puts "#" * 10
13
13
 
14
-
15
- # => get specific information of dark magician
16
- puts yugi['id']
17
- puts yugi['name']
18
- puts yugi['attribute']
19
- puts yugi['type']
20
- puts yugi['race']
21
- puts yugi['level']
22
- puts yugi['desc']
23
- puts yugi['atk']
24
- puts yugi['def']
25
- puts Ygoprodeck::Image.is(yugi['id']) # => use id from yugi['id'] to get dark magician image
26
- puts Ygoprodeck::Image_small.is(yugi['id']) # => small version
14
+ # => get specific information of dark magician
15
+ puts yugi["id"]
16
+ puts yugi["name"]
17
+ puts yugi["attribute"]
18
+ puts yugi["type"]
19
+ puts yugi["race"]
20
+ puts yugi["level"]
21
+ puts yugi["desc"]
22
+ puts yugi["atk"]
23
+ puts yugi["def"]
24
+ puts Ygoprodeck::Image.is(yugi["id"]) # => use id from yugi['id'] to get dark magician image
25
+ puts Ygoprodeck::Image_small.is(yugi["id"]) # => small version
27
26
  end
data/examples/set.rb CHANGED
@@ -1,3 +1,3 @@
1
- require 'ygoprodeck'
1
+ require "ygoprodeck"
2
2
 
3
- puts Ygoprodeck::Card.sets
3
+ puts Ygoprodeck::Card.sets
@@ -1,28 +1,30 @@
1
1
  module Ygoprodeck
2
2
  class Archetype
3
3
  attr_reader :archetype
4
-
4
+
5
5
  def self.is(archetype)
6
- url = "#{Ygoprodeck::Endpoint.is}cardinfo.php?archetype=#{URI.encode_www_form_component(archetype)}"
6
+ url =
7
+ "#{Ygoprodeck::Endpoint.is}cardinfo.php?archetype=#{URI.encode_www_form_component(archetype)}"
7
8
  uri = URI(url)
8
-
9
+
9
10
  begin
10
11
  response = Net::HTTP.get(uri)
11
12
  load = JSON.parse(response)
12
-
13
- if load['data'].nil? || load['data'].empty?
14
- { 'error' => 'No card matching your query was found in the database.' }
13
+
14
+ if load["data"].nil? || load["data"].empty?
15
+ {
16
+ "error" => "No card matching your query was found in the database."
17
+ }
15
18
  else
16
- load['data']
19
+ load["data"]
17
20
  end
18
-
19
21
  rescue JSON::ParserError => e
20
- { 'error' => 'Failed to parse JSON response' }
22
+ { "error" => "Failed to parse JSON response" }
21
23
  rescue SocketError => e
22
- { 'error' => 'Network connection error' }
24
+ { "error" => "Network connection error" }
23
25
  rescue StandardError => e
24
- { 'error' => "An unexpected error occurred: #{e.message}" }
26
+ { "error" => "An unexpected error occurred: #{e.message}" }
25
27
  end
26
28
  end
27
29
  end
28
- end
30
+ end