rs_api-ruby 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
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: []