lib/mtg_sdk/set.rb in mtg_sdk-1.1.1 vs lib/mtg_sdk/set.rb in mtg_sdk-2.0.0

- old
+ new

@@ -1,42 +1,43 @@ require_relative 'representers/set_representer' require_relative 'card' -require_relative 'resource' +require_relative 'rest_client' module MTG - class Set < Resource + class Set include Roar::JSON include SetRepresenter include RestClient attr_accessor :code, :name, :type, :border, :mkm_id, :mkm_name, :release_date, :gatherer_code, :magic_cards_info_code, :booster, :old_code, :block, :online_only + # Get the resource string + # + # @return [string] The API resource string + def self.Resource + "sets" + end + # Find a single set by the set code # # @param code [String] the Set code # @return [Set] a Set object def self.find(code) - response = RestClient.get("sets/#{code}") - - if response.body['set'].nil? - raise ArgumentError, 'Set not found' - end - - new.from_json(response.body['set'].to_json) + QueryBuilder.new(Set).find(code) end # Get all sets from a query # # @return [Array<Set>] Array of Set objects def self.all - get + QueryBuilder.new(Set).all end # Generate a booster pack for a specific set - # + # @param code [String] the Set code # @return [Array<Card>] Array of Card objects def self.generate_booster(code) cards = [] response = RestClient.get("sets/#{code}/booster") @@ -44,27 +45,9 @@ data.each do |card| cards << Card.new.from_json(card.to_json) end - @query = nil cards - end - - # Execute a query and convert the response - # into a list of Set objects - # - # @return [Array<Set>] Array of Set objects - def self.get - sets = [] - response = RestClient.get('sets', query[:parameters]) - data = response.body['sets'] - - data.each do |set| - sets << new.from_json(set.to_json) - end - - @query = nil - sets end end end