rs_api-ruby 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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: db5909b7855236683b6e6b55db6e2ac617bba9b2
4
+ data.tar.gz: d467db3018afb249e6cc899248152d1b7fa5ee1a
5
+ SHA512:
6
+ metadata.gz: 409cda9c3f12e11239e513755a9af91eee1323e108958b5e4939946d4dec8fb2cbe33bfab8f28a90dcd92c37a247e5adc4e4cc9dea91991bf9f1336de24edf93
7
+ data.tar.gz: 56e4173b8a8a1df3314c573411b56c2f1cf1ab262bc4ec9cedee63d78bc1082086ad19f8e2c49fa6b8a51bb85245a18d9530897279b144e77b197c202d3e2379
@@ -0,0 +1,13 @@
1
+ class RS_API
2
+ def initialize
3
+ puts "RS_API Initialized."
4
+ end
5
+
6
+ require 'open-uri'
7
+ require 'json'
8
+ require "rs_api-ruby/player"
9
+ require "rs_api-ruby/highscores"
10
+ require "rs_api-ruby/grandexchange"
11
+ require "rs_api-ruby/beastiary"
12
+ require "rs_api-ruby/utilities"
13
+ end
@@ -0,0 +1,65 @@
1
+ class Beastiary
2
+
3
+ class Search
4
+ def self.byName(name)
5
+ jsonRequest = open(Utils.baseURI + 'itemdb_rs/bestiary/beastSearch.json?term=' + name.to_s).read
6
+ return JSON.parse(jsonRequest)
7
+ end
8
+
9
+ def self.byID(id)
10
+ uri = Utils.baseURI + 'itemdb_rs/bestiary/beastData.json?beastid=' + id.to_s
11
+ jsonRequest = open(uri).read
12
+ jsonRequest = jsonRequest.gsub("", "")
13
+ return JSON.parse(jsonRequest)
14
+ end
15
+
16
+ def self.byLetter(letter)
17
+ jsonRequest = open(Utils.baseURI + 'itemdb_rs/bestiary/bestiaryNames.json?letter=' + letter.to_s).read
18
+ return JSON.parse(jsonRequest)
19
+ end
20
+ end
21
+
22
+ class ByArea
23
+ def self.getNames
24
+ jsonRequest = open(Utils.baseURI + 'itemdb_rs/bestiary/bestiary/areaNames.json').read
25
+ return JSON.parse(jsonRequest)
26
+ end
27
+
28
+ def self.getBeasts(identifier)
29
+ jsonRequest = open(Utils.baseURI + 'itemdb_rs/bestiary/areaBeasts.json?identifier=' + identifier.to_s).read
30
+ return JSON.parse(jsonRequest)
31
+ end
32
+ end
33
+
34
+ class BySlayerCategory
35
+ def self.getNames
36
+ jsonRequest = open(Utils.baseURI + 'itemdb_rs/bestiary/bestiary/slayerCatNames.json').read
37
+ return JSON.parse(jsonRequest)
38
+ end
39
+
40
+ def self.getBeasts(identifier)
41
+ jsonRequest = open(Utils.baseURI + 'itemdb_rs/bestiary/slayerBeasts.json?identifier=' + identifier.to_s).read
42
+ return JSON.parse(jsonRequest)
43
+ end
44
+ end
45
+
46
+ class ByWeakness
47
+ def self.getNames
48
+ jsonRequest = open(Utils.baseURI + 'itemdb_rs/bestiary/bestiary/weaknessNames.json').read
49
+ return JSON.parse(jsonRequest)
50
+ end
51
+
52
+ def self.getBeasts(identifier)
53
+ jsonRequest = open(Utils.baseURI + 'itemdb_rs/bestiary/weaknessBeasts.json?identifier=' + identifier.to_s).read
54
+ return JSON.parse(jsonRequest)
55
+ end
56
+ end
57
+
58
+ class ByLevel
59
+ def self.getBeasts(identifier)
60
+ jsonRequest = open(Utils.baseURI + 'itemdb_rs/bestiary/levelGroup.json?identifier=' + identifier.to_s).read
61
+ return JSON.parse(jsonRequest)
62
+ end
63
+ end
64
+
65
+ end
@@ -0,0 +1,27 @@
1
+ class GrandExchange
2
+
3
+ class Categories
4
+ def self.getInformation(categoryID)
5
+ uri = Utils.baseURI + 'itemdb_rs/api/catalogue/category.json?category=' + categoryID.to_s
6
+ jsonRequest = open(uri).read
7
+ return JSON.parse(jsonRequest)
8
+ end
9
+
10
+ def self.getPrices(categoryID, alpha, pageNumber)
11
+ jsonRequest = open(Utils.baseURI + 'itemdb_rs/api/catalogue/items.json?category='+ categoryID.to_s + '&alpha=' + alpha.to_s + '&page=' + pageNumber.to_s).read
12
+ return JSON.parse(jsonRequest)
13
+ end
14
+ end
15
+
16
+ class Items
17
+ def self.graphData(itemID)
18
+ jsonRequest = open(Utils.baseURI + 'itemdb_rs/api/graph/' + itemID.to_s + '.json').read
19
+ return JSON.parse(jsonRequest)
20
+ end
21
+
22
+ def self.itemDetails(itemID)
23
+ jsonRequest = open(Utils.baseURI + 'itemdb_rs/api/catalogue/detail.json?item=' + itemID.to_s).read
24
+ return JSON.parse(jsonRequest)
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,55 @@
1
+ class HighScores
2
+
3
+ class EOC
4
+
5
+ class SeasonalEvents < String
6
+ def getEvents(status)
7
+ jsonRequest = open(Utils.baseURI + 'temp-hiscores/getRankings.json?player=DisplayName&status=' + status.to_s).read
8
+ return JSON.parse(jsonRequest)
9
+ end
10
+
11
+ def getPlayerData(displayName, status)
12
+ jsonRequest = open(Utils.baseURI + 'temp-hiscores/getRankings.json?player=' + displayName.to_s + '&status=' + status.to_s).read
13
+ return JSON.parse(jsonRequest)
14
+ end
15
+ end
16
+
17
+ end
18
+
19
+ class OS
20
+
21
+ def self.getPlayer(name)
22
+ parseCSV(getCSV(name.to_s))
23
+ end
24
+
25
+ private
26
+
27
+ def self.getCSV(name)
28
+ if open('http://services.runescape.com/m=hiscore_oldschool/index_lite.ws?player=' + name).read; else return false end
29
+ end
30
+
31
+ def self.parseCSV(csv)
32
+
33
+ if csv != ''
34
+ csv = rawData.gsub("-1", "0")
35
+
36
+ stats = rawData.split("\n")
37
+
38
+ skills = Array.new { Hash.new }
39
+
40
+ stats.each_with_index { |stat, k|
41
+ bits = stat.split(",")
42
+
43
+ hash = {'skill' => Utils.SkillLabels.os[k], 'rank' => bits[0], 'level' => bits[1], 'xp' => bits[2]}
44
+
45
+ skills << hash
46
+ }
47
+
48
+ return skills
49
+ else return false end
50
+
51
+ end
52
+
53
+ end
54
+
55
+ end
@@ -0,0 +1,63 @@
1
+ class Player
2
+
3
+ class OS
4
+
5
+ #Class Variables
6
+ @@name
7
+ @@skills
8
+
9
+ def initialize(name)
10
+ @name = name
11
+ @skills = HighScores::OS.getPlayer(name)
12
+ end
13
+
14
+ def getName
15
+ return @@name
16
+ end
17
+
18
+ end
19
+
20
+ class EOC
21
+
22
+ #Class Variables
23
+ @@name
24
+ @@skills
25
+
26
+ def initialize(name)
27
+ @@name = name
28
+ #@skills = HighScores::OS.getPlayer(name)
29
+ end
30
+
31
+ def getName
32
+ return @@name
33
+ end
34
+
35
+ def getClan
36
+ uri = URI.encode(Utils.baseURI + "website-data/playerDetails.ws?names=[\"" + @@name + "\"]&callback=jQuery000000000000000_0000000000")
37
+ jsonRequest = open(uri).read
38
+ jsonRequest = jsonRequest.gsub("jQuery000000000000000_0000000000([", "")
39
+ jsonRequest = jsonRequest.gsub("]);", "")
40
+ data = JSON.parse(jsonRequest)
41
+ return { "clan" => data["clan"], "recruiting" => data["recruiting"] }
42
+ end
43
+
44
+ def getTitle
45
+ uri = URI.encode(Utils.baseURI + 'website-data/playerDetails.ws?names=["' + @@name + '"]&callback=jQuery000000000000000_0000000000')
46
+ jsonRequest = open(uri).read
47
+ jsonRequest = jsonRequest.gsub("jQuery000000000000000_0000000000([", "")
48
+ jsonRequest = jsonRequest.gsub("]);", "")
49
+ json = JSON.parse(jsonRequest)
50
+ return json["title"]
51
+ end
52
+
53
+ def getAvatarFull
54
+ return Utils.baseURI + "avatar-rs/" + @@name + "/full.png"
55
+ end
56
+
57
+ def getAvatarChat
58
+ return Utils.baseURI + "avatar-rs/" + @@name + "/chat.png"
59
+ end
60
+
61
+ end
62
+
63
+ end
@@ -0,0 +1,34 @@
1
+ class Utils
2
+
3
+ def self.baseURI
4
+ return "http://services.runescape.com/m="
5
+ end
6
+
7
+ class SkillLabels
8
+
9
+ def os
10
+ ['Overall', 'Attack', 'Defence',
11
+ 'Strength', 'Constitution', 'Ranged',
12
+ 'Prayer', 'Magic', 'Cooking',
13
+ 'Woodcutting', 'Fletching', 'Fishing',
14
+ 'Firemaking', 'Crafting', 'Smithing',
15
+ 'Mining', 'Herblore', 'Agility',
16
+ 'Thieving', 'Slayer', 'Farming',
17
+ 'Runecrafting', 'Hunter', 'Construction']
18
+ end
19
+
20
+ def eoc
21
+ ['Overall', 'Attack', 'Defence',
22
+ 'Strength', 'Constitution', 'Ranged',
23
+ 'Prayer', 'Magic', 'Cooking',
24
+ 'Woodcutting', 'Fletching', 'Fishing',
25
+ 'Firemaking', 'Crafting', 'Smithing',
26
+ 'Mining', 'Herblore', 'Agility',
27
+ 'Thieving', 'Slayer', 'Farming',
28
+ 'Runecrafting', 'Hunter', 'Construction',
29
+ 'Summoning', 'Dungeoneering', 'Divination']
30
+ end
31
+
32
+ end
33
+
34
+ end
metadata ADDED
@@ -0,0 +1,50 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rs_api-ruby
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Corey DeMarse
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-05-03 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: A powerful, yet simple ruby library for RuneScape.
14
+ email: ''
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - lib/rs_api-ruby.rb
20
+ - lib/rs_api-ruby/beastiary.rb
21
+ - lib/rs_api-ruby/grandexchange.rb
22
+ - lib/rs_api-ruby/highscores.rb
23
+ - lib/rs_api-ruby/player.rb
24
+ - lib/rs_api-ruby/utilities.rb
25
+ homepage: http://github.com/matadoer
26
+ licenses:
27
+ - MIT
28
+ metadata: {}
29
+ post_install_message:
30
+ rdoc_options: []
31
+ require_paths:
32
+ - lib
33
+ required_ruby_version: !ruby/object:Gem::Requirement
34
+ requirements:
35
+ - - '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ required_rubygems_version: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - '>='
41
+ - !ruby/object:Gem::Version
42
+ version: '0'
43
+ requirements: []
44
+ rubyforge_project:
45
+ rubygems_version: 2.2.2
46
+ signing_key:
47
+ specification_version: 4
48
+ summary: rs_api-ruby is the rubygem port of the powerful, yet simple rs_api library.
49
+ rs_api is a library with useful tools for managing and querying RuneScape data.
50
+ test_files: []