Skip to content

Commit

Permalink
Merge branch 'refactor/resource'
Browse files Browse the repository at this point in the history
  • Loading branch information
parix committed Feb 27, 2015
2 parents 5318f6a + 2e678a7 commit 8b7e222
Show file tree
Hide file tree
Showing 9 changed files with 42 additions and 33 deletions.
1 change: 1 addition & 0 deletions lib/gw2.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
require "gw2/json"
require "gw2/https"
require "gw2/resource"
require "gw2/event"
require "gw2/wvw"
require "gw2/item"
Expand Down
9 changes: 4 additions & 5 deletions lib/gw2/event.rb
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
module GW2
module Event
extend HTTPS
extend JSON
extend Resource

def self.all
raise GW2::Disabled, "This endpoint is disabled due to the implementation of Megaserver technology."
Expand All @@ -12,15 +11,15 @@ def self.where(query_hash = {})
end

def self.world_names
parse(request("/world_names.json").body)
get("/world_names.json")
end

def self.event_names
parse(request("/event_names.json").body)
get("/event_names.json")
end

def self.map_names
parse(request("/map_names.json").body)
get("/map_names.json")
end
end
end
7 changes: 3 additions & 4 deletions lib/gw2/guild.rb
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
module GW2
module Guild
extend HTTPS
extend JSON
extend Resource

def self.details(query_hash = {})
parse(request("/guild_details.json", query: query_hash).body)
def self.details(query = {})
get("/guild_details.json", query)
end
end
end
7 changes: 3 additions & 4 deletions lib/gw2/item.rb
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
module GW2
module Item
extend HTTPS
extend JSON
extend Resource

def self.all
parse(request("/items.json").body)["items"]
get("/items.json")["items"]
end

def self.details(item_id)
parse(request("/item_details.json", query: { item_id: item_id }).body)
get("/item_details.json", { item_id: item_id })
end
end
end
11 changes: 5 additions & 6 deletions lib/gw2/map.rb
Original file line number Diff line number Diff line change
@@ -1,24 +1,23 @@
module GW2
module Map
extend HTTPS
extend JSON
extend Resource

PARAMS_FILTER = [:map_id]

def self.all
self.where
end

def self.where(query_hash = {})
parse(request("/maps.json", query: query_hash).body)["maps"]
def self.where(query = {})
get("/maps.json", query)["maps"]
end

def self.map_floor(continent_id, floor)
parse(request("/map_floor.json", query: { continent_id: continent_id, floor: floor }).body)
get("/map_floor.json", { continent_id: continent_id, floor: floor })
end

def self.continents
parse(request("/continents.json").body)["continents"]
get("/continents.json")["continents"]
end
end
end
9 changes: 4 additions & 5 deletions lib/gw2/misc.rb
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
module GW2
module Misc
extend HTTPS
extend JSON
extend Resource

def self.build
parse(request("/build.json").body)["build_id"]
get("/build.json")["build_id"]
end

def self.colors
parse(request("/colors.json").body)["colors"]
get("/colors.json")["colors"]
end

def self.files
parse(request("/files.json").body)
get("/files.json")
end
end
end
7 changes: 3 additions & 4 deletions lib/gw2/recipe.rb
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
module GW2
module Recipe
extend HTTPS
extend JSON
extend Resource

def self.all
parse(request("/recipes.json").body)["recipes"]
get("/recipes.json")["recipes"]
end

def self.details(recipe_id)
parse(request("/recipe_details.json", query: { recipe_id: recipe_id }).body)
get("/recipe_details.json", { recipe_id: recipe_id })
end
end
end
15 changes: 15 additions & 0 deletions lib/gw2/resource.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
require "gw2/json"
require "gw2/https"

module GW2
module Resource
include HTTPS
include JSON

BASE_URL = "https://api.guildwars2.com/v1"

def get(endpoint, query = {})
parse(request(endpoint, query: query).body)
end
end
end
9 changes: 4 additions & 5 deletions lib/gw2/wvw.rb
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
module GW2
module WvW
extend HTTPS
extend JSON
extend Resource

def self.matches
parse(request("/wvw/matches.json").body)["wvw_matches"]
get("/wvw/matches.json")["wvw_matches"]
end

def self.match_details(match_id)
parse(request("/wvw/match_details.json", query: { match_id: match_id }).body)["maps"]
get("/wvw/match_details.json", match_id: match_id)["maps"]
end

def self.objective_names
parse(request("/wvw/objective_names.json").body)
get("/wvw/objective_names.json")
end
end
end

0 comments on commit 8b7e222

Please sign in to comment.