acnh_informations 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/lib/acnh_informations/api.rb +40 -0
- data/lib/acnh_informations/tools.rb +26 -0
- data/lib/acnh_informations/version.rb +6 -0
- data/lib/acnh_informations.rb +11 -0
- metadata +53 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 1376f9d5370f4e616af22ece0333821840a47c36b4d0af66c91583a640b90d4f
|
4
|
+
data.tar.gz: cb84e7af63bbbe7365c90cf87ab013f936c4300c121e56ab474c1c1a6abc2434
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: e173270f17792509d0f426b44e3807067563c53c191f79f9f470ff260d51c84f82f388a97c80cd365328c3bf567b3b88ccf4d645870fe149f808799d7969ddb3
|
7
|
+
data.tar.gz: a39c65112399fbea6c2acea525a007875efa1aed040de713f55ddf9088481eddeed4cb8a1a0d38002e448b91da75c5ffe432c35dfb0656c7fa818ac0f94bac3f
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "rest-client"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module AcnhInformations
|
7
|
+
# Scrape informations from 'acnhapi' api
|
8
|
+
class Api
|
9
|
+
# The base URL to scrape
|
10
|
+
BASE_URL = "https://acnhapi.com"
|
11
|
+
# All available categories
|
12
|
+
CATEGORIES = %w[fish sea bugs fossils villagers icons images songs music art houseware].freeze
|
13
|
+
|
14
|
+
##
|
15
|
+
# Verify if the object exists
|
16
|
+
#
|
17
|
+
# @param [Symbol, StringIO] category The category to find the object
|
18
|
+
# @param id [Symbol, StringIO, NilClass] The id to get
|
19
|
+
# @return [Boolean] True or False, if the wanted research exists
|
20
|
+
def self.valid?(category, id = nil)
|
21
|
+
RestClient.get("#{BASE_URL}/v1/#{category.to_s}/#{id ? id.to_s.ascii_only? ? id.to_s : "" : ""}")
|
22
|
+
true
|
23
|
+
rescue RestClient::NotFound
|
24
|
+
false
|
25
|
+
end
|
26
|
+
|
27
|
+
##
|
28
|
+
# Scrape informations from API
|
29
|
+
#
|
30
|
+
# @param [Symbol, StringIO] category The category to find the object
|
31
|
+
# @param id [Symbol, StringIO, NilClass] The id to get
|
32
|
+
# @return [Object] The result as a Hash
|
33
|
+
# @see Api#valid?
|
34
|
+
def self.scrape(category, id = nil)
|
35
|
+
return false unless valid?(category, id)
|
36
|
+
|
37
|
+
JSON.parse(RestClient.get("#{BASE_URL}/v1/#{category.to_s}/#{id ? id.to_s : ""}"), :symbolize_names => true)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "api" unless defined?(AcnhInformations::API)
|
4
|
+
|
5
|
+
module AcnhInformations
|
6
|
+
# Some tools for the project
|
7
|
+
class Api
|
8
|
+
##
|
9
|
+
# Get a thing by an approximative name
|
10
|
+
# @param [String] category The category to get the object
|
11
|
+
# @param [String] name the approximative name
|
12
|
+
# @return [Hash, Boolean] False if the program didn't find anything, or the thing hash
|
13
|
+
def self.get_by_name(category, name)
|
14
|
+
result = false
|
15
|
+
return false unless valid?(category.to_s)
|
16
|
+
|
17
|
+
scrape(category.to_s).each do |element|
|
18
|
+
element[1][:name].each_value do |language_name|
|
19
|
+
result = element[1] if language_name.match(/#{name.to_s}/)
|
20
|
+
break if result
|
21
|
+
end
|
22
|
+
end
|
23
|
+
result
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
metadata
ADDED
@@ -0,0 +1,53 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: acnh_informations
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.2
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- senchuu
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2021-06-15 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description: 'Get things informations from Animal Crossing New Horizons using https://acnhapi.com/.
|
14
|
+
Warning: That doesn''t get informations from players. Only included things.'
|
15
|
+
email:
|
16
|
+
- senchuuuu@gmail.com
|
17
|
+
executables: []
|
18
|
+
extensions: []
|
19
|
+
extra_rdoc_files: []
|
20
|
+
files:
|
21
|
+
- lib/acnh_informations.rb
|
22
|
+
- lib/acnh_informations/api.rb
|
23
|
+
- lib/acnh_informations/tools.rb
|
24
|
+
- lib/acnh_informations/version.rb
|
25
|
+
homepage: https://github.com/Senchuu/AcnhInformations
|
26
|
+
licenses:
|
27
|
+
- MIT
|
28
|
+
metadata:
|
29
|
+
allowed_push_host: https://rubygems.org/
|
30
|
+
homepage_uri: https://github.com/Senchuu/AcnhInformations
|
31
|
+
source_code_uri: https://github.com/Senchuu/AcnhInformations
|
32
|
+
changelog_uri: https://github.com/Senchuu/AcnhInformations
|
33
|
+
post_install_message:
|
34
|
+
rdoc_options: []
|
35
|
+
require_paths:
|
36
|
+
- lib
|
37
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - ">="
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '2.5'
|
42
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '0'
|
47
|
+
requirements: []
|
48
|
+
rubygems_version: 3.2.20
|
49
|
+
signing_key:
|
50
|
+
specification_version: 4
|
51
|
+
summary: Get fish, fossiles, villagers [...] informations from Animal Crossing New
|
52
|
+
Horizons
|
53
|
+
test_files: []
|