Sha256: d9c2c7997c892222383f7b1bbf0eee1a2c99a7a977fa59eb6c9a13d1a0a2071a

Contents?: true

Size: 906 Bytes

Versions: 2

Compression:

Stored size: 906 Bytes

Contents

module CodewarsApi
  class Client
    attr_reader :api_key

    def initialize(options)
      @api_key = options[:api_key] if options[:api_key]
    end

    def user(username)
      User.new(username)
    end

    def kata_info(id_or_slug)
      KataInfo.new(id_or_slug)
    end

    def train_next_kata(options)
      add_api_key(options)
      TrainNextKata.new(options)
    end

    def train_specific_kata(options)
      add_api_key(options)
      TrainSpecificKata.new(options)
    end

    def attempt_solution(options)
      add_api_key(options)
      AttemptSolution.new(options)
    end

    def finalize_solution(options)
      add_api_key(options)
      FinalizeSolution.new(options)
    end

    def deferred_response(options)
      add_api_key(options)
      DeferredResponse.new(options)
    end

    private

    def add_api_key(options)
      options[:api_key] = @api_key
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
codewars_api-0.1.1 lib/codewars_api/client.rb
codewars_api-0.1.0 lib/codewars_api/client.rb