├── .gitignore ├── .rake_tasks ├── .travis.yml ├── CHANGELOG.md ├── Gemfile ├── LICENSE.txt ├── README.md ├── Rakefile ├── lib ├── generators │ └── ruby_stackoverflow │ │ ├── ruby_stackoverflow_generator.rb │ │ └── templates │ │ └── ruby_stackoverflow.rb ├── ruby-stackoverflow.rb └── ruby-stackoverflow │ ├── client.rb │ ├── client │ ├── .DS_Store │ ├── badges_helper.rb │ ├── comments_helper.rb │ ├── parse_options.rb │ ├── question_helper.rb │ ├── resource │ │ ├── answer.rb │ │ ├── badge.rb │ │ ├── comment.rb │ │ ├── notification.rb │ │ ├── permission.rb │ │ ├── post.rb │ │ ├── question.rb │ │ ├── reputation.rb │ │ ├── resource.rb │ │ ├── stackoverflow_error.rb │ │ ├── suggested_edit.rb │ │ ├── tag.rb │ │ └── user.rb │ ├── response_data.rb │ └── user_helper.rb │ ├── configuration.rb │ ├── ruby-stackoverflow_generator.rb │ └── version.rb ├── ruby-stackoverflow.gemspec └── spec ├── fixtures ├── error.json ├── questions.json ├── questions_answers.json ├── questions_comments.json ├── questions_timeline.json ├── users.json └── vcr_cassettes │ ├── badges.yml │ ├── badges_by_ids.yml │ ├── badges_by_name.yml │ ├── badges_by_recipients.yml │ ├── badges_by_recipients_by_ids.yml │ ├── badges_by_tags.yml │ ├── comments.yml │ ├── comments_by_ids.yml │ ├── error.yml │ ├── featured_questions.yml │ ├── linked_questions.yml │ ├── noanswered_questions.yml │ ├── questions.yml │ ├── questions_answers.yml │ ├── questions_by_ids.yml │ ├── questions_comments.yml │ ├── related_questions.yml │ ├── timeline_questions.yml │ ├── unanswered_questions.yml │ ├── user_timeline.yml │ ├── user_top_answers_with_given_tags.yml │ ├── user_top_questions_with_given_tags.yml │ ├── user_top_tags_by_answers.yml │ ├── user_top_tags_by_questions.yml │ ├── user_write_permissions.yml │ ├── users.yml │ ├── users_answers.yml │ ├── users_badges.yml │ ├── users_by_ids.yml │ ├── users_comments.yml │ ├── users_favorites_questions.yml │ ├── users_featured_questions.yml │ ├── users_mentioned_questions.yml │ ├── users_noanswerquestions.yml │ ├── users_notifications.yml │ ├── users_questions.yml │ ├── users_replied_comments.yml │ ├── users_reputation_questions.yml │ ├── users_suggested_edits.yml │ ├── users_tags.yml │ ├── users_unaccepted_questions.yml │ ├── users_unanswered_questions.yml │ └── users_unread_notifications.yml ├── helper.rb ├── ruby-stackoverflow ├── badges_spec.rb ├── comments_spec.rb ├── question_spec.rb └── user_spec.rb └── spec_helper.rb /.gitignore: -------------------------------------------------------------------------------- 1 | *.gem 2 | *.rbc 3 | .bundle 4 | .config 5 | .yardoc 6 | Gemfile.lock 7 | InstalledFiles 8 | _yardoc 9 | coverage 10 | doc/ 11 | lib/bundler/man 12 | pkg 13 | rdoc 14 | spec/reports 15 | test/tmp 16 | test/version_tmp 17 | tmp 18 | -------------------------------------------------------------------------------- /.rake_tasks: -------------------------------------------------------------------------------- 1 | build 2 | install 3 | release 4 | spec 5 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: ruby 2 | rvm: 3 | - 2.1.1 4 | notifications: 5 | email: false 6 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | 0.0.3 - 12-03-2015 2 | 3 | Using v2.2 Stackoverflow API (by @ondrejbartas) 4 | Added `has_more` variable to know if there is more data in response by (@eranhirs) 5 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source "https://rubygems.org" 2 | 3 | # Specify your gem's dependencies in ruby-stackoverflow.gemspec 4 | gemspec 5 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013 Rashmi Yadav 2 | 3 | MIT License 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | "Software"), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Ruby::Stackoverflow [![Code Climate](https://codeclimate.com/github/raysrashmi/ruby-stackoverflow.png)](https://codeclimate.com/github/raysrashmi/ruby-stackoverflow) 2 | 3 | Ruby toolkit to Stackoverflow API 4 | 5 | ## Install 6 | 7 | Add this line to your application's Gemfile: 8 | 9 | gem 'ruby-stackoverflow' 10 | 11 | And then execute: 12 | 13 | $ bundle 14 | 15 | Or install it yourself as: 16 | 17 | $ gem install ruby-stackoverflow 18 | 19 | ###Documentation 20 | 21 | User Calls 22 |
23 | Questions Calls 24 |
25 | Badges Calls 26 |
27 | Comments Calls 28 |
29 | 30 | ##Configuration 31 | 32 | You can add your key and access-token for higher rate limit. 33 | To get Key and Access Token you have to register your app to http://stackapps.com/ 34 | Run command in your application dir. 35 | 36 | $ rails generate ruby_stackoverflow --client_key= --access_token= 37 | 38 | This command will create a ruby_stackoverflow.rb file in config/initializers. 39 | 40 | ## Contributing 41 | 42 | 1. Fork it 43 | 2. Create your feature branch (`git checkout -b my-new-feature`) 44 | 3. Commit your changes (`git commit -am 'Add some feature'`) 45 | 4. Push to the branch (`git push origin my-new-feature`) 46 | 5. Create new Pull Request 47 | 48 | ##LICENSE 49 | 50 | -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- 1 | require "bundler/gem_tasks" 2 | require "rspec/core/rake_task" 3 | 4 | RSpec::Core::RakeTask.new(:spec) 5 | 6 | task default: :spec 7 | -------------------------------------------------------------------------------- /lib/generators/ruby_stackoverflow/ruby_stackoverflow_generator.rb: -------------------------------------------------------------------------------- 1 | require "rails/generators" 2 | 3 | class RubyStackoverflowGenerator < Rails::Generators::Base 4 | desc "Creates the ruby-stackoverflow initializer file at config/initialize/ruby-stackoverflow.rb" 5 | class_option :client_key, aliases: "-k", type: :string, desc: "Your Stackoverflow Client key" 6 | class_option :access_token, aliases: "-k", type: :string, desc: "Your STackoverflow access token" 7 | 8 | def self.source_root 9 | @_ruby_stackoverflow_root ||= File.expand_path("../templates", __FILE__) 10 | end 11 | 12 | def install 13 | template "ruby_stackoverflow.rb", "config/initializers/ruby_stackoverflow.rb" 14 | end 15 | 16 | private 17 | 18 | def configuration_output 19 | output = <<-eos 20 | RubyStackoverflow.configure do|config| 21 | config.client_key = '#{options[:client_key]}' 22 | config.access_token = '#{options[:access_token]}' 23 | end 24 | eos 25 | output 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /lib/generators/ruby_stackoverflow/templates/ruby_stackoverflow.rb: -------------------------------------------------------------------------------- 1 | <%= configuration_output %> 2 | -------------------------------------------------------------------------------- /lib/ruby-stackoverflow.rb: -------------------------------------------------------------------------------- 1 | require "httparty" 2 | require "ruby-stackoverflow/version" 3 | require "ruby-stackoverflow/client" 4 | require "ruby-stackoverflow/configuration" 5 | 6 | module RubyStackoverflow 7 | include HTTParty 8 | 9 | class << self 10 | def client 11 | @client ||= RubyStackoverflow::Client.new 12 | end 13 | 14 | # @private 15 | def respond_to_missing?(method_name, include_private = false); client.respond_to?(method_name, include_private); end if RUBY_VERSION >= "1.9" 16 | # @private 17 | def respond_to?(method_name, include_private = false); client.respond_to?(method_name, include_private) || super; end if RUBY_VERSION < "1.9" 18 | 19 | private 20 | 21 | def method_missing(method_name, *args, &block) 22 | return super unless client.respond_to?(method_name) 23 | client.send(method_name, *args, &block) 24 | end 25 | end 26 | end 27 | -------------------------------------------------------------------------------- /lib/ruby-stackoverflow/client.rb: -------------------------------------------------------------------------------- 1 | require "json" 2 | require "ruby-stackoverflow/client/response_data" 3 | require "ruby-stackoverflow/client/resource/resource" 4 | require "ruby-stackoverflow/client/resource/user" 5 | require "ruby-stackoverflow/client/resource/question" 6 | require "ruby-stackoverflow/client/resource/answer" 7 | require "ruby-stackoverflow/client/resource/notification" 8 | require "ruby-stackoverflow/client/resource/badge" 9 | require "ruby-stackoverflow/client/resource/reputation" 10 | require "ruby-stackoverflow/client/resource/suggested_edit" 11 | require "ruby-stackoverflow/client/resource/comment" 12 | require "ruby-stackoverflow/client/resource/tag" 13 | require "ruby-stackoverflow/client/resource/post" 14 | require "ruby-stackoverflow/client/resource/permission" 15 | require "ruby-stackoverflow/client/resource/stackoverflow_error" 16 | require "ruby-stackoverflow/client/user_helper" 17 | require "ruby-stackoverflow/client/question_helper" 18 | require "ruby-stackoverflow/client/badges_helper" 19 | require "ruby-stackoverflow/client/comments_helper" 20 | require "ruby-stackoverflow/client/parse_options" 21 | 22 | module RubyStackoverflow 23 | class Client 24 | include RubyStackoverflow::Client::ParseOptions 25 | include RubyStackoverflow::Client::UserHelper 26 | include RubyStackoverflow::Client::QuestionHelper 27 | include RubyStackoverflow::Client::BadgesHelper 28 | include RubyStackoverflow::Client::CommentsHelper 29 | 30 | attr_accessor :configuration 31 | 32 | def getr(url, klass, options = {}) 33 | request :get, url, klass, options 34 | end 35 | 36 | def configure 37 | yield(configuration) 38 | end 39 | 40 | private 41 | 42 | def request(method, url, klass, options = {}) 43 | url = append_params_to_url(url, parse_options(options)) 44 | response = HTTParty.send(method, url) 45 | parse_response(response, klass) 46 | end 47 | 48 | def parse_response(data, klass) 49 | data = JSON.parse(data.body, symbolize_names: true) 50 | ResponseData.new(data, klass) 51 | end 52 | 53 | def append_params_to_url(url, options) 54 | url = Configuration.api_url + url 55 | options.merge!(key_params) 56 | options[:site] ||= configuration.site || "stackoverflow" 57 | options = options.to_a.map { |k, v| "#{k}=#{v}" } 58 | url + "?" + options.join("&") 59 | end 60 | 61 | def key_params 62 | { key: configuration.client_key, access_token: configuration.access_token } 63 | end 64 | 65 | def configuration 66 | @configuration ||= Configuration.new 67 | end 68 | end 69 | end 70 | -------------------------------------------------------------------------------- /lib/ruby-stackoverflow/client/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raysrashmi/ruby-stackoverflow/659ccb5b909234b77c1b15d80ad43cf55df8f36d/lib/ruby-stackoverflow/client/.DS_Store -------------------------------------------------------------------------------- /lib/ruby-stackoverflow/client/badges_helper.rb: -------------------------------------------------------------------------------- 1 | module RubyStackoverflow 2 | class Client 3 | module BadgesHelper 4 | def badges(options = {}) 5 | badges_response(options) 6 | end 7 | 8 | def badges_by_ids(ids, options = {}) 9 | url = join_ids(ids) 10 | badges_response(options, url) 11 | end 12 | 13 | def badges_by_name(options = {}) 14 | url = "/name" 15 | badges_response(options, url) 16 | end 17 | 18 | def badges_between_dates(options = {}) 19 | url = "/recipients" 20 | badges_response(options, url) 21 | end 22 | 23 | def badges_between_dates_by_ids(ids, options = {}) 24 | ids = join_ids(ids) 25 | url = ids + "/recipients" 26 | badges_response(options, url) 27 | end 28 | 29 | def badges_by_tags(options = {}) 30 | url = "/tags" 31 | badges_response(options, url) 32 | end 33 | 34 | private 35 | 36 | def badges_response(options = {}, url = "") 37 | url = "badges/" + url 38 | getr(url, "badge", options) 39 | end 40 | end 41 | end 42 | end 43 | -------------------------------------------------------------------------------- /lib/ruby-stackoverflow/client/comments_helper.rb: -------------------------------------------------------------------------------- 1 | module RubyStackoverflow 2 | class Client 3 | module CommentsHelper 4 | def comments(options = {}) 5 | comments_response(options) 6 | end 7 | 8 | def comments_by_ids(ids, options = {}) 9 | url = join_ids(ids) 10 | comments_response(options, url) 11 | end 12 | 13 | private 14 | 15 | def comments_response(options = {}, url = "") 16 | url = "comments/" + url 17 | getr(url, "comment", options) 18 | end 19 | end 20 | end 21 | end 22 | -------------------------------------------------------------------------------- /lib/ruby-stackoverflow/client/parse_options.rb: -------------------------------------------------------------------------------- 1 | module RubyStackoverflow 2 | class Client 3 | module ParseOptions 4 | def parse_options(options = {}) 5 | options.each do |k, v| 6 | case k 7 | when :fromdate, :todate, :min, :max 8 | begin 9 | options[k] = Time.parse(v).to_i 10 | rescue 11 | options[k] = v 12 | end 13 | else 14 | options[k] = v 15 | end 16 | end 17 | end 18 | 19 | def join_ids(ids) 20 | ids.join(";") 21 | end 22 | end 23 | end 24 | end 25 | -------------------------------------------------------------------------------- /lib/ruby-stackoverflow/client/question_helper.rb: -------------------------------------------------------------------------------- 1 | module RubyStackoverflow 2 | class Client 3 | module QuestionHelper 4 | def questions(options = {}) 5 | question_response(options) 6 | end 7 | 8 | def questions_by_ids(ids, options = {}) 9 | url = join_ids(ids) 10 | question_response(options, url) 11 | end 12 | 13 | def answers_of_questions(ids, options = {}) 14 | url = join_ids(ids) + "/answers" 15 | question_response(options, url) 16 | end 17 | 18 | def comments_of_questions(ids, options = {}) 19 | url = join_ids(ids) + "/comments" 20 | question_response(options, url) 21 | end 22 | 23 | def linked_questions(ids, options = {}) 24 | url = join_ids(ids) + "/linked" 25 | question_response(options, url) 26 | end 27 | 28 | def related_questions(ids, options = {}) 29 | url = join_ids(ids) + "/related" 30 | question_response(options, url) 31 | end 32 | 33 | def timeline_of_questions(ids, options = {}) 34 | url = join_ids(ids) + "/timeline" 35 | question_response(options, url) 36 | end 37 | 38 | def featured_questions(options = {}) 39 | url = "featured" 40 | question_response(options, url) 41 | end 42 | 43 | def unanswered_questions(options = {}) 44 | question_response(options, "unanswered") 45 | end 46 | 47 | def noanswered_questions(options = {}) 48 | question_response(options, "no-answers") 49 | end 50 | 51 | private 52 | 53 | def question_response(options = {}, url = "") 54 | url = "questions/" + url 55 | getr(url, "question", options) 56 | end 57 | end 58 | end 59 | end 60 | -------------------------------------------------------------------------------- /lib/ruby-stackoverflow/client/resource/answer.rb: -------------------------------------------------------------------------------- 1 | module RubyStackoverflow 2 | class Client 3 | class Answer < Resource 4 | end 5 | end 6 | end 7 | -------------------------------------------------------------------------------- /lib/ruby-stackoverflow/client/resource/badge.rb: -------------------------------------------------------------------------------- 1 | module RubyStackoverflow 2 | class Client 3 | class Badge < Resource 4 | end 5 | end 6 | end 7 | -------------------------------------------------------------------------------- /lib/ruby-stackoverflow/client/resource/comment.rb: -------------------------------------------------------------------------------- 1 | module RubyStackoverflow 2 | class Client 3 | class Comment < Resource 4 | end 5 | end 6 | end 7 | -------------------------------------------------------------------------------- /lib/ruby-stackoverflow/client/resource/notification.rb: -------------------------------------------------------------------------------- 1 | module RubyStackoverflow 2 | class Client 3 | class Notification < Resource 4 | end 5 | end 6 | end 7 | -------------------------------------------------------------------------------- /lib/ruby-stackoverflow/client/resource/permission.rb: -------------------------------------------------------------------------------- 1 | module RubyStackoverflow 2 | class Client 3 | class Permission < Resource 4 | end 5 | end 6 | end 7 | -------------------------------------------------------------------------------- /lib/ruby-stackoverflow/client/resource/post.rb: -------------------------------------------------------------------------------- 1 | module RubyStackoverflow 2 | class Client 3 | class Post < Resource 4 | end 5 | end 6 | end 7 | -------------------------------------------------------------------------------- /lib/ruby-stackoverflow/client/resource/question.rb: -------------------------------------------------------------------------------- 1 | module RubyStackoverflow 2 | class Client 3 | class Question < Resource 4 | attr_reader :answers, :comments, :user, :posts 5 | def initialize(attributes_hash = {}) 6 | @answers = [] 7 | @comments = [] 8 | @posts = [] 9 | super 10 | end 11 | 12 | class << self 13 | def parse_data(data) 14 | questions = [] 15 | data.each do |attr_hash| 16 | if data_has_answer?(data) 17 | question = create_question(attr_hash, questions, :question_id) 18 | question.answers.push(Answer.new(attr_hash)) 19 | elsif data_has_comment?(data) 20 | question = create_question(attr_hash, questions, :post_id) 21 | question.comments.push(Comment.new(attr_hash)) 22 | elsif data_has_timeline?(data) 23 | question = create_question(attr_hash, questions, :question_id) 24 | question.posts.push(Post.new(attr_hash)) 25 | else 26 | questions << new(attr_hash) 27 | end 28 | end 29 | questions 30 | end 31 | 32 | def data_has_answer?(data) 33 | data.first.include?(:answer_id) 34 | end 35 | 36 | def data_has_comment?(data) 37 | data.first.include?(:comment_id) && !data.first.include?(:timeline_type) 38 | end 39 | 40 | def data_has_timeline?(data) 41 | data.first.include?(:timeline_type) 42 | end 43 | 44 | def find_or_create_question(questions, qid) 45 | question_array = questions.select { |q| q.question_id == qid } 46 | !question_array.empty? ? question_array.first : new(question_id: qid) 47 | end 48 | 49 | def create_question(attr_hash, questions, hash_key) 50 | qid = attr_hash.delete(hash_key) 51 | question = find_or_create_question(questions, qid) 52 | questions << question unless question_exists?(questions, qid) 53 | question 54 | end 55 | 56 | def question_exists?(questions, question_id) 57 | question_array = questions.select { |q| q.question_id == question_id } 58 | !question_array.empty? 59 | end 60 | end 61 | end 62 | end 63 | end 64 | -------------------------------------------------------------------------------- /lib/ruby-stackoverflow/client/resource/reputation.rb: -------------------------------------------------------------------------------- 1 | module RubyStackoverflow 2 | class Client 3 | class Reputation < Resource 4 | end 5 | end 6 | end 7 | -------------------------------------------------------------------------------- /lib/ruby-stackoverflow/client/resource/resource.rb: -------------------------------------------------------------------------------- 1 | module RubyStackoverflow 2 | class Client 3 | class Resource 4 | def initialize(attributes_hash) 5 | attributes_hash.each do |k, v| 6 | self.class.send :attr_accessor, k 7 | var = "@#{k}" 8 | case k.to_sym 9 | when :creation_date, :last_activity_date, :launch_date, :last_edit_date 10 | value = Time.at(v).utc.to_s 11 | else 12 | value = v 13 | end 14 | instance_variable_set(var, value) 15 | end 16 | end 17 | 18 | class << self 19 | def parse_data(data) 20 | datas = data.map do |attr_hash| 21 | new(attr_hash) 22 | end 23 | datas 24 | end 25 | end 26 | end 27 | end 28 | end 29 | -------------------------------------------------------------------------------- /lib/ruby-stackoverflow/client/resource/stackoverflow_error.rb: -------------------------------------------------------------------------------- 1 | module RubyStackoverflow 2 | class Client 3 | class StackoverflowError 4 | attr_reader :error_code, :error_message, :error_name 5 | 6 | def initialize(params) 7 | @error_name = params[:error_name] 8 | @error_code = params[:error_id] 9 | @error_message = params[:error_message] 10 | end 11 | end 12 | end 13 | end 14 | -------------------------------------------------------------------------------- /lib/ruby-stackoverflow/client/resource/suggested_edit.rb: -------------------------------------------------------------------------------- 1 | module RubyStackoverflow 2 | class Client 3 | class SuggestedEdit < Resource 4 | end 5 | end 6 | end 7 | -------------------------------------------------------------------------------- /lib/ruby-stackoverflow/client/resource/tag.rb: -------------------------------------------------------------------------------- 1 | module RubyStackoverflow 2 | class Client 3 | class Tag < Resource 4 | end 5 | end 6 | end 7 | -------------------------------------------------------------------------------- /lib/ruby-stackoverflow/client/resource/user.rb: -------------------------------------------------------------------------------- 1 | module RubyStackoverflow 2 | class Client 3 | class User < Resource 4 | attr_reader :badges, :answers, :comments, 5 | :questions, :reputations, 6 | :suggested_edits, :tags, :posts, :permissions 7 | 8 | def initialize(attributes_hash) 9 | @badges = [] 10 | @answers = [] 11 | @comments = [] 12 | @questions = [] 13 | @reputations = [] 14 | @suggested_edits = [] 15 | @tags = [] 16 | @posts = [] 17 | @permissions = [] 18 | super 19 | end 20 | 21 | class << self 22 | def parse_data(data) 23 | users = [] 24 | data.each do |attr_hash| 25 | if data_has_badge?(attr_hash) 26 | user = create_user(attr_hash, users, :user) 27 | user.badges.push(Badge.new(attr_hash)) 28 | elsif data_has_answer?(attr_hash) 29 | user = create_user(attr_hash, users) 30 | user.answers.push(Answer.new(attr_hash)) 31 | elsif data_has_comment?(attr_hash) 32 | user = create_user(attr_hash, users) 33 | user.comments.push(Comment.new(attr_hash)) 34 | elsif data_has_question?(attr_hash) 35 | user = create_user(attr_hash, users) 36 | user.questions.push(Question.new(attr_hash)) 37 | elsif data_has_reputation?(attr_hash) 38 | user = create_user(attr_hash, users, :user_id) 39 | user.reputations.push(Reputation.new(attr_hash)) 40 | elsif data_has_suggested_edit?(attr_hash) 41 | user = create_user(attr_hash, users, :proposing_user) 42 | user.suggested_edits.push(SuggestedEdit.new(attr_hash)) 43 | elsif data_has_tag_name?(attr_hash) 44 | user = create_user(attr_hash, users, :user_id) 45 | user.tags.push(Tag.new(attr_hash)) 46 | elsif data_has_timeline?(attr_hash) 47 | user = create_user(attr_hash, users, :user_id) 48 | user.posts.push(Post.new(attr_hash)) 49 | elsif data_has_permission_object?(attr_hash) 50 | user = create_user(attr_hash, users, :user_id) 51 | user.permissions.push(Permission.new(attr_hash)) 52 | elsif data_has_notification?(attr_hash) 53 | users << Notification.new(attr_hash) 54 | else 55 | users << new(attr_hash) 56 | end 57 | end 58 | users 59 | end 60 | 61 | private 62 | 63 | def find_or_create_user(users, user_attr) 64 | user_array = users.select { |u| u.user_id == user_attr[:user_id] } 65 | !user_array.empty? ? user_array.first : new(user_attr) 66 | end 67 | 68 | def create_user(attr_hash, users, hash_key = :owner) 69 | user_attr = attr_hash.delete(hash_key) 70 | user_attr = user_attr.is_a?(Hash) ? user_attr : { user_id: user_attr } 71 | user = find_or_create_user(users, user_attr) 72 | users << user unless user_exists?(users, user_attr[:user_id]) 73 | user 74 | end 75 | 76 | def user_exists?(users, user_id) 77 | user_array = users.select { |u| u.user_id == user_id } 78 | !user_array.empty? 79 | end 80 | 81 | def data_has_badge?(data) 82 | data.include?(:badge_id) 83 | end 84 | 85 | def data_has_answer?(data) 86 | data.include?(:answer_id) 87 | end 88 | 89 | def data_has_comment?(data) 90 | data.include?(:comment_id) && !data.include?(:timeline_type) 91 | end 92 | 93 | def data_has_question?(data) 94 | data.include?(:question_id) 95 | end 96 | 97 | def data_has_reputation?(data) 98 | data.include?(:reputation_change) 99 | end 100 | 101 | def data_has_suggested_edit?(data) 102 | data.include?(:suggested_edit_id) 103 | end 104 | 105 | def data_has_tag_name?(data) 106 | data.include?(:name) || data_has_tag_score?(data) 107 | end 108 | 109 | def data_has_tag_score?(data) 110 | data.include?(:tag_name) && data.include?(:answer_score) 111 | end 112 | 113 | def data_has_timeline?(data) 114 | data.include?(:timeline_type) 115 | end 116 | 117 | def data_has_permission_object?(data) 118 | data.include?(:object_type) 119 | end 120 | 121 | def data_has_notification?(data) 122 | data.include?(:notification_type) 123 | end 124 | end 125 | end 126 | end 127 | end 128 | -------------------------------------------------------------------------------- /lib/ruby-stackoverflow/client/response_data.rb: -------------------------------------------------------------------------------- 1 | module RubyStackoverflow 2 | class Client 3 | class ResponseData 4 | attr_reader :data, :has_more, :error 5 | 6 | def initialize(response, klass) 7 | if response[:items].nil? 8 | @error = StackoverflowError.new(response) 9 | else 10 | @data = format_data(response[:items], klass) 11 | @has_more = response[:has_more] 12 | end 13 | end 14 | 15 | def format_data(data, klass) 16 | RubyStackoverflow::Client.const_get(klass.capitalize).parse_data(data) 17 | end 18 | end 19 | end 20 | end 21 | -------------------------------------------------------------------------------- /lib/ruby-stackoverflow/client/user_helper.rb: -------------------------------------------------------------------------------- 1 | module RubyStackoverflow 2 | class Client 3 | module UserHelper 4 | def users(options = {}) 5 | user_response(options) 6 | end 7 | 8 | def users_by_ids(ids, options = {}) 9 | ids = join_ids(ids) 10 | user_response(options, ids) 11 | end 12 | 13 | def users_with_answers(ids, options = {}) 14 | ids = join_ids(ids) 15 | url = ids + "/answers" 16 | user_response(options, url) 17 | end 18 | 19 | def users_with_badges(ids, options = {}) 20 | ids = join_ids(ids) 21 | url = ids + "/badges" 22 | user_response(options, url) 23 | end 24 | 25 | def users_with_comments(ids, options = {}) 26 | ids = join_ids(ids) 27 | url = ids + "/comments" 28 | user_response(options, url) 29 | end 30 | 31 | def users_with_replied_comments(ids, toid, options = {}) 32 | ids = join_ids(ids) 33 | url = ids + "/comments/" + toid 34 | user_response(options, url) 35 | end 36 | 37 | def users_notifications(id, options = {}) 38 | url = id + "/notifications" 39 | user_response(options, url) 40 | end 41 | 42 | def users_unread_notifications(id, options = {}) 43 | url = id + "/notifications/unread" 44 | user_response(options, url) 45 | end 46 | 47 | def users_with_favorites_questions(ids, options = {}) 48 | ids = join_ids(ids) 49 | url = ids + "/favorites" 50 | user_response(options, url) 51 | end 52 | 53 | def users_with_mentioned_comments(ids, options = {}) 54 | ids = join_ids(ids) 55 | url = ids + "/mentioned" 56 | user_response(options, url) 57 | end 58 | 59 | def users_questions(ids, options = {}) 60 | ids = join_ids(ids) 61 | url = ids + "/questions" 62 | user_response(options, url) 63 | end 64 | 65 | def users_featured_questions(ids, options = {}) 66 | ids = join_ids(ids) 67 | url = ids + "/questions/featured" 68 | user_response(options, url) 69 | end 70 | 71 | def users_noanswers_questions(ids, options = {}) 72 | ids = join_ids(ids) 73 | url = ids + "/questions/no-answers" 74 | user_response(options, url) 75 | end 76 | 77 | def users_unaccepted_questions(ids, options = {}) 78 | ids = join_ids(ids) 79 | url = ids + "/questions/unaccepted" 80 | user_response(options, url) 81 | end 82 | 83 | def users_unanswered_questions(ids, options = {}) 84 | ids = join_ids(ids) 85 | url = ids + "/questions/unanswered" 86 | user_response(options, url) 87 | end 88 | 89 | def users_reputations(ids, options = {}) 90 | ids = join_ids(ids) 91 | url = ids + "/reputation" 92 | user_response(options, url) 93 | end 94 | 95 | def users_suggested_edits(ids, options = {}) 96 | ids = join_ids(ids) 97 | url = ids + "/suggested-edits" 98 | user_response(options, url) 99 | end 100 | 101 | def users_tags(ids, options = {}) 102 | ids = join_ids(ids) 103 | url = ids + "/tags" 104 | user_response(options, url) 105 | end 106 | 107 | def users_top_answers_with_given_tags(id, tags, options = {}) 108 | url = id + "/tags/" + join_ids(tags) + "/top-answers" 109 | user_response(options, url) 110 | end 111 | 112 | def users_top_questions_with_given_tags(id, tags, options = {}) 113 | url = id + "/tags/" + join_ids(tags) + "/top-questions" 114 | user_response(options, url) 115 | end 116 | 117 | def user_top_tags(id, options = {}) 118 | url = id + "/top-tags" 119 | user_response(options, url) 120 | end 121 | 122 | def user_top_tags_by_answers(id, options = {}) 123 | url = id + "/top-answer-tags" 124 | user_response(options, url) 125 | end 126 | 127 | def user_top_tags_by_questions(id, options = {}) 128 | url = id + "/top-question-tags" 129 | user_response(options, url) 130 | end 131 | 132 | def users_timeline(ids, options = {}) 133 | ids = join_ids(ids) 134 | url = ids + "/timeline" 135 | user_response(options, url) 136 | end 137 | 138 | def user_write_permissions(id, options = {}) 139 | url = id + "/write-permissions" 140 | user_response(options, url) 141 | end 142 | 143 | def user_full_reputation_history(id, options = {}) 144 | url = id + "/write-permissions" 145 | user_response(options, url) 146 | end 147 | 148 | private 149 | 150 | def user_response(options = {}, url = "") 151 | url = "users/" + url 152 | getr(url, "user", options) 153 | end 154 | end 155 | end 156 | end 157 | -------------------------------------------------------------------------------- /lib/ruby-stackoverflow/configuration.rb: -------------------------------------------------------------------------------- 1 | module RubyStackoverflow 2 | class Configuration 3 | attr_accessor( 4 | :site, 5 | :client_id, 6 | :client_secret, 7 | :client_key, 8 | :access_token, 9 | :api_url) 10 | 11 | def self.api_url 12 | "https://api.stackexchange.com/2.2/" 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /lib/ruby-stackoverflow/ruby-stackoverflow_generator.rb: -------------------------------------------------------------------------------- 1 | require "rails/generators" 2 | require "ruby-stackoverflow" 3 | class RubyStackoverflowGenerator < Rails::Generators::Base 4 | desc "Creates the ruby-stackoverflow initializer file at config/initialize/ruby-stackoverflow.rb" 5 | class_option :client_key, aliases: "-k", type: :string, desc: "Your Stackoverflow Client key" 6 | class_option :access_token, aliases: "-k", type: :string, desc: "Your STackoverflow access token" 7 | 8 | def self.source_root 9 | @_ruby_stackoverflow_root ||= File.expand_path("../templates", __FILE__) 10 | end 11 | 12 | def install 13 | template "ruby-stackoverflow.rb", "config/initializer/ruby-stackoverflow.rb" 14 | end 15 | 16 | private 17 | 18 | def configuration_output 19 | output = <<-eos 20 | RubyStackoverflow.configure do|config| 21 | config.client_key = #{client_key} 22 | config.access_token = #{access_token} 23 | end 24 | eos 25 | output 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /lib/ruby-stackoverflow/version.rb: -------------------------------------------------------------------------------- 1 | module RubyStackoverflow 2 | VERSION = "0.0.3".freeze 3 | end 4 | -------------------------------------------------------------------------------- /ruby-stackoverflow.gemspec: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | lib = File.expand_path("../lib", __FILE__) 3 | $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) 4 | require "ruby-stackoverflow/version" 5 | 6 | Gem::Specification.new do |spec| 7 | spec.name = "ruby-stackoverflow" 8 | spec.version = RubyStackoverflow::VERSION 9 | spec.authors = ["Rashmi Yadav"] 10 | spec.email = ["rays.rashmi@gmail.com"] 11 | spec.description = "Ruby library for stackoverflow api" 12 | spec.summary = "Interface for stackoverflow api" 13 | spec.homepage = "https://github.com/raysrashmi/ruby-stackoverflow" 14 | spec.license = "MIT" 15 | 16 | spec.files = `git ls-files`.split($/) 17 | spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) } 18 | spec.test_files = spec.files.grep(%r{^(test|spec|features)/}) 19 | spec.require_paths = ["lib"] 20 | 21 | spec.add_runtime_dependency "httparty", "~> 0.11" 22 | spec.add_runtime_dependency "json" 23 | 24 | spec.add_development_dependency "rspec", "~> 2.1" 25 | spec.add_development_dependency "webmock", "~> 1.14" 26 | spec.add_development_dependency "vcr", "~> 2.7" 27 | spec.add_development_dependency "bundler", "~> 1.3" 28 | spec.add_development_dependency "rake", "~> 10.1" 29 | end 30 | -------------------------------------------------------------------------------- /spec/fixtures/error.json: -------------------------------------------------------------------------------- 1 | { 2 | "error_id": 404, 3 | "error_name": "no_method", 4 | "error_message": "no method found with this name" 5 | } 6 | -------------------------------------------------------------------------------- /spec/fixtures/questions.json: -------------------------------------------------------------------------------- 1 | { 2 | "items": [ 3 | { 4 | "question_id": 19294359, 5 | "creation_date": 1381403943, 6 | "last_activity_date": 1381404028, 7 | "score": 0, 8 | "answer_count": 1, 9 | "title": "Get a key from a javascript array when array has only 1 element", 10 | "tags": [ 11 | "javascript", 12 | "arrays" 13 | ], 14 | "view_count": 10, 15 | "owner": { 16 | "user_id": 2327697, 17 | "display_name": "Aaron", 18 | "reputation": 406, 19 | "user_type": "registered", 20 | "profile_image": "https://www.gravatar.com/avatar/6c6722050180a986a5efc80c7f1ae33d?s=128&d=identicon&r=PG", 21 | "link": "http://stackoverflow.com/users/2327697/aaron", 22 | "accept_rate": 97 23 | }, 24 | "link": "http://stackoverflow.com/questions/19294359/get-a-key-from-a-javascript-array-when-array-has-only-1-element", 25 | "is_answered": false 26 | } 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /spec/fixtures/questions_answers.json: -------------------------------------------------------------------------------- 1 | { 2 | "items": [ 3 | { 4 | "question_id": 16067043, 5 | "answer_id": 16176338, 6 | "creation_date": 1366740882, 7 | "last_activity_date": 1366740882, 8 | "score": 0, 9 | "is_accepted": false, 10 | "owner": { 11 | "user_id": 877580, 12 | "display_name": "Zach Hale", 13 | "reputation": 1, 14 | "user_type": "registered", 15 | "profile_image": "https://www.gravatar.com/avatar/d204ba1147a9dfb76320a8a2a4b1e5f8?s=128&d=identicon&r=PG", 16 | "link": "http://stackoverflow.com/users/877580/zach-hale" 17 | } 18 | } 19 | ], 20 | "quota_remaining": 296, 21 | "quota_max": 300, 22 | "has_more": false 23 | } 24 | -------------------------------------------------------------------------------- /spec/fixtures/questions_comments.json: -------------------------------------------------------------------------------- 1 | { 2 | "items": [ 3 | { 4 | "comment_id": 18990742, 5 | "post_id": 13804832, 6 | "creation_date": 1355156949, 7 | "score": 1, 8 | "edited": false, 9 | "owner": { 10 | "user_id": 87189, 11 | "display_name": "tadman", 12 | "reputation": 58115, 13 | "user_type": "registered", 14 | "profile_image": "https://www.gravatar.com/avatar/98e7d6edce863e7a1bf8199b082eb25e?s=128&d=identicon&r=PG", 15 | "link": "http://stackoverflow.com/users/87189/tadman", 16 | "accept_rate": 100 17 | } 18 | }, 19 | { 20 | "comment_id": 18990542, 21 | "post_id": 13804832, 22 | "creation_date": 1355156515, 23 | "score": 0, 24 | "edited": false, 25 | "owner": { 26 | "user_id": 330057, 27 | "display_name": "corsiKa", 28 | "reputation": 34496, 29 | "user_type": "registered", 30 | "profile_image": "https://www.gravatar.com/avatar/eba3df62ea97ea9065ca70e9c06b80aa?s=128&d=identicon&r=PG", 31 | "link": "http://stackoverflow.com/users/330057/corsika", 32 | "accept_rate": 91 33 | } 34 | } 35 | ], 36 | "quota_remaining": 289, 37 | "quota_max": 300, 38 | "has_more": false 39 | } 40 | -------------------------------------------------------------------------------- /spec/fixtures/questions_timeline.json: -------------------------------------------------------------------------------- 1 | { 2 | "items": [ 3 | { 4 | "timeline_type": "comment", 5 | "question_id": 16067043, 6 | "post_id": 16176338, 7 | "comment_id": 23206076, 8 | "creation_date": 1366924147, 9 | "owner": { 10 | "user_id": 1363236, 11 | "display_name": "raysrashmi", 12 | "reputation": 26, 13 | "user_type": "registered", 14 | "profile_image": "https://www.gravatar.com/avatar/e3e5923c7e2954158e9b9b0493c9132c?s=128&d=identicon&r=PG", 15 | "link": "http://stackoverflow.com/users/1363236/raysrashmi" 16 | } 17 | }, 18 | { 19 | "timeline_type": "answer", 20 | "question_id": 16067043, 21 | "creation_date": 1366740882, 22 | "owner": { 23 | "user_id": 877580, 24 | "display_name": "Zach Hale", 25 | "reputation": 1, 26 | "user_type": "registered", 27 | "profile_image": "https://www.gravatar.com/avatar/d204ba1147a9dfb76320a8a2a4b1e5f8?s=128&d=identicon&r=PG", 28 | "link": "http://stackoverflow.com/users/877580/zach-hale" 29 | } 30 | }, 31 | { 32 | "timeline_type": "vote_aggregate", 33 | "question_id": 16067043, 34 | "post_id": 16176338, 35 | "up_vote_count": 0, 36 | "down_vote_count": 1, 37 | "creation_date": 1366675200, 38 | "owner": { 39 | "user_id": 877580, 40 | "display_name": "Zach Hale", 41 | "reputation": 1, 42 | "user_type": "registered", 43 | "profile_image": "https://www.gravatar.com/avatar/d204ba1147a9dfb76320a8a2a4b1e5f8?s=128&d=identicon&r=PG", 44 | "link": "http://stackoverflow.com/users/877580/zach-hale" 45 | } 46 | }, 47 | { 48 | "timeline_type": "vote_aggregate", 49 | "question_id": 16067043, 50 | "post_id": 16067043, 51 | "up_vote_count": 1, 52 | "down_vote_count": 0, 53 | "creation_date": 1366329600, 54 | "owner": { 55 | "user_id": 1363236, 56 | "display_name": "raysrashmi", 57 | "reputation": 26, 58 | "user_type": "registered", 59 | "profile_image": "https://www.gravatar.com/avatar/e3e5923c7e2954158e9b9b0493c9132c?s=128&d=identicon&r=PG", 60 | "link": "http://stackoverflow.com/users/1363236/raysrashmi" 61 | } 62 | }, 63 | { 64 | "timeline_type": "question", 65 | "question_id": 16067043, 66 | "creation_date": 1366221933, 67 | "owner": { 68 | "user_id": 1363236, 69 | "display_name": "raysrashmi", 70 | "reputation": 26, 71 | "user_type": "registered", 72 | "profile_image": "https://www.gravatar.com/avatar/e3e5923c7e2954158e9b9b0493c9132c?s=128&d=identicon&r=PG", 73 | "link": "http://stackoverflow.com/users/1363236/raysrashmi" 74 | } 75 | }, 76 | { 77 | "timeline_type": "vote_aggregate", 78 | "question_id": 13804832, 79 | "post_id": 13804832, 80 | "up_vote_count": 0, 81 | "down_vote_count": 1, 82 | "creation_date": 1365379200, 83 | "owner": { 84 | "user_id": 1363236, 85 | "display_name": "raysrashmi", 86 | "reputation": 26, 87 | "user_type": "registered", 88 | "profile_image": "https://www.gravatar.com/avatar/e3e5923c7e2954158e9b9b0493c9132c?s=128&d=identicon&r=PG", 89 | "link": "http://stackoverflow.com/users/1363236/raysrashmi" 90 | } 91 | }, 92 | { 93 | "timeline_type": "answer", 94 | "question_id": 13804832, 95 | "creation_date": 1355157403, 96 | "owner": { 97 | "user_id": 23915, 98 | "display_name": "Unixmonkey", 99 | "reputation": 5875, 100 | "user_type": "registered", 101 | "profile_image": "https://www.gravatar.com/avatar/b5e935da7b67c03dd56f385b031f485c?s=128&d=identicon&r=PG", 102 | "link": "http://stackoverflow.com/users/23915/unixmonkey" 103 | } 104 | }, 105 | { 106 | "timeline_type": "answer", 107 | "question_id": 13804832, 108 | "creation_date": 1355156953, 109 | "owner": { 110 | "user_id": 87189, 111 | "display_name": "tadman", 112 | "reputation": 58115, 113 | "user_type": "registered", 114 | "profile_image": "https://www.gravatar.com/avatar/98e7d6edce863e7a1bf8199b082eb25e?s=128&d=identicon&r=PG", 115 | "link": "http://stackoverflow.com/users/87189/tadman", 116 | "accept_rate": 100 117 | } 118 | }, 119 | { 120 | "timeline_type": "comment", 121 | "question_id": 13804832, 122 | "post_id": 13804832, 123 | "comment_id": 18990742, 124 | "creation_date": 1355156949, 125 | "owner": { 126 | "user_id": 87189, 127 | "display_name": "tadman", 128 | "reputation": 58115, 129 | "user_type": "registered", 130 | "profile_image": "https://www.gravatar.com/avatar/98e7d6edce863e7a1bf8199b082eb25e?s=128&d=identicon&r=PG", 131 | "link": "http://stackoverflow.com/users/87189/tadman", 132 | "accept_rate": 100 133 | } 134 | }, 135 | { 136 | "timeline_type": "comment", 137 | "question_id": 13804832, 138 | "post_id": 13804832, 139 | "comment_id": 18990542, 140 | "creation_date": 1355156515, 141 | "owner": { 142 | "user_id": 330057, 143 | "display_name": "corsiKa", 144 | "reputation": 34496, 145 | "user_type": "registered", 146 | "profile_image": "https://www.gravatar.com/avatar/eba3df62ea97ea9065ca70e9c06b80aa?s=128&d=identicon&r=PG", 147 | "link": "http://stackoverflow.com/users/330057/corsika", 148 | "accept_rate": 91 149 | } 150 | }, 151 | { 152 | "timeline_type": "question", 153 | "question_id": 13804832, 154 | "creation_date": 1355156366, 155 | "owner": { 156 | "user_id": 1363236, 157 | "display_name": "raysrashmi", 158 | "reputation": 26, 159 | "user_type": "registered", 160 | "profile_image": "https://www.gravatar.com/avatar/e3e5923c7e2954158e9b9b0493c9132c?s=128&d=identicon&r=PG", 161 | "link": "http://stackoverflow.com/users/1363236/raysrashmi" 162 | } 163 | }, 164 | { 165 | "timeline_type": "vote_aggregate", 166 | "question_id": 13804832, 167 | "post_id": 13804832, 168 | "up_vote_count": 0, 169 | "down_vote_count": 1, 170 | "creation_date": 1355097600, 171 | "owner": { 172 | "user_id": 1363236, 173 | "display_name": "raysrashmi", 174 | "reputation": 26, 175 | "user_type": "registered", 176 | "profile_image": "https://www.gravatar.com/avatar/e3e5923c7e2954158e9b9b0493c9132c?s=128&d=identicon&r=PG", 177 | "link": "http://stackoverflow.com/users/1363236/raysrashmi" 178 | } 179 | }, 180 | { 181 | "timeline_type": "vote_aggregate", 182 | "question_id": 13804832, 183 | "post_id": 13805140, 184 | "up_vote_count": 2, 185 | "down_vote_count": 0, 186 | "creation_date": 1355097600, 187 | "owner": { 188 | "user_id": 23915, 189 | "display_name": "Unixmonkey", 190 | "reputation": 5875, 191 | "user_type": "registered", 192 | "profile_image": "https://www.gravatar.com/avatar/b5e935da7b67c03dd56f385b031f485c?s=128&d=identicon&r=PG", 193 | "link": "http://stackoverflow.com/users/23915/unixmonkey" 194 | } 195 | } 196 | ], 197 | "quota_remaining": 272, 198 | "quota_max": 300, 199 | "has_more": false 200 | } 201 | -------------------------------------------------------------------------------- /spec/fixtures/users.json: -------------------------------------------------------------------------------- 1 | { 2 | "items": [ 3 | { 4 | "user_id": 1363236, 5 | "user_type": "registered", 6 | "creation_date": 1335636337, 7 | "display_name": "raysrashmi", 8 | "profile_image": "https://www.gravatar.com/avatar/e3e5923c7e2954158e9b9b0493c9132c?s=128&d=identicon&r=PG", 9 | "reputation": 26, 10 | "reputation_change_day": 0, 11 | "reputation_change_week": 0, 12 | "reputation_change_month": 0, 13 | "reputation_change_quarter": 0, 14 | "reputation_change_year": 25, 15 | "last_access_date": 1381699921, 16 | "last_modified_date": 1379355381, 17 | "is_employee": false, 18 | "link": "http://stackoverflow.com/users/1363236/raysrashmi", 19 | "website_url": "http://raysrashmi.com", 20 | "location": "Stockholm, Sweden", 21 | "account_id": 1444066, 22 | "badge_counts": { 23 | "gold": 0, 24 | "silver": 0, 25 | "bronze": 4 26 | } 27 | } 28 | ], 29 | "quota_remaining": 9996, 30 | "quota_max": 10000, 31 | "has_more": false 32 | } 33 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/badges.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/badges/?access_token=L0J88cciBPHiGtIKCul6Gg))&key=pfllsDjWHeLGWoWIT5rRdA((&max=bronze&min=gold&site=stackoverflow&sort=rank 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 200 13 | message: !binary |- 14 | T0s= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | RnJpLCAyNSBPY3QgMjAxMyAyMTozNDo1MSBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | NzA5 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | H4sIAAAAAAAEALWXy3LiMBBF/8WzDE77gS2JX5maooSsYCfYVmRBwqTy7yM7 50 | jyEtlFWHHZR9+1SrdSReks7pfko2v1+SnWz2ets1yaaoy1Vi5fCQbJKdHYe/ 51 | Olklg+y1/67s2bhxb6Vpz/5X+SRts1XjcXDJJq9X7ynubOaHndxvd3LSjX/y 52 | 0C15rXNmAzA5qR7Gk7Z3h/HpVo09LC9O4GvDlxqvq69o6yia1Xfa6kFpzFUI 53 | Cq41/C+Aoap4v4ImZSWjwKlABRh1FKM/nfqfaUsNSzZGYVEUc3btOARtqfKC 54 | AofBez4G4nGg1gQ0nJE0h8McjlHENyO8188YZl2SsAh4S0c0LIvSjLt7rVx3 55 | 0mkwxUxQrBbL4LIGJsujZPpZ6UPARLGvWA5v4RimiMJM2p4O2k3B/sooeAr4 56 | zMdI31j6F4YpC5LtzspQOyyu5EYfTNulRZaJYIuRDNAaLktgsLgP7+VJButV 57 | c07BVMOSjmHiRuyMF1ZwauUZzylwGLznY6C4ESetjrZzwQHPSSaaw2c+Roqb 58 | sZeuDXBIJlrAko1QeFyL8l4Gjs5JxplnsIRjlrgIlZzcQadyUajVarRNgEYB 59 | lsO1Spgz7shuaLVfcXnldlaVFIAFXJbAYHFT3g7ahWpaUww6L2EOxyxxW/ba 60 | 7oP2UBxqfA1v2Zglfm81Pma0/bUFywWFJnkFlzUwWVzd6uYmIGKMZMrr8HDj 61 | cW1Pj+EVpCDhYDBnY5K4r5/MXXi5JyHhMGdjkrimZz2Mw6RsZ1xaYihRUTAJ 62 | QFUQnvhG3ZO5tuFZRmFv4e09mfTKnhdxgcuhsWMXSrtkFH+mRQ4fBTBS3NVz 63 | h9LytgqZKIgKWOLTKiCKS9pbQksVnP8kHSrhI/31zyp5PI5Obq3uZTd0w96P 64 | rKj4x8+9P5r9tcx/Vkkrp23vX0w2zh716z85BL/wSREAAA== 65 | http_version: 66 | recorded_at: Fri, 25 Oct 2013 21:34:51 GMT 67 | recorded_with: VCR 2.6.0 68 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/badges_by_ids.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/badges/263;264?access_token=L0J88cciBPHiGtIKCul6Gg))&key=pfllsDjWHeLGWoWIT5rRdA((&max=bronze&min=gold&site=stackoverflow&sort=rank 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 200 13 | message: !binary |- 14 | T0s= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | RnJpLCAyNSBPY3QgMjAxMyAyMTozNDo0OSBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | MjEw 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | H4sIAAAAAAAEAK2Q3WrDMAyF30XXpu4fgfhVRjGKoySmsZ3K6rq05N3rlZXS 50 | we6mOx2OzvnQDbxQyGA+btBg25P1LZhttVPAGI9goOEUrwQKIgYqu+N5ktQz 51 | TsNcVLwgt9alcxQwm0r9pMg8fZsFe9tgprY4R//IG0Qmo3UWdMf0SdyN6bJy 52 | KejHYdalW791LOodbf8nGlNHTNHRb65t/R9ce/0qWA4KTuckaJkC+uhjD6au 53 | q/VTDvhV/rEuo2DAbEPiUtzhmGm5A089dh51AQAA 54 | http_version: 55 | recorded_at: Fri, 25 Oct 2013 21:34:49 GMT 56 | recorded_with: VCR 2.6.0 57 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/badges_by_name.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/badges//name?access_token=L0J88cciBPHiGtIKCul6Gg))&inname=teacher&key=pfllsDjWHeLGWoWIT5rRdA((&max=bronze&min=gold&site=stackoverflow&sort=rank 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 200 13 | message: !binary |- 14 | T0s= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | RnJpLCAyNSBPY3QgMjAxMyAyMTozNDo0OSBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | MTc2 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | H4sIAAAAAAAEADWOwQ6CMBBE/2XPjaVRTOh3eDOGLHSBBtpiW0Ql/LuF4Nx2 50 | MvNmF9CRTAB5X6BC1VKpFUjBwKPtQULlnf0SMLBoKN03wrojnwyc0auydpON 51 | IHORny8ZOxDxM27ZraJSctA7qotxlJyHiHXvXuSbwc2n2hm+lwIXPB7w9cHg 52 | ObmIpSeD2mrbgiyKq/jbBt/pySyJQYehNM6nwQaHQOsPAPg2YtIAAAA= 53 | http_version: 54 | recorded_at: Fri, 25 Oct 2013 21:34:49 GMT 55 | recorded_with: VCR 2.6.0 56 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/badges_by_recipients.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/badges//recipients?access_token=L0J88cciBPHiGtIKCul6Gg))&key=pfllsDjWHeLGWoWIT5rRdA((&page=1&pagesize=10&site=stackoverflow 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 200 13 | message: !binary |- 14 | T0s= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | RnJpLCAyNSBPY3QgMjAxMyAyMTozNDo1MCBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | OTUw 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | H4sIAAAAAAAEAM2XXW/bNhSG/0qgi1wl4TdFGgiGYtg6oN2WIcNuiiE4Eg8d 50 | LvqqJMdNg/z3UZKTxvayxbVR7Mo2JR3xfR+/POR9Enosu2T24T7JwM3xKrhk 51 | xsVJ0kJ1k8ySrK2rz5icJBWUGH//EnI8elN1S2zj4PRIf9cMl4Y7XBxcdPHa 52 | 7H78HMtJJZSlJ4kLXVPA3dWq1DXcFVjGB1psFj30oa6SmU01m0o8lm1xHroe 53 | 27F209Y+FHGWJczHGn3fdDNClsvl2byFW+ihPcvrkkxfic/QO9SKcwPCSFAW 54 | M2nRgNS5xDT7rjtn3By78+Cw6kNeV8ft+cXb+KYijPqHF8T6XQ/5TX2LrS/q 55 | 5fiCYYodmaSRJymQ59j0Vy30cXaM0of/LjR62BEuSBW9PYXJ24eTNSDyCUgX 56 | itvR+5WLb+va7QpESCG3cLxp6hyKOLZBhNOU0QMiUSCNdDk1jEcWSnLElBln 57 | tVVMeK33RTKII/BMzBoTuwsSSebR3ReQ0H/PyG8L7EYDXw2Fa8O3U3J5DWUo 58 | j34CHz5vkEm12RVMlBvORsFnoZwvJjDq15t34eyvZr6yfn7OXu/2OGvSjbM8 59 | vV7Nct1yu4PldErBx0f31k1/eV36wYW+fn0CuKHcGr7l9vu66y/zayzHND03 60 | W+gDZgDTNHfWG6W9MUpQpVKnFKJlnOdMvpSBY78DmZVEUkRJ3ZOkr1+gBMHJ 61 | 440cmCcm87pwX4j8CGW96L4mB1ymZovM93WLd79vQGHSHpCKoCbXkFvvGDqH 62 | xgqZoZaZFZlSMjd7r0yjMpIPSvpNFnKXhckQP7r7Uk4ODkVRGzvdFpSfoarC 63 | ZlDUsH04XLvw6EExD55nIuPappB6LWSuXO6ppPtCmZSRcqVkjwb+7aFonabb 64 | a9gfwW12CmMOSCRjjCnHNcuBx86tFWYWtecs9ZJ6LvcmMsoit5OMdSDskDz0 65 | i93kom4WBbS7I+Ex49Zub67eQVt8OrpcQlXfdjfbkTlkc2FMGLTAchv/2Zmj 66 | XGdemcxSoTNr6N6JWWkkN4Om0+6ZpjVWape2r0kzWf5NYTFp+D/shN9jfXQB 67 | rdugdFBG8QDCTJbGvS9aDVJylzLtBaTSeGr53owmaaTA+rQZpPzfWTBlraB2 68 | i8Vww+raBg51yHNiJnnKmReZ4VYg1RlHhwhxm+aVs3Lvc+JKAlmXs5YXo/dk 69 | 9OdJ8nFR93DVYgmhCtV82Hsr+zhcwqexpdF4aLiG7qqM+5Bk1rcLfPgb5xa+ 70 | qgcQAAA= 71 | http_version: 72 | recorded_at: Fri, 25 Oct 2013 21:34:50 GMT 73 | recorded_with: VCR 2.6.0 74 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/badges_by_recipients_by_ids.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/badges/146;20/recipients?access_token=L0J88cciBPHiGtIKCul6Gg))&key=pfllsDjWHeLGWoWIT5rRdA((&page=1&pagesize=10&site=stackoverflow 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 200 13 | message: !binary |- 14 | T0s= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | RnJpLCAyNSBPY3QgMjAxMyAyMTozNDo0OCBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | ODM5 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | H4sIAAAAAAAEAM2XS2/jNhDHv4qhw55iS3yTBoIeukAXLfrurVgYQ3JoK7Ek 50 | LyUnmw3y3UtLNrqWDm1hF/DBsEV5hvzPD/Pga1Z2WLXZ8s/XzIJf46r02ZIW 51 | d1mE+jFbZjY29RfM7rIaKkzPP5UOZ7/use3Kpk7Lg1H3sju8PPzHp8V9izFb 52 | vvbfvUNGpT449WW728LL6ujs9w1UZTX7AKH8kswi7vYd9I6XSupicHRyHnFd 53 | th3GfoddbEK5TaetYH14uem63TLPy0XbgXtclNV6HxeuqXLx8+MP5eJht/6m 54 | vSdUv1vfk2S+LXtxR6vepnnCGLbNc2912LfNh1PnbX/K+eZ4SnAOd90qQpc2 55 | Nubtn731MWrz5KpO0Zt/OkXv7e5/DTohRgmip1Hv8AlH4ZZFIf5rvNsk9vn5 56 | ebGO8AQdDPEefubSeWlT+KTXmlkK6DU3oJnjTKQ1cqTh70uPdVe6pn4X73/5 57 | 7l+jOWpL7wctZ1BIUdwuFUqIoFMo8AAvIyaManpNJMFA4NyipwIYIQGpNZpL 58 | J0nBtWWXIhmE5UchZ0D4DWcJ45yZaWn6vsFvRzwIvSYOERCCFzp55VoLUQAP 59 | MnjruHGCyYtxDLryhwbdGIcSt4uDKMaMmuDYVSmpxy1CqGsCASd1UIHTVKq4 60 | QSOUdS54DxodpyFcXLJ6ZflJyTkRebtEJCu4lBMiv+EWPqMnIygHdldD4gWV 61 | FghDYXTBUrqgJcKmNsKcNYL6S5EM0vL4t5QzKlrfLhXCRSq4ZILlodnUj812 62 | REXoayZKAqFtKi/EeRCpgVgJmgYTlARVMHdxogzS8pOU24VgiKLFNDU+QD37 63 | I2007h+cXJECR0lcYMbLxAAVE8wkApSl4UpBALyUwqAt30A97wYtZ7khbjg3 64 | OFNcTLG8/xHcrNvg7H3yF5uXZDVu8OqqhILhjhcSKAviMAVbj4lR6vXc2/S5 65 | lNAgM/cVuHmSNfdfyTq/pNxwdzGKSs6n43Bl97FuU2RGjDjh1xzCPDecQ8GV 66 | F2iFQmMZsYYaVaQpGS8uZYO6/EzN+WSsLkHz8S77tG86WEWsoKzLen24kUp6 67 | Wq7gc38bKhK1DbSrqolpzy7u8e0v2APfbfkPAAA= 68 | http_version: 69 | recorded_at: Fri, 25 Oct 2013 21:34:48 GMT 70 | recorded_with: VCR 2.6.0 71 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/badges_by_tags.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/badges//tags?access_token=L0J88cciBPHiGtIKCul6Gg))&inname=ruby-on-rails&key=pfllsDjWHeLGWoWIT5rRdA((&max=bronze&min=gold&site=stackoverflow&sort=rank 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 200 13 | message: !binary |- 14 | T0s= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | U2F0LCAyNiBPY3QgMjAxMyAxMToyMjoyMCBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | Mjk0 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | H4sIAAAAAAAEAK3S0W7CIBQG4HfhuhWwVG1fZVma0xYrsYACnXPGdx91mZmY 50 | OJKWOwic/8s5XJBwXFpUvl1QDW3HK9GikhGaIANqj0pUG62+OEqQAsn93gz1 51 | OdUqNSB664/hBKatGj0oh8r1+PCnjjsfxusOuqoGy1t/tRe3ijvnDiXG1kGz 52 | 1x/cbHt9WjRa4ttDi306fky5Jn91BSNxujQLfTRn030+H4c5j0K6Xm1iiQsa 53 | IvPpxBEQGlMaKjPG7korel8nvpGrGZA+/59GFiQOGPKKzQxjJi9/4ZJld1un 54 | +zZSRovpMh/9mkaWJMb2PNYZvt4Y/jzV9wQdB+2gMlyCUEJ1fkhFTn+PJXz6 55 | 3hC/ErQDW0ltfP4Wesuv3zMGZhmkBAAA 56 | http_version: 57 | recorded_at: Sat, 26 Oct 2013 11:22:20 GMT 58 | recorded_with: VCR 2.6.0 59 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/comments.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/comments/?access_token=L0J88cciBPHiGtIKCul6Gg))&key=pfllsDjWHeLGWoWIT5rRdA((&max=10&min=1&site=stackoverflow&sort=votes 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 200 13 | message: !binary |- 14 | T0s= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | RnJpLCAyNSBPY3QgMjAxMyAyMTozNDo1MiBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | MjM2OQ== 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | 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 101 | syz7fDlHzmes93i43XWQj+0p/fE/QkNMpgQrAAA= 102 | http_version: 103 | recorded_at: Fri, 25 Oct 2013 21:34:52 GMT 104 | recorded_with: VCR 2.6.0 105 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/comments_by_ids.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/comments/129085;131326?access_token=L0J88cciBPHiGtIKCul6Gg))&key=pfllsDjWHeLGWoWIT5rRdA((&site=stackoverflow 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 200 13 | message: !binary |- 14 | T0s= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | RnJpLCAyNSBPY3QgMjAxMyAyMTozNDo1MyBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | NDAw 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | H4sIAAAAAAAEAK2QT2/cIBDFvwuHnMjaBoz/SKseEqXXHHqrKmsM410U2zjA 50 | xolW/u7FdipVaS5VywU0w5s373clJuDgSf39SpQdBhxDYzSpM55xJimZrN8L 51 | LKtSLihRDiEYOzYaAsZ/jEleyIxxSryybi2llKCOY6Oqg94jJXYe0ZH6Si4e 52 | 3T6/kDJKtPFTD2/NCENUkm8YzkAocThdwmazGheM7sLwNq2/HJ6MD+iiQVzQ 53 | 2c702JgBTmvzHMLk6ySZ5/lwcvACAdwhJkv2ZyKySqlUaqlbmXGdChBpmcYi 54 | 5m28+Rd/zFh5o49GRxZG2fHGHR+/RqfejE/vBnG+D6Ce7Au6rrfzZrCu6JMt 55 | WBLeg4BSOIXGbaxKuSz0A2ZWpWX+O+Yoz4tPMccWK/8SM+dMiD8wPxzuD3cQ 56 | EfYfWIvqf6JuNabYZkIhiqJjwPKqylsNpdS846n8V9RbuKS71bdqD7MsPyh5 57 | vtgAjcMBzGjGE6mjqfxVHuB1JRcPJWfwzbCh3PAtPwEIlTGeCwMAAA== 58 | http_version: 59 | recorded_at: Fri, 25 Oct 2013 21:34:53 GMT 60 | recorded_with: VCR 2.6.0 61 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/error.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/users/1363236&&?access_token=L0J88cciBPHiGtIKCul6Gg))&key=pfllsDjWHeLGWoWIT5rRdA((&site=stackoverflow 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 400 13 | message: !binary |- 14 | QmFkIFJlcXVlc3Q= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | RnJpLCAyNSBPY3QgMjAxMyAyMToyMDo0MCBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | ODc= 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | H4sIAAAAAAAEAKtWSi0qyi+Kz0xRsjIxMNGBcvMSc1OVrJTy8uNzU0sy8lOU 50 | YBK5qcXFiekQOQWInEJafmleikJ5ZkmGQklGZrECWHMtALvxi89aAAAA 51 | http_version: 52 | recorded_at: Fri, 25 Oct 2013 21:20:40 GMT 53 | recorded_with: VCR 2.6.0 54 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/featured_questions.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/questions/featured?access_token=L0J88cciBPHiGtIKCul6Gg))&key=pfllsDjWHeLGWoWIT5rRdA((&page=1&pagesize=1&site=stackoverflow 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 200 13 | message: !binary |- 14 | T0s= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | RnJpLCAyNSBPY3QgMjAxMyAyMTozNDozNSBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | NDk0 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | H4sIAAAAAAAEAIVSyY7bMAz9lUAFcrLHWxwvRVAULdAFPfTS6aEoDFqmHc3I 50 | lkei4wZB/r2Sk0wuBXoSKfI9Lo8nJgh7w8pfJ/YyoSGhhko0rIyKNMy2SeEx 51 | CYYqbARVDRDaSJLHWbLNssxjXCMskHtoE6ZFml1hwEkcBB3/ATVcafsVegwG 52 | M6OuuJoGYmXssdpZx4pLZdDcoUmch2l4j0N/QUShJSFB0qaxH19+Yv0ocF59 53 | VGiG9ZukeEurbwqa1QfVjxIJ5dFbfUbR7Wn1CFqgYRYOnVsCE8p5qn5C1zn6 54 | 3HqTmLE+WMrFNlwrKRf3t8fce+t8m1jkPKBm5YlNxo7kFhlHcbp02AgzSjhW 55 | A/Su0fdfoyi2jBrHiZYlWobcTrcg6Ti6JI2dMIQaG5s5atUKiZXooXPBPdFo 56 | yiCY5/mh03AAAv3AVR9czKCABpIw3HAe1nW8zXmW5uk2y9u2STbI83dmF8X5 57 | utmJBgcSXA1rvfv+yVaSYni+FrD8hoA/qwPqVqp5KeBaNMF1sgCeLpMA5zhS 58 | pRe98uL8f57bxZngdm7B67L9xulHvrTS+fxVOn+/KOcfbsoJU10OyO6obEEa 59 | PFtdXiZFUGnsQQxi6FhZFFl4++7hz3I1TpU9mKpfLpH0hOe/is/hHRADAAA= 60 | http_version: 61 | recorded_at: Fri, 25 Oct 2013 21:34:35 GMT 62 | recorded_with: VCR 2.6.0 63 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/linked_questions.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/questions/13804832/linked?access_token=L0J88cciBPHiGtIKCul6Gg))&key=pfllsDjWHeLGWoWIT5rRdA((&site=stackoverflow 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 200 13 | message: !binary |- 14 | T0s= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | RnJpLCAyNSBPY3QgMjAxMyAyMTozNDozOSBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | ODI= 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | H4sIAAAAAAAEAKtWyixJzS1WsoqO1VEqLM0vSYwvSs1NzMzLzEtXsrK0NDOB 50 | CecmVihZGRoAgY5SRmJxfG5+UaqSVVpiTnFqLQAHoLE5RgAAAA== 51 | http_version: 52 | recorded_at: Fri, 25 Oct 2013 21:34:39 GMT 53 | recorded_with: VCR 2.6.0 54 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/noanswered_questions.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/questions/no-answers?access_token=L0J88cciBPHiGtIKCul6Gg))&key=pfllsDjWHeLGWoWIT5rRdA((&page=1&pagesize=1&site=stackoverflow&tagged=rails 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 200 13 | message: !binary |- 14 | T0s= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | RnJpLCAyNSBPY3QgMjAxMyAyMTozNDozOSBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | NDUy 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | H4sIAAAAAAAEAIVSwY6bMBD9FeRDTniBhBBAinroodfeqwpNjCHeNTZrD6Eo 50 | yr937N3sqVK5MLwZ5s28N3emUE6etb/u7H2RHpU1nepZWzTHpqlOx5QJJyHC 51 | PaCkxKHenw7VocpTpsFjBwLVTeH2j7wX1hFEERi/StcJuxiMACrUlGLfnTXJ 52 | q70keAVMBGjtE0gWp5PBOoocqIDMcyJv0m1JkUzKLERELWAMgzO3XDZuDY+l 53 | hIdveglqEl5EwH6n7Kbk+uSvUmZXIx1r72zxNFfYeH8qq7IsU9YrP2vYOgNT 54 | mBAECAWhr5wXjFJQMa0Q/8RtDkVOjsqjdLKnwtnZQWnZqQnGkLwizr7NsnVd 55 | X0YHN0BwL8JO2UeYVZD3fVOIY1PUQ51LkefFZR+FHOpSiG/+XOzrXX9WvTSo 56 | hDU7d/75YzecC2LTyrx9khCHRxBvlqQatF0jSRjTZ5/bZV/bgBByxs5F06ry 57 | 8f9Gz/vw2fM4siAuJ/d4cI9H9zhwEp6TexRFSzi5x6N7vOBf7inffRwFSdYO 58 | oL18kEvvi0XonJxAGWVG1hLP8QlP8IfuK6cnZVfw3RSvC90iH38Bpwuz4cgC 59 | AAA= 60 | http_version: 61 | recorded_at: Fri, 25 Oct 2013 21:34:39 GMT 62 | recorded_with: VCR 2.6.0 63 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/questions.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/questions/?access_token=L0J88cciBPHiGtIKCul6Gg))&key=pfllsDjWHeLGWoWIT5rRdA((&site=stackoverflow 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 200 13 | message: !binary |- 14 | T0s= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | RnJpLCAyNSBPY3QgMjAxMyAyMTozNDo0MCBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | NTA5MQ== 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | 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 162 | hERBTAAA 163 | http_version: 164 | recorded_at: Fri, 25 Oct 2013 21:34:40 GMT 165 | recorded_with: VCR 2.6.0 166 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/questions_answers.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/questions/16067043;19401289/answers?access_token=L0J88cciBPHiGtIKCul6Gg))&key=pfllsDjWHeLGWoWIT5rRdA((&site=stackoverflow 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 200 13 | message: !binary |- 14 | T0s= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | RnJpLCAyNSBPY3QgMjAxMyAyMTozNDozNyBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | NTEz 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | H4sIAAAAAAAEAK2Uy27bMBBFfyXgIivZ4kMPyoDRXV+bBAW6aVEII4qSGUui 50 | SlJWncD/Xkp2GtRxiwTtTuDMJeeeO9ADUk62Fq2+PqDvg7RO6S5XJVqRLMKE 51 | 8ixA0NlRml+HcYZxgISRMPeW4KQvME4yxgjz/Q1Yl4Nwaqfc/kLdCm38kb9E 52 | Wd8nZO+kv7uCxsoA6bGTBq0e0GAfHyURSxkNUKls38A+76D1evRJic3VrRRb 53 | FCAj+8HNA/n+OGbBUe72/dRpZK2sk8Y/E6De6Eo1Mlct1FNx41y/CkO1tA7E 54 | dqnaejBLoduwffv55sPyrq/f2LUncV2viZc3qts+qWaN3klTNXqcVdO7NjzN 55 | HBo/46KfZjwcgpcS9lp6mTDFESV/IXyqnwiTM8LODBcBc0ZIlj7j+xG2Q3F1 56 | U+h7OCfMIvJKwtbDGsdxWRvYgYMj4eNnSGPAGKqKZTItQGCISy5LIjLKq5RK 57 | duJfrlUpO6eE7q7N+vbdi8M4+gvvJj8LPfu5kEaCkxRH7Pc0EpImjPELaSRJ 58 | GmHO6Z/SeKq/dt95msYcP4vjC/h1fw+NPA/jPyZR+gUqwC9vCllZFd47xcCB 59 | QlQQGVf8n5OYrYX33spiM1k5HL4FPgftIDeyBdWprkarLEv443ELP7xHjKef 60 | zgZs3s4wZ3iHn0oB5Nu9BAAA 61 | http_version: 62 | recorded_at: Fri, 25 Oct 2013 21:34:37 GMT 63 | recorded_with: VCR 2.6.0 64 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/questions_by_ids.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/questions/19294359?access_token=L0J88cciBPHiGtIKCul6Gg))&key=pfllsDjWHeLGWoWIT5rRdA((&site=stackoverflow 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 200 13 | message: !binary |- 14 | T0s= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | RnJpLCAyNSBPY3QgMjAxMyAyMTozNDozNCBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | NDYy 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | H4sIAAAAAAAEAIVSTY+jMAz9KyiHOcHw1fIlVaM5zXXvqxWygqGZQsIkpiyq 50 | +t/XMHR7WWlzerLz7Gc/34QiHJyoft7E14SOlNG1akQVl0l5SI+lL3pwVGOj 51 | qG6AkDNpEWdZccwjX0iLsFGeqUOUMnGngSR1VbT8g+qksRxiBNrNaGtpJk2i 52 | YipIiSNhU++Zv3oOUewLUtQzUXwgeeBdcPFaawaGn3AFJ60aOW4tLN58Rr3D 53 | MzjP6H7xYg97HJA7cSXo1snFk8jB7b8Tv3xxVTg/VOWFL8ys0YrqJia3i0rS 54 | JM/K3BeNcmMPS61hWKW9gzWaa1kcJ9oWJKpDwpNtTFrG9ZPFTjlCiw3/HK1p 55 | VY+1GqBbk2ei0VVhOM/za2dZH4F9lWYIv2GYySxPkugYxUUEZZHBEVtZRDJv 56 | Y8A0bd7cKU6Kl+akGp5VSaNf7OnHB3fqlb7sDbi+I5AXc0Xb9mbeGqwSXbhP 57 | FsI+ybcltd1sLA/3/9d5XJMLH6cUdkgBBOxYsDrG8Ln4YFt7sDq2Q3YsWB0L 58 | 4uDpmHL7TfDSKrIT3tmnr8kQ1BYHUFrpjvWVefwID/Cbjyfi5wsuWQ/b1bXQ 59 | O7z/ATLeIrH9AgAA 60 | http_version: 61 | recorded_at: Fri, 25 Oct 2013 21:34:34 GMT 62 | recorded_with: VCR 2.6.0 63 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/questions_comments.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/questions/13804832/comments?access_token=L0J88cciBPHiGtIKCul6Gg))&key=pfllsDjWHeLGWoWIT5rRdA((&site=stackoverflow 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 200 13 | message: !binary |- 14 | T0s= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | RnJpLCAyNSBPY3QgMjAxMyAyMTozNDozNiBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | Mzk0 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | H4sIAAAAAAAEAK2RQW/jIBCF/wuHnFCN7dgGS1GPPfTSe7WyxjBOUQy4QOKt 50 | Iv/3xU63h2gPu9oekNAbZt68jyvREU0g7euVSGcM2thpRdqcC8GafUHJ5MKn 51 | VHK252WSpEeI2tlOQcS1UFV5VYu9oCRI51eJElRpcmobYAxIiZstetJeyTmg 52 | 3+bxJplQonSYRvjoLJjUSCIoA5ZQ4nE6x82GtBVvqobeWuPHtL7zeNQhok8W 53 | aUfvBj1ipw0c1+JbjFNos2ye54ejhwtE8A8pXna7ZoJjo2pUEnldYgN5P/Bc 54 | iJ7xAvuiwsdwyAu+UwetEhAtnd35w8tTchq1PX0apPkhgjy5C/phdPNmsK4Y 55 | si1a9hUFpMQpdv5Gi7FloX+gXf0T7XS+aLO/oF2WjK0M73CnAUE/wx3vcl+v 56 | zt/GG3so1VAXCKJJh9WVhIahkKzuOQP4X963cNkW5gT3xEW+LD8oeT+7CJ1H 57 | A9pqe0y6qMVv2cDP7WtYYvkGoTMb2I3m8gsICQfOJAMAAA== 58 | http_version: 59 | recorded_at: Fri, 25 Oct 2013 21:34:36 GMT 60 | recorded_with: VCR 2.6.0 61 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/related_questions.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/questions/13804832/related?access_token=L0J88cciBPHiGtIKCul6Gg))&key=pfllsDjWHeLGWoWIT5rRdA((&site=stackoverflow 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 200 13 | message: !binary |- 14 | T0s= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | RnJpLCAyNSBPY3QgMjAxMyAyMTozNDozNCBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | MTkzNQ== 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | 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 92 | http_version: 93 | recorded_at: Fri, 25 Oct 2013 21:34:34 GMT 94 | recorded_with: VCR 2.6.0 95 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/timeline_questions.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/questions/13804832;16067043/timeline?access_token=L0J88cciBPHiGtIKCul6Gg))&key=pfllsDjWHeLGWoWIT5rRdA((&site=stackoverflow 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 200 13 | message: !binary |- 14 | T0s= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | RnJpLCAyNSBPY3QgMjAxMyAyMTozNDozNyBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | NzY0 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | H4sIAAAAAAAEAO2XTW/aQBCG/0rlQ0803g/vF1LUYyv10ksvrSprbI9hBbbp 50 | egmhUf571wbSFEzSFFRVKgcka/Ds7vu8y8xwF1mPVRuNv9xF3lY4tzWmfr3A 51 | aBzlTVVh7aNR9G2JrbdNndoiGlNJpCIJH0WLpvXbEFWScz3a5fRRxhmRRMkQ 52 | dQh9fgE+rEy5lIYlNFGjqFnV6KLxXbRs0W0W45IzHrIK2y7msE5rqLrjOFi3 53 | DtppZcOJHC6Wvl8zJAg62qRvD+5wYluPDovw5sI1pZ1jaiuYdF9OvV+04zhe 54 | rVZXEwc34MFdhWPHm8cYOQrDeK6QGZFQodFkJiOJ4bmhnOVv22vK9Ovi2hZB 55 | qM2b+rW7/vgu7BTYzbYbhPVbD/msuUFXzptVv0F3xDbeyosfybm/Hx3Sh7pd 56 | BTJH4Q8wVQnRmg0x1UoJTQ6QfoZ8+uo9zHGf6Bl5FowkGdBgNpiizMI9YQQ0 57 | MEgyiqLUp/LcSIu/Bylvpp2UQZo3jccUJpMgpcP1kiu9XKR9dt4sw49h3FEM 58 | gH+J0UE7pBKMkIsd57FjF9qzgw7YQQbt4MzIYTsuFacXsfPgRTWHMWo4v1A9 59 | SvWZq841STRnj6/6Q+hPK4/gyhypPBdTnmquD+QPmApBRWivgxedcUPFAdFP 60 | tb2tmnqG6z2iwnBxRqSZwLBgASqTKie8KIQsuRYZ4bRMtDgZaa8uXv5Ucz6g 61 | 0ohBoFpRbQ6AeigqqPdhaiXUGWkajaqQWOSoJUcFNCs1NeGKaoYZE3h6ewzS 62 | 4gcpkOe48KnbQCFkkO2xOfyp0vF4Dg87GqKS4y4k5uLC33FBHHdBdDXk0AXO 63 | CenY7tmQN661H2DPB57Ivm+crVxnwItSMgSjwodIkYMiaHIiM00ATvVhIy7u 64 | xcxg3wlDXzamPFNswrBy6Yj/0JgiBDHqMpGf3RRBE3JgCvvNv0lPmfLfzTlf 65 | O+CNh9RhBba29SQUJSPVLlzBbd8vOlxTaNOqcUFJCfMW738Aw6VN11kTAAA= 66 | http_version: 67 | recorded_at: Fri, 25 Oct 2013 21:34:37 GMT 68 | recorded_with: VCR 2.6.0 69 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/unanswered_questions.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/questions/unanswered?access_token=L0J88cciBPHiGtIKCul6Gg))&key=pfllsDjWHeLGWoWIT5rRdA((&page=1&pagesize=1&site=stackoverflow&tagged=rails 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 200 13 | message: !binary |- 14 | T0s= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | RnJpLCAyNSBPY3QgMjAxMyAyMTozNDozOCBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | NDYy 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | H4sIAAAAAAAEAIWSTY+bMBCG/wryISe8hG9CFfW4h73svarQxEwSF7BZewhF 50 | Uf57bWgi9VSfrPl8Z565M0k4WFb/uLOvCS1JrRrZsjo+5IeqqOKQCYOwmlsg 51 | dI60Sso02ZfO1YOlBgTJm6TlH3+RZVnIrNDGm0IGys5oGqEnRauBJPXOxT6N 52 | HtEEMywB6WDthQEEu69J0zd71fP2C0a4YEBXoAD6Xs82GNAnTGO7JqhAn36h 53 | IOYqw8XPw8x0WrhW3IDsLfsZspvE+aWgCJmeFRpW39lknTQ/dJ4Wxb4MWSvt 54 | 2MPSKBi8xg+Une4mV9vgONG6DVYnae7mWHNpGX2cwYu0hAZbFzoafZY9NnJw 55 | yp3zSjTaOormeX67GLgBgXkTeoi2b5SIM1SViMs0xX3b5vH5VAIUaQ5tlVRZ 56 | 9t0e46TatUfZoiIptNqZ4+e769RL1f1t4OpbAtHpG5qzW9PawEu00TZb1L1m 57 | ASFwpMas1A7F4/+Fngdio+d1ROOKjzt8nDTf8HHgHhz3yLhHxjdkfEAftCHj 58 | oPgLmbTNdiBuc/UZeosPx8uDh8bgAFJJdXEiD0XxNA/w21HcuxeyK9hmWC+N 59 | zISPP4wX6PTUAgAA 60 | http_version: 61 | recorded_at: Fri, 25 Oct 2013 21:34:38 GMT 62 | recorded_with: VCR 2.6.0 63 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/user_timeline.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/users/1363236/timeline?access_token=L0J88cciBPHiGtIKCul6Gg))&key=pfllsDjWHeLGWoWIT5rRdA((&site=stackoverflow 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 200 13 | message: !binary |- 14 | T0s= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | RnJpLCAyNSBPY3QgMjAxMyAyMToyMDoxNCBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | OTcx 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | H4sIAAAAAAAEAM1WTY/bNhD9K4QKtIdutvq25aLIoae9JgiKIhsYtDiyWFOk 50 | QlL2GkH+e2coe9eIq9ZFlKKALvwavfdm5pGfIumhc9Hq/aeotsC9NHotuIdo 51 | lWTLNE2yPFvcRb1xfu2PPU5HXLsD2Ogu8rIDJTWcF2rTdaA9CFwbHNi1FBSl 52 | zNKsPIUIM1W+iIsSo54OhNl0uVzkRVVRWK8o3G8t90w65ltgtbEWas967lvm 53 | DcPwrDGWcbbh9W5rzaAFkx3fApMaZ2vnWCPVafSGS+UY73sl68AQY2Jsz3eA 54 | 02LPtaeTpgn/4s4B/kn2gdxrJCPAYwSiTkuvBqsI1xlTwEEL7vlQ9PluSs40 55 | KW+Uc1y4Xc3/m24TGmBFpeXsGhTVkqbOGjxo3O0Z/pUjFSTeDcrLHol5vlGI 56 | vrGmY0aTQtpboxTYn/YSDuz9SDr/MI0/zZNqfvz4veB/20MtmyNpzw4Sc9eC 57 | NbuBic2qH1w7jS1ZlN8AW5ZlL9jeYQ3VLdS79cY8UVF5s92ishvwBwCskYNh 58 | oIA621EdjYJi1XWTsNMyTZLZXabIqyq+cpkiW8QXbH7l+vvvsupnzyxoAZbt 59 | uZIiIHQMrDU2kCD42EXWS64uHeF3M2CClGJbrH3qArP5gxru5aTEqE8s1BZX 60 | ztyzB5RFyR0wxztghxYlO9Bg/3wYTwWVsKfq0HYcu/QED/XWGEo24y+wfjtw 61 | k8ImRR6ns9dDES8vem3M7yuWBpFc6KrOCFB/gyrJl7OjGrP9NXmdxJtl5a14 62 | by/PfFnG1+WZL7LiojzfDJsjJtyz1vseqXwcwHmmjOlZB741giqBoj6vCSnO 63 | zB0yvyzWdz2REqNbjwQmKSfLMp+fcrVI8mvKZZHFX9ZTvmJvd7JnNVeK7qpr 64 | Hqw7nliMFglPvEOHn6QUV1lZ/FdZLOIk/kZZDPf7kXwH71/yA2HoOBnQaAlY 65 | 1pexpm/iOF3cfBN/dZLjZZ79myQ/hBeMpUo9MhfuQ1nTdS1k8MRgocE9SQth 66 | 9A8oL5koykXg6bRGM1LHsEEDFb5h9EbBHSxskc3pRYMNQZtqrjHSI/pFQxvX 67 | p1CPOvjtOLjXUr3GGYY7VHN/mv0lDJxHJ6Hhj2HIh2DfNGHxBG591JTMiXzE 68 | FVborU13sy+e0vEPws8BycJeOjw/E6TLd7cQmL0sK/DhwS1eijC698aI4zT0 69 | YpHOr+bY7vM19hzobxd+bvRXOUr+OkUf7qKPg/F8baHjUku9jVZVVaXn6Y4/ 70 | IcA4JnQtd+vOWATY4IMJPv8JEPEh/aMOAAA= 71 | http_version: 72 | recorded_at: Fri, 25 Oct 2013 21:20:14 GMT 73 | recorded_with: VCR 2.6.0 74 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/user_top_answers_with_given_tags.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/users/707894/tags/ruby;rails/top-answers?access_token=L0J88cciBPHiGtIKCul6Gg))&key=pfllsDjWHeLGWoWIT5rRdA((&site=stackoverflow 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 200 13 | message: !binary |- 14 | T0s= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | RnJpLCAyNSBPY3QgMjAxMyAyMToyMDoyOCBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | NTgz 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | H4sIAAAAAAAEAO2WTY/bIBCG/wuHPVkbBoOBSFGPvfZeVRa1cRatvwokaRTl 50 | vxc7TqP12pGyu0f7ZPGOPTCPXmZOyHhdObT+eUJ/dtp509SpydEaYqAsAYiQ 51 | qt1B29ui4EmEMqtVH5srrzuBQUJiKkN8qZxPdW78W03EbNBU5s3e+OOE7rLG 52 | hiUaIeNCXKZbr0Neb3c6Qs2h1hatT2jnhv1wzIUMwblxbamOaa2q8DUqdGla 53 | nZVNqx2KkNXtzve7DckIJdHlB/7YdsFWb43z2oY8EWptU5hSp6ZS20588b51 54 | 69XqcDg8b63aK6/sc9ZUq8vrCjQWORUFySgG0ITRIqZ58ZsyLgDy4pvbABFP 55 | +cbkuvYma+onu/nxPWQqTf06JAj/d15lr81e26JsDn2CbotudTnganSgS2FS 56 | 25dPiPM5eg+PSEbFGB6RSTINj1GaCDYNj1FG4A68qz7Aixd4n4QXzCD4GB6J 57 | ZSzZFDwSTEmFmAX0Xx8AwQhQoUq3EHqIEGZUMj4ihBnDHCbtBRi4xPMWuuoz 58 | hBYLPQhIAsZA8VtAEijHMAVIYE4FBzIH6KYPgPAC6LMNKnQiPnYQJDzB0w7i 59 | IGI+06A4SN5Vec5dV32B93XTBWfk/XQhCZ6ZLpiQ9yeIXp8BtDSoxxuUxJzT 60 | cYOSWIppe5FEMjF7/930hdDXjRAJFsm7EYJzmJ7QITAQdy65q74Q+hihX1Eg 61 | 1HiVWl0pU5t6i9ZSdmPzZblSf8PRcXgi9KJcWvVl7st6/geF/SVtRg8AAA== 62 | http_version: 63 | recorded_at: Fri, 25 Oct 2013 21:20:28 GMT 64 | recorded_with: VCR 2.6.0 65 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/user_top_questions_with_given_tags.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/users/707894/tags/ruby;rails/top-questions?access_token=L0J88cciBPHiGtIKCul6Gg))&key=pfllsDjWHeLGWoWIT5rRdA((&site=stackoverflow 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 200 13 | message: !binary |- 14 | T0s= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | RnJpLCAyNSBPY3QgMjAxMyAyMTozNDoyNSBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | NjY0 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | H4sIAAAAAAAEAO2SS2vcMBRG/4rRIrRgx5YfY40hdFFKodAHbaGLUoxGvp5R 50 | YkuOJMcZwvz3Xs0zpAnNIsvMZoyupKv7nXNHpIPekur3HbkewTqpVS0bUtF5 51 | muY0YSERBvh2ueEOsJAxSvNZkWGp49bVXDh5I936Xr3My9IftUIbXMpDwpWd 52 | wNRCj8qRKgvJwn+ta97vVookJE66DneTD8ZoE0gVLEbVdBBMK1AB3IIYnVTL 53 | QBitzi/1IpikWwW/sAg3YEhI9KTwv7ojo8VWfogyKdkcuzfSDh1f14r3vkEL 54 | nRxAdHoAi+cMDKPbjoivT/M03F3g1oPfbGAprQMDDW4djG5lB7Xs+dIXV84N 55 | torjaZrOl4bfcMfNudB9vPuMKSSsyVmbijyhFNIib7O8aRd5UWKKTfvOXtCU 56 | nTUXsgHlpNDqzFx8+4idOqmu9g3wfuu4uNI4ZtvpadvAP9HGuwHjBwNxIWBw 57 | tdnyYGzz/9sO6G184B6DpxBJFe0oRJ5CdKQQeQoRUog8hW1xT0HaegcbA6uc 58 | GWET/qMWTRKaJ4+plRQzypL8SbWSMmclTY9qJQ/Voofxodm/49AzLxHBybL3 59 | WikQW6Mspn8lrwOnAzdBj5Bv12/U6ITBnMC8fXXrpdzagY/FMfton33kdHTM 60 | /hT983xiBctomu6lgUa6ozAYRTlL6OwR13wpn7H5U66VLC3KjJZH16L0ubL5 61 | BxWZb9ppi7V7LVmapvOThd+hxcbaeA0/6wa6Kvg5AbigNboPPv34+oUcb8EB 62 | rPeI6LbFvAYpXsV8ITH3BsXmhCPqPQ4vJbjI04guffqPCfknRCG140io51Lh 63 | YVLN52V2WO75LYac4C8kK27rfqtTyzsLm79FrvCLgQcAAA== 64 | http_version: 65 | recorded_at: Fri, 25 Oct 2013 21:34:25 GMT 66 | recorded_with: VCR 2.6.0 67 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/user_top_tags_by_answers.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/users/707894/top-answer-tags?access_token=L0J88cciBPHiGtIKCul6Gg))&key=pfllsDjWHeLGWoWIT5rRdA((&site=stackoverflow 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 200 13 | message: !binary |- 14 | T0s= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | U2F0LCAyNiBPY3QgMjAxMyAwOTo1OTozOCBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | NDY2 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | H4sIAAAAAAAEAL3X7W6bMBQG4Hvxb6hISJqPW6mm6AxOwR226fEhWVb13udU 50 | 6zQFTzYWJb+IZfzktQ3HeROSUVlxfHoTDM1Jg0JxFDR8v+ZG5wSysyITrwNa 51 | lkafbGXIdVj/01SZQbM4lpkAbS9In302+78tf7psikwM1n2XtTjuit3+sHnP 52 | /u/mpUcuI+RyfS+Xqxg5MejhXjuEsBc4g61I9uwhizG5uidHU7sqg6YblHwR 53 | VxHebuStJy7lwzouahGkH0NyjWdpMW4xR0kf77l9iIOK5RkJ3f11Ysbt5Iwt 54 | qy4R24weyxCmrvbVp8XsnOma1Iyk4TYqdPLXx8VcUYOvgfbaI3VS/1hMvGE5 55 | m8W82lx0ZyB1q04HyXWTCnMkMrSYOugan6XG5XJeYb5HMog9G1K+wpykBd/l 56 | ytSYmq2crFU96Pm4qMrfYPJsJoBYS1cuImv/LKBdDmuMaTrMq5aM8hXhr1Ff 57 | bHKRGGHbEGYRqGrn4oInN74gcur2HB2Fg1PJF8muAnu8POYANR3sjeXG7VHv 58 | GeNrMoLtHzRyrs7VXKZnGb/dxjEMJ0IFUkvduP8Gh2352azgp/uthftkogV7 59 | Uh8jMw34/htHO5C4mA0AAA== 60 | http_version: 61 | recorded_at: Sat, 26 Oct 2013 09:59:38 GMT 62 | recorded_with: VCR 2.6.0 63 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/user_top_tags_by_questions.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/users/707894/top-question-tags?access_token=L0J88cciBPHiGtIKCul6Gg))&key=pfllsDjWHeLGWoWIT5rRdA((&site=stackoverflow 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 200 13 | message: !binary |- 14 | T0s= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | U2F0LCAyNiBPY3QgMjAxMyAxMDoxMzo1NyBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | Mjk3 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | H4sIAAAAAAAEAL3T207DMAwG4HfxdSv1BD28CkJV1rlroHG2JN0Y096dgBiC 50 | JlJKL9a7OpE//ZF9AW5QaGieLmDYriUmEBo4DUh4RAURHCbUhktqdSeVPSt+ 51 | lTo5kYEmjYCRPqG63Ul+Ct83bGHS9pdvoSmTsqqLa/QH7JSku2Fq2pxjSbFi 52 | fNRx7nFz183nbp7N4Tz9l+xxswVuUc3dIph4i0eucRnoPPDj3KuWxFyZrp5j 53 | dQjrWYcbKV9XpnPGJwuBUhBnkxnuBoqzPoweLV2gFc6wBFdR9j2i7hTfm5Wo 54 | EzG4GC+2p/LNzBKudLjgkxou8F2SbyVWBfRs4PNnH2lYq1AwTpx2dpjrh+xW 55 | FuzNdk7sF8HAdCu+Ovds1Hj9AJb0QS2XBQAA 56 | http_version: 57 | recorded_at: Sat, 26 Oct 2013 10:13:57 GMT 58 | recorded_with: VCR 2.6.0 59 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/user_write_permissions.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/users/1363236/write-permissions?access_token=L0J88cciBPHiGtIKCul6Gg))&key=pfllsDjWHeLGWoWIT5rRdA((&site=stackoverflow 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 200 13 | message: !binary |- 14 | T0s= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | RnJpLCAyNSBPY3QgMjAxMyAyMToyMDoyNyBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | MjAx 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | H4sIAAAAAAAEAK2OwU4DMQxE/8XnHNKuKOz+CkKRmwwQtHEg8apU1f47RqhS 50 | b8uhvs3TyPMulBWl0/R8oaWjhZxo2g2HYT8cHNXjB6IGPX+CJmLpJzRyFFkC 51 | JytqW/AXkbLe5oQZiisp/B0S5/kcOGquYnu7veEsoSNWST0coSdAbgt+ddtS 52 | sZYC0TtZPW5IPfxH6WtB/+3fyelpw2n0fn1xtlqVQ0PhLFnejI+jv2J7a7re 53 | ztE791Bqs8lXnjvWH3vaImMDAgAA 54 | http_version: 55 | recorded_at: Fri, 25 Oct 2013 21:20:27 GMT 56 | recorded_with: VCR 2.6.0 57 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/users.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/users/?access_token=L0J88cciBPHiGtIKCul6Gg))&inname=raysrashmi&key=pfllsDjWHeLGWoWIT5rRdA((&site=stackoverflow&sort=reputation 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 200 13 | message: !binary |- 14 | T0s= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | RnJpLCAyNSBPY3QgMjAxMyAyMToyMTozNCBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | NDMw 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | H4sIAAAAAAAEAHWSy47bMAxFf6XQYlbG+CE/YgNBl90WmGVRGIzM2EL08Ehy 50 | XDfIv5d2ks4USLUSeHUp8pAXJgNqz5ofFzZ5dK3sWJPykme8jG6RsIzIGuaw 51 | lz6gw45FTDiEIK1pOwi4GnhRkolXEeukHxUsrQG92WDxDvygJdlGZ49SYSs1 52 | 9Ks4hDD6Jo7neX7tHZwhgHsVVse3a4wcizrjosKsLvK02GF9qA9JXnNRpzwT 53 | X/0+zXYv3V52aIIU1ry4/fdv9JPDcQpbiVRdkX4OtGIA0yOVvrAmeabMiCfW 54 | 5MUzTVsTBsqZPVXfJ3DE6L/6grCKBX2rwIcWhEDv/1LcZRXnvH6o2nbyKLH7 55 | pBdlnnAeMelb1KOyC5JwBOWRPNKc7lCJqQ8gTvaM7qjsvEFdp+nj+3DjfwYz 56 | 48HTIrSTUx8ZPl6sdnqlrLgjZW/BitNglY6+vM1I9EmmZuxkwm2F8jxPSlqh 57 | A3TU9ybQll1Yb1W3YfdSnVdSdD04a35TH8X1+jNi75MN0DrUII00PWvquqoe 58 | YQ2/KHlCJ2IDeELkHgCufwD4zSj6zAIAAA== 59 | http_version: 60 | recorded_at: Fri, 25 Oct 2013 21:21:34 GMT 61 | recorded_with: VCR 2.6.0 62 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/users_answers.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/users/1363236/answers?access_token=L0J88cciBPHiGtIKCul6Gg))&key=pfllsDjWHeLGWoWIT5rRdA((&site=stackoverflow 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 200 13 | message: !binary |- 14 | T0s= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | RnJpLCAyNSBPY3QgMjAxMyAyMToyMDo1NyBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | NjIz 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | H4sIAAAAAAAEAO3YSY+bMBgG4P/iw5zQxPbnBUeKeuy196pCHuJkrGFJbSc0 50 | ivLf6xCitgQYlTNSDsgv4OWRF3JBNpjSo/X3C/p5ND7YusrsFq2J4pxQJhOk 51 | K98Y96eQg0pQ7oxu793qYGIAKeVcSYITVGgfMp0He7LhPJD7vHaxKF5ZH+/L 52 | zSGY+O6dLrxJUN1UxqH1BR39o1IQQEEkaGv9odDnrNJlfB45ffZO+/fSogQ5 53 | cziGtkXxAU6S++PhfGjvNHvrg3GxmgQdXL2zhclsqfe38D2Eg1+vVk3TvO6d 54 | Pumg3Wtel6v75cqA4YpCLg1VnBGeGvWm3jBTkCsCNP/iN4SmL9uN3Zoq2Lyu 55 | Xtzm29dYU2Grj66C+H4fdP5Rn4zbFXXTVnBrol913Vv91Z3rNRnSgCENxvCY 56 | BhA+qdHmi8YsDcZpSvsajIMgwxoMMz41N7p80ZilQZQg0NcgKpViUIMxFafO 57 | uMYjXzRmaWBM2JMGxgB8UAMkAyzGNR55p0F6GsEdF4xRDCYxMNHDiIVcyEEM 58 | GttGJjAe+TI1ZmnEIxD0t41YmMLwQhW3fComNB75ojFTAzh71oi/EQ3KiJrS 59 | uOedBl0Wqv/DoBQ/YwDACAaRYhLjni9TY55GPI4+L1QcpyMLFYknWDqh0eWL 60 | xmyNp02cx1Pq8LdfHG3C0kmNNl9OVHMwmJCS9zFYKvAwBlZcUtZhmK0N/0DE 61 | Q/HUItbly44yC0rh23bcg1KSsBEoBWIUiqQgp6Du+bK+fS71I4lSddCZM6W2 62 | la32aK3U7d+Ue3Gpf8V+YnybT+/aZ2U7pO0QXn8D1gW4yK8UAAA= 63 | http_version: 64 | recorded_at: Fri, 25 Oct 2013 21:20:57 GMT 65 | recorded_with: VCR 2.6.0 66 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/users_badges.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/users/1363236/badges?access_token=L0J88cciBPHiGtIKCul6Gg))&key=pfllsDjWHeLGWoWIT5rRdA((&order=asc&site=stackoverflow 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 200 13 | message: !binary |- 14 | T0s= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | RnJpLCAyNSBPY3QgMjAxMyAyMToyMToyMCBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | NDAx 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | H4sIAAAAAAAEAO1VQU+DMBT+Lz14InZQNwfJ4sEYryZ6M4a8lTfWjLb4WsS5 50 | 7L9bYJrNZPG0G1yA9n3fe/2+fLBjyqN2LHvdsSUUJeaqYFkcMQKzYRlbkjVf 51 | yCJmQGN4f0GQa6SwAC1QkUvbGN8DBrTf1l1ZV12EosaF2mzX3wdmMROJmEWs 52 | UK6uYJsfeAm2jsCttQoowrrx4JU1ATCNB5ofasJSOY/U89dkV6oKQ2sou821 53 | 97XLOG/b9rok+AAPdC2t5sMjR4HTNBHyFpN0ehNP55gu0+XkJhUyjUUi79wi 54 | TuZXxUIVaLyS1lzR4ukxdKpUr0fXIPA7D3JjP5BWlW37Bt2Ijh+Ox4+Os/8f 55 | 20sXwNwf1N1Hx24kZ9149k035+jGBdxIwtag7qkb4qwbD4XydozGJcwQHAdx 56 | T72YnU9GU9eW/PiluogdM+5+9f2TjvO/jnurdRgVxoxcKCMxl0cS798i9t5Y 57 | DzmhBmWUKVmWpvPJz7KGz6DPJFwRW4PLtaWgwQoqh/tvootb2xcIAAA= 58 | http_version: 59 | recorded_at: Fri, 25 Oct 2013 21:21:20 GMT 60 | recorded_with: VCR 2.6.0 61 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/users_by_ids.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/users/1363236?access_token=L0J88cciBPHiGtIKCul6Gg))&key=pfllsDjWHeLGWoWIT5rRdA((&site=stackoverflow 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 200 13 | message: !binary |- 14 | T0s= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | RnJpLCAyNSBPY3QgMjAxMyAyMToyMDo1NyBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | NDI5 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | H4sIAAAAAAAEAHWSTY+bMBCG/0rlw57Q8mEgASnqsddKe6wqNJgJWPEHa5tQ 50 | GuW/dyBJdyulPlnz+h3PPDMXJgNqz+ofFzZ5dI3sWJ3ykme8jG6RsIzIauaw 51 | lz6gw45FTDiEIK1pOgi4GnhRkonvItZJPypYGgN6s8HiHfhBS7KNzh6lwkZq 52 | 6FdxCGH0dRzP8/zaOzhDAPcqrI5v1xg5FlXGxQ6zqsjTYo9VW7VJXnFRpTwT 53 | X/0hzfYv3UF2aIIU1ry4w/dv9JPDcQpbiVRdkX4ONGIA0yOVvrA6eabMiCdW 54 | 58UzTVsTBsqZPVXfJ3DE6L/6grCKBX2rwIcGhEDv/1LcZzvOefVQte3kUWL3 55 | SS/KPOE8YtI3qEdlFyThCMojeaQ53aESUx9AnOwZ3VHZeYO6TtPH9+HG/wxm 56 | xtbTIjSTUx8ZPl6sdnqlrLgjZW/BitNglY6+vM1I9EmmZuxkwm2F8jxPSlqh 57 | FjrqexNoyy6st6rbsHupzispurbOmt/UR3G9/ozY+2QDNA41SCNNz+qq2vNH 58 | WMMvSp7QidgAnhC5B4DrH/2cQjXMAgAA 59 | http_version: 60 | recorded_at: Fri, 25 Oct 2013 21:20:57 GMT 61 | recorded_with: VCR 2.6.0 62 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/users_comments.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/users/1363236/comments?access_token=L0J88cciBPHiGtIKCul6Gg))&key=pfllsDjWHeLGWoWIT5rRdA((&site=stackoverflow&sort=votes 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 200 13 | message: !binary |- 14 | T0s= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | RnJpLCAyNSBPY3QgMjAxMyAyMToxOToyOSBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | MTAzMQ== 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | H4sIAAAAAAAEAO2Zy27bRhSGX8VgAa/kcGbOmZsCI0hTINuii26KQhgOhxIR 50 | UVSHtFXF8Lv3ULJbi6LSyHJ2BLywKc3l//zPuQwfkrINVZNM/3hIfF1VYdXO 51 | yjyZCmOMEqgmybpu9o+4Ra2MxEniY3BtWa9muWsDfQBGCA1gzSRpfB27R5Mk 52 | 5DQzDSvcsgmTpN6sQkymD8ldE+J+PlAggFbIy2a9dNvZylU0NIlu20TXLKoy 53 | mSQxrO/a3WI0QNK0u+Htdr37ZpiXTRsiLUP7jHVRLsOsrNy8+3DRtutmmqab 54 | zebdPLp717r4jiSm+1/TAEFaAV4HYSVyaYLNbMbQgrcchP/Q3HJhrvPbMico 55 | pa9X1/H218+00rJcfXlagOZvWue/1PchFst6s1ug22KTPslLX8h5fJwcUZag 56 | GRxSlmgtG6TMhRKcj5S/TXmnZ7mdtfWs+9IhDk1ri2Mcn+P1TwLg/bwuY/jU 57 | Q6LPJfINIErmKE2OmGHgGCRjRubGOFAsGCyyJyCuWr9/CaX7+zwwe6HpnDbb 58 | afI00nkf1u0s7vwkzZAdNUpre4eeSaWHDz0HBP2vHdlox3PtKBVDYY9o/OLu 59 | y/zqt0VNu+jxAIZvyMMC14qCulKWaSmMJgq51UxxKDLG8VIee31p3um5ic96 60 | DnzIGTs2IgimmD7IPop2CmAGjEibF8hxNOL52QeZwV72Qav5cI7nTJBZRsqv 61 | P+6UvhlF2CMcn6L7ur362cVV2PaBwBvykCiBckxeqCw3OZUToLRUyBxTPsv8 62 | xcf9SV/qOz032bOew7wzcNzJiJJx1jOiUexEGcQsKDka8YIyyGrCC0c4fndL 63 | enL18aurXCybHhPRVfhvxkTRvxe5R5sb0NygZ5B5LULOnFSZ5SeYXBe3/Pu5 64 | 7HWm9ztdN+4/XQeeNDDoSSWh78nTwZFzo3D05Bgcf0Bw1CD7Wfp0cOQAyoxG 65 | HIPjDw2OFuxRo3j6dshqzcf6/Oz63HJrkB9Spgxkh7ogQ9NJrflI+WzKgkL/ 66 | 4U2nZIxOxzBljWrsNV9BGYQ0tk8ZQA5TNkbIsdc8l7LtfNu1Ri8po2I4XCtI 67 | pKJkbKReQbm7n+pRlkYMx2WirNUYMc6nzAF1L2JIjqe8rAC7Nykj5Vc3YIhi 68 | 6N1IdnQJLdgbYsCMqkPJHdUuQuRZYWzwmaWEoXQoMpdd3HftZaXZd949d76T 69 | Fvq+k2BP+U7asfG/xHdA+5DHb0Ha2jXttl2Eet7n8ZavQCzznOWOcbSWM1kU 70 | xvtCFHmB0tHPxfbbq0tfqhkyHdlO91KKNZSeB02ngSsYy6P/Syl/TpK/7urW 71 | zWKoXLkqV/NkSm0rPj+u3N+7INBdpSxcM6t2NHcIH/8BL3QPXRohAAA= 72 | http_version: 73 | recorded_at: Fri, 25 Oct 2013 21:19:29 GMT 74 | recorded_with: VCR 2.6.0 75 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/users_favorites_questions.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/users/707894;1004415/favorites?access_token=L0J88cciBPHiGtIKCul6Gg))&key=pfllsDjWHeLGWoWIT5rRdA((&site=stackoverflow 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 200 13 | message: !binary |- 14 | T0s= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | RnJpLCAyNSBPY3QgMjAxMyAyMToyMToyMCBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | MTAzMQ== 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | H4sIAAAAAAAEAK2WXW/bNhiF/wqhAbkyK5GiJMpDUAQb0HXogALZ3TAINEnZ 50 | bCVREel4XpD/3pey7Dq2gzRobmSLn+fwPHqlh8h43bpo/s9DdLfWzhvbVUZF 51 | c8JJRjNezKJGOF9pZXylhNfQkxZ5StKcZ7NIDlqMU753JUVCcjpNE9Kbe+O3 52 | x1N5WeR8Fjlph9A0i0TnNnqopF13Ppqn0CCl7r1W1dRz0FNQ0LMI47aVaHfj 53 | s2QWeeMbWCtqtV9ZhUyHBGqt0g3yFrXCyxW6+fQJCeesNKNgdC8asBvBXLEM 54 | 9qNhvdhi2+FBmCa0h/vp59CMU2jprfPLQbu7JgpSwaAeNJhR0b+z6N7ozd4J 55 | ycCc3XR6iOYP0drtnbC8zGk+i5RxfSO2VSfaIP5PC3o/DKLrxLi/7td+1BrN 56 | WQ4mxwX8tg9jB700zsO+KggabG0aXZlWLEPnyvvezeN4s9m8Ww7iXngxvJO2 57 | jXd/Y5EzyVhNCCNM1qQsqMyp0gkjipVc6vfumlB+pa6N0p030nZXw/XnD7BT 58 | Y7qv0wawvvNCfrXgvm7sZtwgSHTxZDD+Aobw8mBol2o1jCRk2ePLy+2BhCUn 59 | GuNdwth0WOAxYewtHhPGomnwUcL4kLBxE0hwWnM/rPXj7BR2miYFP8eZUkrK 60 | PC/YszgTVuYsKw44p+yU5/wZnmlKyiN0/7AbpCz6iK5+SctfQbsJe4w3CHBV 61 | oHaw24D2HtAXwJVwHgs40XMqk7S4xCUlKSnOqLz1ul/pDv0mlqDzKZY0zfgb 62 | clmSgpZKZFQmnCcy5UlaZ4s61wuuF7pkP8vlaBB6R0NYToaeYMnp67AcuYlX 63 | doOVxQbvYwtxTIkFVPfJvAwiSzPCGbtUdBklBcuz/AKlJYF5SUmeozQnPKcF 64 | P6KU/mDVhXVh4/IpplBTh/XEIXII9zwJiMK1t4N//wKax8X0FE3CwyNxjiaD 65 | ihJUnLDZNv8v7PYESlgje0MoU8F1sdA5USLJk5oVCVeKSi1lLUSRZT8L5c5a 66 | fLDyBMeCvQrHiZ6RRyiLENJ00i5kFA4eriGjH2KxAHDKkl9ikbAEXuRJeuED 67 | gKQlxMiS51j8PvW5DwByGUWQU3ByhOJNL+RKQ2FyTnRqEOh3CAzdQlsrUG0H 68 | 9PfGeIgd3XoQ2ZpuiW4+fzyiU/Qm3O1GwT+3HzdWz2nVU0az8HSeEwrFnJH0 69 | jNC/xBej0E1Tm9qccMrZG1LKS5bmEl7imZJCck0JSTJ4zWc8WVBV/3Tp3NmL 70 | 22AHXrSTnSeskiR5FawTXrEYY8SHA8dAisBujBFDjHgKCB/iwbvgzgmGqO7W 71 | 1otqgLmmC0nOy7Io982t+G/UmQCdK+GqdgSwFo3Tj98AvEvClwkLAAA= 72 | http_version: 73 | recorded_at: Fri, 25 Oct 2013 21:21:20 GMT 74 | recorded_with: VCR 2.6.0 75 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/users_featured_questions.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/users/1363236/questions/featured?access_token=L0J88cciBPHiGtIKCul6Gg))&key=pfllsDjWHeLGWoWIT5rRdA((&site=stackoverflow 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 200 13 | message: !binary |- 14 | T0s= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | RnJpLCAyNSBPY3QgMjAxMyAyMToyMDoyOCBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | ODI= 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | H4sIAAAAAAAEAKtWyixJzS1WsoqO1VEqLM0vSYwvSs1NzMzLzEtXsrK0tLCE 50 | CecmVihZGRoAgY5SRmJxfG5+UaqSVVpiTnFqLQCBtgUnRgAAAA== 51 | http_version: 52 | recorded_at: Fri, 25 Oct 2013 21:20:28 GMT 53 | recorded_with: VCR 2.6.0 54 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/users_mentioned_questions.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/users/707894;1004415/mentioned?access_token=L0J88cciBPHiGtIKCul6Gg))&key=pfllsDjWHeLGWoWIT5rRdA((&site=stackoverflow 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 200 13 | message: !binary |- 14 | T0s= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | RnJpLCAyNSBPY3QgMjAxMyAyMTozNDowNyBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | MjA0NQ== 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | 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 94 | lS7vNzVjVfHsv/4XPfr6fRxJAAA= 95 | http_version: 96 | recorded_at: Fri, 25 Oct 2013 21:34:07 GMT 97 | recorded_with: VCR 2.6.0 98 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/users_noanswerquestions.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/users/1363236/questions/no-answers?access_token=L0J88cciBPHiGtIKCul6Gg))&key=pfllsDjWHeLGWoWIT5rRdA((&site=stackoverflow 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 200 13 | message: !binary |- 14 | T0s= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | RnJpLCAyNSBPY3QgMjAxMyAyMToyMTozNCBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | NDAx 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | H4sIAAAAAAAEAIWSwY6jMAyGXwXlMCcYCpQOQar2uNe9r0bIDYZaDQmTmDJV 50 | Ne++gdLVHFbanCLbv387X+6CGAcv6t938TGhZ7KmoVbUmSzLvNpVsVAOYQ23 51 | wBgSRZWXh32xL2OhwXMDiulKfPtH3ivrllAswPgZXaPsZFjUu1gwsQ4pcbZz 52 | xDYi4xm0jjSdHNquI4WRNdEZnb1MIpRDvwwptsB7LK6E87NfFhra2aAT9V1M 53 | PhitKxSHIi8OsWjJjxpujYFhsXRw8w78eaDQ2OE48bpfEJRh0lXOt3GtxJ48 54 | o8M2VI7OdqSxoQH6dXLm0ddpOs/za+/gCgzuVdkhfVxTLLCUeaHeMJflPisr 55 | lCd52u1loWRW5OqHP2Z59dIeqUXDpKx5ccdfP4OTJnPZDEL/8DDqYq/oOm3n 56 | 1WAZ0afbeum3db7+r31CDvqNcBoQJGyTDUHyDUFiTfIXAfnmQTG8Rt2B9vgV 57 | MHxMlqFxOAAZMr2opXw7PMMDfC5wwonFGXwzrN/hof0D/bUbfHoCAAA= 58 | http_version: 59 | recorded_at: Fri, 25 Oct 2013 21:21:34 GMT 60 | recorded_with: VCR 2.6.0 61 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/users_notifications.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/users/1363236/notifications?access_token=L0J88cciBPHiGtIKCul6Gg))&key=pfllsDjWHeLGWoWIT5rRdA((&site=stackoverflow 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 200 13 | message: !binary |- 14 | T0s= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | RnJpLCAyNSBPY3QgMjAxMyAyMToyMDo0MSBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | MTI2Ng== 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | H4sIAAAAAAAEAO2bbW/bNhDHvwqnAtsby5YsW5a9rliReVhfbViCDcMyCIx0 50 | lghLpEpSdowg331HWs7D4AWJWrQwwjexYvF/Rx55P5xo6sZjGmrlLf6+8bjQ 51 | bMUyqpngqd414C08Dtu0kWzDKijAG3gKm3uLG/t5aFNTxlN7Y+BxWpuvzjXN 52 | 1uTXDchVJbb4fSUKkbaywnul1s1iNMpyPlRKo7dsyEGPlJGITjFidTEymmHD 53 | C5TThlkPaUMletAg0dAjRde3xz4etRhmojam2pwBz0wvGylWoBQOl1aE8pwA 54 | 12WrGFWa4L0CXdUgFYpYhiF5Yfdp01Tga9FmpW/0h6FUaB9MxA+mttvt8FhP 55 | u9srmsGVEOsjbf7pBm36YWdLyJpWJhR6VzF0hzOFn+s0E5UwIXsTBLPZ2Rm2 56 | 0LRIV0JCIUXL8/sG0TL+KVl2Da7Q4X8bLIPl+59D7xbnlLY8K9Pc+g7H43AS 57 | xUkQDLwV3fQJWCcb4h/0L6FCw7md9m59Hltb5Kyk+ujkZ3jjaFytZZx0bGra 58 | eLcYxprKdS62PIVrDdwsCTtDv0nQmBQ7E+mSFWUqQYmqtRnyOdbEj2O7KjCY 59 | mYR94nXhjJLxdDIJk/HAuxL5Dp2cCY4rUqsB2Yn2uw2QAvMOcqJLIHcpSr7l 60 | OVXl92QjNBAzIvKWklLC6ofL/82KUQlVM7qzoUZG7BvxpfeuAio5qXGpvB3R 61 | dyYXVNpy7G3uLVa0UnA7OI6OK5oXkBo15I4cjhyOHF+MHFE8TcLZHTn+2vNi 62 | n4qWF5dIE1yhHD0KeekRm6vDFyS3qwtcdrvs/jrZHSYTzO+edQHkTBMcb91y 63 | pndky9asT4VgzPh3Znxj5lNqBYcThxOHk6+FkyAc98WJAk2ucOY0A9WHI6j3 64 | D3oHEAcQB5ATBEg0nSVxT4Bk++cQAuh+ty1BQh+MdFbcdoUDiAPIqQEkjMI4 65 | nEdPblect00jJKaD26xwue1y+1RyezafhmE86/t0oWm1JowTM8JeZQHqXE3g 66 | uOG4cXrcCCYPHyqO1QQXQLPyviIgOKPPgcTHFpRxpkZhksTJPJ5jI+ZvmS79 67 | kipfcOxkiRNflD5Cwd8KucblZFrPwiCcvjlcIFnOLz4QIyQoTFFIOiFBIemE 68 | hjmuWnHUcdQ5DerEk75bGcYe7H9SaYTSvTZE3W8qjiOOI6+aI/boVtv0PrjV 69 | Ng4bDhsOG68MG6uKFv3rDqP2rdrBw8HDweOVwUNCjZ4J5i9pFUj8X2nJMrtP 70 | 0gcnaMg3htzuq2OJY8mJsSSOo3kUTp/efT3XbW6PXPTefY2DeBZMohFFzGAT 71 | yITM7XIyRzkY3+ByzX3NahAtZp0U0odryGwE8KphEnLEy3ur/t2qF4vzg/7D 72 | Xr8gF3sDi8XSmFiQOxuks+H2Zx2XHJdOhUvj+bjvK3GYKNgN1phNWoYVCWj6 73 | HGI9qGoeWPAZ940FV+A4kDiQnBxIgnEyn42fLHCWOXvwclyP+maaJOZw7KfU 74 | Nz5eliDFuv0clQ7By1+stZfWPAVwwMdBBykHKQepLwSpaBpHcRTdv8b7J1TY 75 | fyBakMch+Ib8wXD4pgh6FqPMxsz+Fb4RsjAaRzHSxW77NLSwRYzxYV7tsRZN 76 | 2PfZgYleHcUGRudjKzTF8BgY2JU3nyeTw9c1vcYhBYFZHOaojCmWDtp/AXYe 77 | uQ+DRAAA 78 | http_version: 79 | recorded_at: Fri, 25 Oct 2013 21:20:41 GMT 80 | recorded_with: VCR 2.6.0 81 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/users_questions.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/users/1363236/questions?access_token=L0J88cciBPHiGtIKCul6Gg))&key=pfllsDjWHeLGWoWIT5rRdA((&site=stackoverflow 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 200 13 | message: !binary |- 14 | T0s= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | RnJpLCAyNSBPY3QgMjAxMyAyMToyMDoxNSBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | Njgz 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | H4sIAAAAAAAEAO2VwY7aMBBAfyXygRPekJiEJNWq6qFqe6va3qoqMskAo01s 50 | 1nbI0tX+eycOsHQFave+XBLGMx7b72EeGTpoLSt+PrL7DqxDrUqsWRHlSRJn 51 | s2zKKgPSh2vpgAZEFifpXMyTKWukdaWsHO7Q7S+M20qbITRlUtkeTFnpTjlW 52 | zKbMoWtoiG10HzgdoLJONk3Q4NKAXq2wgkCrYANG33WM0uV6WCQ7BH5N2Q6h 53 | P84X0YS6V2BY8cg6S438FkQqYpFOWY1228h9qWQ7tDRyb420mxZpYgPbzvn9 54 | UUFCK/Xlbr/1mbBG68BATZlbo1fYQImtXPuVO7e1RRj2fX+zNnInnTQ3lW7D 55 | 8TUEAUkei2oBcZ7MoySDfJkvZ/NcVHkk4uq9vY3ibFLfYg3KYaXVxNx+/USd 56 | GlR3hwY0Px1Mdad3YFaN7n2DYYk2PGwvPNvO079rj5Cp/kA4JATcaX5AwM8Q 57 | cK34CQHacqRIp1GsZGPhafpSmnSWLmZzcUGaNI3jKBfimjRpupjPsiy+Lk30 58 | LM2HoRq+AWXWRfGd+EFLZ/hF7WSDdRH8wBZ054riozHaFAE8QNUNy6G3LY44 59 | j0aZbrkf9mkkNpYLGrnsmIgXb5K9XrKDEaEHTpsckNkjMByBcTfygoEWP8Hi 60 | z7D+xz2RzeaZiC+4lyRRkpJh19wbxsk+cXKPxy/li5/l+0w3ViVV0AX0a6H3 61 | SePeiUCbQKp9QFb5gP9SbaShZmACpV0Aqka1Dnp0mzGFSiZrelqp0OFvuCYl 62 | xc9SrDO45T7xhaFp8ibo6wU9aONvQcLKO+6xcsHJRaI4HLV/nmhyoslHmnyg 63 | OSSeAfrLVWc6eCJO9512sjTQSlRUx4o8z6NjuJUPw38YfejykbZsvYSj5n8A 64 | DOdzxKEHAAA= 65 | http_version: 66 | recorded_at: Fri, 25 Oct 2013 21:20:15 GMT 67 | recorded_with: VCR 2.6.0 68 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/users_replied_comments.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/users/707894;1004415/comments/1300151?access_token=L0J88cciBPHiGtIKCul6Gg))&key=pfllsDjWHeLGWoWIT5rRdA((&site=stackoverflow 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 200 13 | message: !binary |- 14 | T0s= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | RnJpLCAyNSBPY3QgMjAxMyAyMToyMToxOSBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | NDAw 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | H4sIAAAAAAAEAJWSP2/bMBDFv8sNmRRJlCmYEmB0a9YiGTIUBcGKJ4WJ+Kck 50 | HdUw/N17lp2hyZJwIu54997vgUcwGW2C/ucRBm8tuiyNhr4RvG02XVNA8OlS 51 | Yl3TcFaLAoaIKhvvpFYZqbERjHHqtgWkwUcq1QWgps00Nqo5YQF+cRihP8I+ 52 | YVz3beut6HgB2qQwq4N0ytIkjDibgMPsAyYoIGLY51WNhBpOhtYF+RDOjyNO 53 | JmWMJEROox/NjNJYNZ2bTzmH1FfVsizlFNWryiqWBFldrhXDWmguxmbgNWPY 54 | tHzccD3+5u2WgPT4Le1YI270zmiKxQze3cTdjztSmo17uQrQ/pTV8OJfMY6z 55 | X1aBs8VUXQCrd0BqGDBkGdfohDitiPNBZi/PY/9FxDZ1zVr2IaN79YxOR+Xk 56 | /buItuyLAZF/U64EpbHT/hLQw2PC7+VzmK4RTDv2aeqr5yq+ebyNcDr9KuDP 57 | 3mclI1plnHET9F0n2FvZqr+EW9Mp4EkladdvtP6d0z/thorBpAIAAA== 58 | http_version: 59 | recorded_at: Fri, 25 Oct 2013 21:21:19 GMT 60 | recorded_with: VCR 2.6.0 61 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/users_reputation_questions.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/users/1363236/reputation?access_token=L0J88cciBPHiGtIKCul6Gg))&key=pfllsDjWHeLGWoWIT5rRdA((&site=stackoverflow 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 200 13 | message: !binary |- 14 | T0s= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | RnJpLCAyNSBPY3QgMjAxMyAyMToyMDoyOSBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | MzE5 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | H4sIAAAAAAAEAK2U3W6EIBCF34VrL4a/YfBVmsYQpbsm9aeC3TYb372Sdi/W 50 | plWzJtzMgfAxhwNXVkffBJY/XdkY/FDUFcu5RCkkZqzvQvxWrNaCgH6k+Nl7 51 | lrO30YdYdy3L2HsX/U0e+yKVYZYH34/RpTVFeXbtaZ7WGZurykWfQCS0RUUw 52 | ZWt8ACn1Pd+14eKHXXQOS7xSnNRxeFeWvo9/0X81n+hila4UIcDhdIHWbOhd 53 | 6TQetl4srZ99R00b8Mra45vnBFwcSN+Zu834jd7vbF5qQ3hc7vbevORgV4NH 54 | ZDjwx9/8Am+s5hzNqvcIaEDJw788RGmFFauvXhIokmITv+ou7X8nuHcAtdIC 55 | OU3P2bxhF10x+MbVbd2eWG4tmZvcuI8UXUgZOLtQNN0wb/DiXoOfvgC71p89 56 | OgYAAA== 57 | http_version: 58 | recorded_at: Fri, 25 Oct 2013 21:20:29 GMT 59 | recorded_with: VCR 2.6.0 60 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/users_suggested_edits.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/users/707894/suggested-edits?access_token=L0J88cciBPHiGtIKCul6Gg))&key=pfllsDjWHeLGWoWIT5rRdA((&site=stackoverflow 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 200 13 | message: !binary |- 14 | T0s= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | RnJpLCAyNSBPY3QgMjAxMyAyMTozNDowNyBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | OTIx 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | H4sIAAAAAAAEAO1XW4+bOBT+K14e+pRpMNhgIo2q0V560a40GvVttUIuHBI3 50 | YFPbJI1G89/3mGSqsqWbqnlNIuVyDnAu3/cdDo+R8tC5aPX3Y+SG9Rqch7qE 51 | WvlS1dFKiJQm8SLqjTsaqOAi5Wl2MvlDD9EqktrtwUaLqDJdB9qj6QE6s1N6 52 | TfAQ44jUNak2Uq+DqbGmK/0ewBNviCRKOy91BaQDvzH1+B9kTUyDzqqVzp08 53 | IYIF6ZXRZS09hqZpLhKeZTFdRLLvrdnJduLK4yTFZK3BLDB2OThMdPUYhe+x 54 | ojzORcEWUa1c38pDqWUXSmqgVT1UrenBYVgL/eDHwHjhhCWL4wVO9VtYK0zZ 55 | QsgQYzWqhVJ1ch2cG+97t1ou9/v9y7WVO+mlfYmNWh5/LinEomaiSSoWUwoJ 56 | Z03K6uYD47mgtG5euVuaiBf1raqxtaoy+oW9vX+NkVqlt6cAeH3sYbU1O7BN 57 | a/ZjgJCiWx4LXP6nIFlV0PvSjq0S4ulpMUsAxjNKJwRIk4zie0qATwOeF5qz 58 | iLzybTC9MXtSSU3ekhAKIRz7UfbSb4g1gweygbYHG9DGyhDpB6laR1LSmRra 59 | VxM2ve0CtCOdxsvP8IAnCY8FK2Z4MLoKxq88uIgHsfiGB5yd5cEfStcBuG5o 60 | vepbIPdv7skaNISQQevYUEf2CmnxDk+3h+U7bIirrOr9T3Egy+PvcSBPxZUD 61 | F3CApV+Ef+JAKkQuznLgT2O2pDF2lDwxmjwMHw7jd5D8BOX3eLtAUhC/gf/D 62 | mTJOqZjFGV08Z1ecfx5nVohkqnUqsN/ntR5mPt7RW1NtyZgIfgbB/gY75WA6 63 | 0n993ga+IH1cBjpj8WYQYO2tGkeE0fDLLAuoiBnLZlkQXDwtriy4hAW54BMW 64 | xFnC+VkS3FkrD+NARxlLbRBfS2QwTvC/qz8OIeIZpSOQMRVz293oyorkivEF 65 | GGeCTjGmaSHEj213KFcL3irYAWlwS9/sJCp+XNpf//4efeN5BEvyWFpQv5fr 66 | 8KgRWRz/N0bf2NP4DzWeDg9oBOuNrDulo3++psxfcgsjXZ4TOg2LqhpCpd8Z 67 | EhnlMc9mCYQuHl8JdAGB0iJPv348YEWcxSw9+3h4V49LYYWLgQICn3tl5Yli 68 | MxDSjGVMhDZ/hOpbX17EVwx/AEMU06fBeFla6KTS2KtoVRQ5fzZ38jOWHuML 69 | JSldGdQVrRrZOnj6F08QUJopEAAA 70 | http_version: 71 | recorded_at: Fri, 25 Oct 2013 21:34:07 GMT 72 | recorded_with: VCR 2.6.0 73 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/users_tags.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/users/707894/tags?access_token=L0J88cciBPHiGtIKCul6Gg))&key=pfllsDjWHeLGWoWIT5rRdA((&max=10&min=1&site=stackoverflow&sort=popular 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 200 13 | message: !binary |- 14 | T0s= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | RnJpLCAyNSBPY3QgMjAxMyAyMToyMDo0MSBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | Mzg3 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | H4sIAAAAAAAEAMXX23KCMBAA0H9JX8GxXqryK50Os8AqiySRTaJSp//eaFtx 50 | 6GuT8hhgD5tsLlwEWZRGZK8XoUCiyESFRzIoElFqp6zINokgkzN2jhgrkW2h 51 | NXhrk7pCBqs516rt73ecQc7JP7martabRSJqMLnplVb9Vbo99ZHcPSgtHZGx 52 | 1FwN6ktglV3Rp1qlDNSadD6ZxaNlb7p24JZ/zFl2j1pjtIqGlU/RqNrKh05c 53 | hMWggfOAzQNj5jBRaFN5LP/DTOfR1C2UWGi9jwZqqQicrcOB48luELgM6I0S 54 | tCeUB9bnfhBngTO0J7IWORw4StFQhXvq4iXoFPm9ScUDT2ApIrfV7JtjDV8N 55 | keuz6RxynzqKR16jtBG5x40i8PD5mBSwWMapqR2pczyOtfNTbxcRdEURcu38 56 | ddiW8O5PvVjOolUMqJ1rgZt4S8xdTCsf//Z7EbqH3xLROW3BB5ZA6lpD2Waz 57 | Xv40S39+zJ6n/vp6X2rG7+/+BJa6W4KDDQAA 58 | http_version: 59 | recorded_at: Fri, 25 Oct 2013 21:20:41 GMT 60 | recorded_with: VCR 2.6.0 61 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/users_unaccepted_questions.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/users/1363236/questions/unaccepted?access_token=L0J88cciBPHiGtIKCul6Gg))&key=pfllsDjWHeLGWoWIT5rRdA((&site=stackoverflow 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 200 13 | message: !binary |- 14 | T0s= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | RnJpLCAyNSBPY3QgMjAxMyAyMToyMToyMSBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | NjA3 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | H4sIAAAAAAAEAO2UTY/TMBCG/0rkQ0/xpo2bNAlaIQ4IuCHghlDkTWbb0SZ2 50 | 1naaLav974ydtltWrBB3crE9H54Zv4/yyNBBb1n1/ZHdj2AdalVjy6pVvsw3 51 | y7WIWWNABnMrHZBD5HmarkpBrk5aV8vG4R7d4cK/WS+LIo2ZbbTxpphJZScw 52 | daNH5YLBoevIxd75bPgCFNlW1VdHd/Sg3Ce1lx22VfQNe9Cjq6r3xmhTRfAA 53 | zejbod2ABlpGd8mtn4CZ8ebAteJGYme5IM8OjL4b2Y+Y7RGmU3mRbmKmJwWG 54 | VY9stNRYGFnkIhV5zFq0QycPtZK9b9HIgzXS7nqkGw0MowvvQQkZDRLS3WEI 55 | kbBF62DuajD6FjuosZdb79w5N9gqSaZputoauZdOmqtG98m8TUBAVqai2UBa 56 | ZutVVkB5U94s16VoypVIm7f2epUWi/YaW3ogbLRamOvPH6hSh+ruWIDut042 57 | d3oP5rbTUyjgW7TJcbzkYpynv+eeoKD8IxFJEJyG9JLZk2A4C8bdrBd4tfhZ 58 | LP4sFtp6hoFO1a3sLDzFL9kTxXJdiPQP7GXZKsuJsNfY836iT5zZ4+lL+NJn 59 | +D7qKWqkisZIdjRwtOjcGxFpE0l1iIiqYAiHZicNFQMTKe0iUC2qbTSh280h 60 | lLLY0mqlQoc/4TUoyX4RYp3BgYfAF4Tm2X9A/x3QIzbJTk+cZOUjD7JywYlF 61 | UtE/dVjPanJSk89qcq+mD7wQ6DdWnRnhiXS6H7WTtYFeoqI8VpXlpjiZe/lA 62 | z76kj34+0tZ9gHDG/BcR2lF8bAUAAA== 63 | http_version: 64 | recorded_at: Fri, 25 Oct 2013 21:21:21 GMT 65 | recorded_with: VCR 2.6.0 66 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/users_unanswered_questions.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/users/707894/questions/unanswered?access_token=L0J88cciBPHiGtIKCul6Gg))&key=pfllsDjWHeLGWoWIT5rRdA((&site=stackoverflow 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 200 13 | message: !binary |- 14 | T0s= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | RnJpLCAyNSBPY3QgMjAxMyAyMToxOTo1OSBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | MTE1MQ== 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | H4sIAAAAAAAEAO2XW2+kNhTHvwriYdWq8WKDwTBSVK26vahqd1eK+lRVIw+Y 50 | iROwiW3m0ijfvcfAXDqZabNSHjMvgC/H9vn/fPSfx1A60dpw9udj+NAL66RW 51 | c1mFM1IQjAnFV2FpBB+aK+4EdCQ5TjOSY3oVNty6OS+dXEm3PepnNGckvgpt 52 | qQ00QRCu7FqYeal75WAMNJSl6Jyo5lPPtCZlmECvk66BieEPWikB8dUysLIS 53 | 9/IhcDpwa9F2Rm+236jelYaX98J8G8IsvvQnCU2/2MKnEZW08Jxm+gG7ieFf 54 | V+FKivVuQwkcRq+VMOHsMezttB+GWV5AD4TpGr6dK976TdWikZ0oG90JOyzT 55 | 9W7IEJwgpnDsIYDbdn6wEUtpnYC9wFBYu5aNmMuWL33nrXOdnUXRer1+vzR8 56 | xR0370vdRuNrRATOK5rXcUkhLSJOaZ3Qql7QlOWEVPX39prE+bvqGk6onCy1 57 | emeuv/wMKzVS3U8LQHzrIEd6JUzd6PWwgN+ijcYDRicHGqWZm0HOPH/6/2g7 58 | cmy0wyYq98qhKf/IabQX4CAcLCjtRAEkaeZML56uTmlMEkwGMgbkQFi3x42x 59 | PM4Klp8hNQU50iJOL5HqpzKM2Z7U+JTU+AKpeRonWYIPpH5ulfzQu9vgu+Cj 60 | WEkrAhT8xEux0Po+gCOvIAkG2j77QT9ufEjYaQD5OgK3niZ4qoBhpBUyXDYW 61 | JdBSDWHhRcNSHKKcQkxoTN4wfh2MJ96iXa7RmH20UwjtJEXad4udoGgU9AVE 62 | sySnKc7PEh2nKWZpeoZo6EryrMgvEg1XgeC8+PrayyhmWZ4diP64BVBkGYhG 63 | tCBLoLQLSt40vhhX0vjLvRJBK9ytrgJAmQcf1LJvuPn15gjpO2DAlkZ2zksy 64 | Drizx+9oH+wZ0P6CvfH8GjxPtEXVKCqaREUgKppEPeiARlF9+eHoWLMXYJ0V 65 | BckYO4cuzpIkIxdtAyOE4ST+D9twqRgzXBQ0Tg7ofhGmldb6AgsKSFFB4Y1a 66 | 5aJa68jA2bkVNooxAJZhRgq4bCzq+kUjy6jvGs0re2In9qXYC9Hyv+FTlDF8 67 | lNwYKcyaP8c3f6P3leidoIq6va5o1BWBqAhERTtR0b9FRaOo6CDqSxCmjKRJ 68 | cgbhLAdPkXhnewFhTGmSsezrq28GABdFcUD4Fz74JLATn5ZSbeD5hwItjAKU 69 | P0ElhlSvBlvsKSkDbq1wNlhLcCA3N79doncwEsoHhGc/BoS323Gx0XYsANgT 70 | kqkH8A3lV0F5hCuaUo4GMdAkxVCOJ2XRqCwalUVeWWRt80K7nNIsyfA5cwH+ 71 | gVCansM7TViRZfSiXYapKdxEssebvBTvJE3jnLAD3r9vA37HN0GnrRupLXVd 72 | CzFahUDawW7cclUNfsP2ENXawX8sILvHBgNObrZnHfNxyOfegr7953stszzS 73 | FrVb5EVFXtQR2GMFkLQD3ztR0SQqOhL1Odog20OvHZ8b0XKpYF44g0KZ7Jpb 74 | vgEJMPx8GbPzdgCz5o0VT/8AzfSC490QAAA= 75 | http_version: 76 | recorded_at: Fri, 25 Oct 2013 21:19:59 GMT 77 | recorded_with: VCR 2.6.0 78 | -------------------------------------------------------------------------------- /spec/fixtures/vcr_cassettes/users_unread_notifications.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.stackexchange.com/2.2/users/1363236/notifications/unread?access_token=L0J88cciBPHiGtIKCul6Gg))&key=pfllsDjWHeLGWoWIT5rRdA((&site=stackoverflow 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: {} 10 | response: 11 | status: 12 | code: 200 13 | message: !binary |- 14 | T0s= 15 | headers: 16 | !binary "U2VydmVy": 17 | - !binary |- 18 | bmdpbng= 19 | !binary "RGF0ZQ==": 20 | - !binary |- 21 | RnJpLCAyNSBPY3QgMjAxMyAyMTozODoyNiBHTVQ= 22 | !binary "Q29udGVudC1UeXBl": 23 | - !binary |- 24 | YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA== 25 | !binary "Q29ubmVjdGlvbg==": 26 | - !binary |- 27 | a2VlcC1hbGl2ZQ== 28 | !binary "Q2FjaGUtQ29udHJvbA==": 29 | - !binary |- 30 | cHJpdmF0ZQ== 31 | !binary "Q29udGVudC1FbmNvZGluZw==": 32 | - !binary |- 33 | Z3ppcA== 34 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu": 35 | - !binary |- 36 | Kg== 37 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw==": 38 | - !binary |- 39 | R0VULCBQT1NU 40 | !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM=": 41 | - !binary |- 42 | ZmFsc2U= 43 | !binary "Q29udGVudC1MZW5ndGg=": 44 | - !binary |- 45 | ODI= 46 | body: 47 | encoding: ASCII-8BIT 48 | string: !binary |- 49 | H4sIAAAAAAAEAKtWyixJzS1WsoqO1VEqLM0vSYwvSs1NzMzLzEtXsrK0NDWF 50 | CecmVihZGRoAgY5SRmJxfG5+UaqSVVpiTnFqLQB/t6n0RgAAAA== 51 | http_version: 52 | recorded_at: Fri, 25 Oct 2013 21:38:26 GMT 53 | recorded_with: VCR 2.6.0 54 | -------------------------------------------------------------------------------- /spec/helper.rb: -------------------------------------------------------------------------------- 1 | VCR.configure do |c| 2 | c.cassette_library_dir = "spec/fixtures/vcr_cassettes" 3 | c.allow_http_connections_when_no_cassette = true 4 | c.hook_into :webmock # or :fakeweb 5 | end 6 | 7 | def configure_stackoverflow 8 | RubyStackoverflow.configure do |config| 9 | config.client_key = "pfllsDjWHeLGWoWIT5rRdA((" 10 | config.access_token = "L0J88cciBPHiGtIKCul6Gg))" 11 | end 12 | end 13 | 14 | def stub_get(url, params = {}) 15 | stub_request(:get, stackoverflow_url(url, params)) 16 | end 17 | 18 | def fixture_path 19 | File.expand_path("../fixtures", __FILE__) 20 | end 21 | 22 | def fixture(file) 23 | File.new(fixture_path + "/" + file) 24 | end 25 | 26 | def json_response(file) 27 | { 28 | body: fixture(file), 29 | headers: { 30 | content_type: "application/json; charset=utf-8" 31 | } 32 | } 33 | end 34 | 35 | def stackoverflow_url(url, params) 36 | url = basic_stackoverflow_url + url + "?key=dsadsadasd999&site=stackoverflow" 37 | params.each do |k, v| 38 | url.concat("&#{k}=#{v}") 39 | end 40 | url 41 | end 42 | 43 | def basic_stackoverflow_url 44 | "https://api.stackexchange.com/2.2/" 45 | end 46 | -------------------------------------------------------------------------------- /spec/ruby-stackoverflow/badges_spec.rb: -------------------------------------------------------------------------------- 1 | require "spec_helper" 2 | module RubyStackoverflow 3 | describe Client::BadgesHelper do 4 | before(:each) do 5 | configure_stackoverflow 6 | @user_basic_url = "badges/" 7 | end 8 | 9 | it "should find badges" do 10 | VCR.use_cassette("badges") do 11 | response = RubyStackoverflow.badges(min: "gold", max: "bronze", sort: "rank") 12 | 13 | expect(response.data.is_a?(Array)).to be_truthy 14 | expect(response.data.count).to eq(30) 15 | expect(response.data.first.name).to eq("cryptography") 16 | end 17 | end 18 | 19 | it "should find badges by ids" do 20 | VCR.use_cassette("badges_by_ids") do 21 | response = RubyStackoverflow.badges_by_ids([263, 264], min: "gold", max: "bronze", sort: "rank") 22 | 23 | expect(response.data.is_a?(Array)).to be_truthy 24 | expect(response.data.count).to eq(2) 25 | expect(response.data.first.name).to eq("cryptography") 26 | end 27 | end 28 | 29 | it "should find badges by name" do 30 | VCR.use_cassette("badges_by_name") do 31 | response = RubyStackoverflow.badges_by_name(inname: "teacher", min: "gold", max: "bronze", sort: "rank") 32 | 33 | expect(response.data.is_a?(Array)).to be_truthy 34 | expect(response.data.count).to eq(1) 35 | expect(response.data.first.name).to eq("Teacher") 36 | end 37 | end 38 | 39 | it "should find recently added badges" do 40 | VCR.use_cassette("badges_by_recipients") do 41 | response = RubyStackoverflow.badges_between_dates(page: 1, pagesize: 10) 42 | 43 | expect(response.data.is_a?(Array)).to be_truthy 44 | expect(response.data.count).to eq(10) 45 | expect(response.data.first.name).to eq("Nice Answer") 46 | end 47 | end 48 | 49 | it "should find recently added badges by ids" do 50 | VCR.use_cassette("badges_by_recipients_by_ids") do 51 | response = RubyStackoverflow.badges_between_dates_by_ids([146, 20], page: 1, pagesize: 10) 52 | 53 | expect(response.data.is_a?(Array)).to be_truthy 54 | expect(response.data.count).to eq(10) 55 | expect(response.data.first.name).to eq("Nice Question") 56 | end 57 | end 58 | 59 | it "should find badges by tags" do 60 | VCR.use_cassette("badges_by_tags") do 61 | response = RubyStackoverflow.badges_by_tags(inname: "ruby-on-rails", min: "gold", max: "bronze", sort: "rank") 62 | 63 | expect(response.data.is_a?(Array)).to be_truthy 64 | expect(response.data.count).to eq(7) 65 | expect(response.data.first.name).to eq("ruby-on-rails") 66 | end 67 | end 68 | end 69 | end 70 | -------------------------------------------------------------------------------- /spec/ruby-stackoverflow/comments_spec.rb: -------------------------------------------------------------------------------- 1 | require "spec_helper" 2 | module RubyStackoverflow 3 | describe Client::CommentsHelper do 4 | before(:each) do 5 | configure_stackoverflow 6 | @comments_basic_url = "users/" 7 | WebMock.allow_net_connect! 8 | end 9 | 10 | it "should fetch comments" do 11 | VCR.use_cassette("comments") do 12 | response = RubyStackoverflow.comments(min: 1, max: 10, sort: "votes") 13 | 14 | expect(response.data.is_a?(Array)).to be_truthy 15 | expect(response.data.count).to eq(30) 16 | expect(response.data.first.edited).to eq(false) 17 | expect(response.data.first.score).to eq(10) 18 | end 19 | end 20 | 21 | it "should fetch comments by ids" do 22 | VCR.use_cassette("comments_by_ids") do 23 | response = RubyStackoverflow.comments_by_ids(%w(129085 131326)) 24 | 25 | expect(response.data.is_a?(Array)).to be_truthy 26 | expect(response.data.count).to eq(2) 27 | expect(response.data.first.edited).to eq(false) 28 | expect(response.data.first.score).to eq(10) 29 | end 30 | end 31 | end 32 | end 33 | -------------------------------------------------------------------------------- /spec/ruby-stackoverflow/question_spec.rb: -------------------------------------------------------------------------------- 1 | require "spec_helper" 2 | 3 | module RubyStackoverflow 4 | describe Client::QuestionHelper do 5 | before(:each) do 6 | configure_stackoverflow 7 | @question_basic_url = "questions/" 8 | end 9 | 10 | it "should get questions" do 11 | VCR.use_cassette("questions") do 12 | response = RubyStackoverflow.questions 13 | 14 | expect(response.data.is_a?(Array)).to be_truthy 15 | expect(response.data.last.respond_to?(:answer_count)).to be_truthy 16 | end 17 | end 18 | 19 | it "should get questions by id" do 20 | VCR.use_cassette("questions_by_ids") do 21 | response = RubyStackoverflow.questions_by_ids(["19294359"]) 22 | 23 | expect(response.data.is_a?(Array)).to be_truthy 24 | expect(response.data.last.respond_to?(:answer_count)).to be_truthy 25 | end 26 | end 27 | 28 | it "should get answers of questions" do 29 | VCR.use_cassette("questions_answers") do 30 | response = RubyStackoverflow.answers_of_questions(%w(16067043 19401289)) 31 | 32 | expect(response.data.is_a?(Array)).to be_truthy 33 | expect(response.data.last.answers.count).to eq(1) 34 | expect(response.data.first.answers.last.answer_id).to eq(19_401_432) 35 | end 36 | end 37 | 38 | it "should get comments of questions" do 39 | VCR.use_cassette("questions_comments") do 40 | response = RubyStackoverflow.comments_of_questions(["13804832"]) 41 | data = response.data.last 42 | 43 | expect(response.data.is_a?(Array)).to be_truthy 44 | expect(data.respond_to?(:comments)).to be_truthy 45 | expect(data.comments.first.owner[:user_id]).to eq(87_189) 46 | end 47 | end 48 | 49 | it "should get linked questions" do 50 | VCR.use_cassette("linked_questions") do 51 | response = RubyStackoverflow.linked_questions(["13804832"]) 52 | 53 | expect(response.data.is_a?(Array)).to be_truthy 54 | end 55 | end 56 | 57 | it "should get related questions" do 58 | VCR.use_cassette("related_questions") do 59 | response = RubyStackoverflow.related_questions(["13804832"]) 60 | 61 | expect(response.data.is_a?(Array)).to be_truthy 62 | end 63 | end 64 | 65 | it "should get timeline questions" do 66 | VCR.use_cassette("timeline_questions") do 67 | response = RubyStackoverflow.timeline_of_questions(%w(13804832 16067043)) 68 | data = response.data.first 69 | 70 | expect(response.data.is_a?(Array)).to be_truthy 71 | expect(data.posts.first.respond_to?(:timeline_type)).to be_truthy 72 | expect(data.posts.first.timeline_type).to eq("comment") 73 | end 74 | end 75 | 76 | it "should get featured questions" do 77 | VCR.use_cassette("featured_questions") do 78 | response = RubyStackoverflow.featured_questions(page: 1, pagesize: 1) 79 | 80 | expect(response.data.is_a?(Array)).to be_truthy 81 | end 82 | end 83 | 84 | it "should get unanswered questions" do 85 | VCR.use_cassette("unanswered_questions") do 86 | response = RubyStackoverflow.unanswered_questions(tagged: "rails", pagesize: 1, page: 1) 87 | 88 | expect(response.data.is_a?(Array)).to be_truthy 89 | end 90 | end 91 | 92 | it "should get noanswered questions" do 93 | VCR.use_cassette("noanswered_questions") do 94 | response = RubyStackoverflow.noanswered_questions(tagged: "rails", pagesize: 1, page: 1) 95 | 96 | expect(response.data.is_a?(Array)).to be_truthy 97 | end 98 | end 99 | end 100 | end 101 | -------------------------------------------------------------------------------- /spec/ruby-stackoverflow/user_spec.rb: -------------------------------------------------------------------------------- 1 | require "spec_helper" 2 | module RubyStackoverflow 3 | describe Client::UserHelper do 4 | before(:each) do 5 | configure_stackoverflow 6 | @user_basic_url = "users/" 7 | end 8 | 9 | it "should find users" do 10 | VCR.use_cassette("users") do 11 | response = RubyStackoverflow.users(inname: "raysrashmi", sort: "reputation") 12 | 13 | expect(response.data.first.display_name).to eq("raysrashmi") 14 | expect(response.data.first.creation_date).to eq("2012-04-28 18:05:37 UTC") 15 | end 16 | end 17 | 18 | it "should get user by id" do 19 | VCR.use_cassette("users_by_ids") do 20 | stub_get(@user_basic_url + "1363236").to_return(json_response("users.json")) 21 | response = RubyStackoverflow.users_by_ids(["1363236"]) 22 | 23 | expect(response.data.last.respond_to?(:display_name)).to be_truthy 24 | expect(response.data.first.display_name).to eq("raysrashmi") 25 | end 26 | end 27 | 28 | it "should get error" do 29 | VCR.use_cassette("error") do 30 | response = RubyStackoverflow.users_by_ids(["1363236&&"]) 31 | 32 | expect(response.data).to be_nil 33 | expect(response.error).not_to be_nil 34 | expect(response.error.error_code).to eq(404) 35 | expect(response.error.error_message).to eq("no method found with this name") 36 | end 37 | end 38 | 39 | it "should get user answers" do 40 | VCR.use_cassette("users_answers") do 41 | response = RubyStackoverflow.users_with_answers(["1363236"]) 42 | 43 | expect(response.data.last.respond_to?(:display_name)).to be_truthy 44 | expect(response.data.first.display_name).to eq("raysrashmi") 45 | expect(response.data.first.answers.count).to eq(13) 46 | expect(response.data.first.answers.last.answer_id).to eq(19_449_714) 47 | expect(response.data.first.answers.last.last_activity_date).to eq("2013-10-18 15:57:17 UTC") 48 | end 49 | end 50 | 51 | it "should get user badges" do 52 | VCR.use_cassette("users_badges") do 53 | response = RubyStackoverflow.users_with_badges(["1363236"], order: "asc") 54 | 55 | expect(response.data.last.respond_to?(:display_name)).to be_truthy 56 | expect(response.data.first.display_name).to eq("raysrashmi") 57 | expect(response.data.first.badges.count).to eq(5) 58 | expect(response.data.first.badges.first.name).to eq("Teacher") 59 | end 60 | end 61 | 62 | it "should get user comments" do 63 | VCR.use_cassette("users_comments") do 64 | response = RubyStackoverflow.users_with_comments(["1363236"], sort: "votes") 65 | 66 | expect(response.data.last.respond_to?(:display_name)).to be_truthy 67 | expect(response.data.count).to eq(1) 68 | expect(response.data.first.display_name).to eq("raysrashmi") 69 | expect(response.data.first.comments.count).to eq(17) 70 | expect(response.data.first.comments.first.score).to eq(1) 71 | expect(response.data.first.comments.first.comment_id).to eq(28_886_246) 72 | end 73 | end 74 | 75 | it "should get user replied comments" do 76 | VCR.use_cassette("users_replied_comments") do 77 | response = RubyStackoverflow.users_with_replied_comments(%w(707894 1004415), "1300151") 78 | 79 | expect(response.data.last.respond_to?(:display_name)).to be_truthy 80 | expect(response.data.first.display_name).to eq("felipeclopes") 81 | expect(response.data.first.comments.count).to eq(1) 82 | expect(response.data.first.comments.first.score).to eq(0) 83 | expect(response.data.first.comments.first.comment_id).to eq(28_452_392) 84 | end 85 | end 86 | 87 | it "should get users favorites questions" do 88 | VCR.use_cassette("users_favorites_questions") do 89 | response = RubyStackoverflow.users_with_favorites_questions(%w(707894 1004415)) 90 | 91 | expect(response.data.last.respond_to?(:display_name)).to be_truthy 92 | expect(response.data.first.display_name).to eq("Joel Grannas") 93 | expect(response.data.first.questions.count).to eq(1) 94 | expect(response.data.first.questions.last.view_count).to eq(151) 95 | end 96 | end 97 | it "should get questions where users are mentioned" do 98 | VCR.use_cassette("users_mentioned_questions") do 99 | response = RubyStackoverflow.users_with_mentioned_comments(%w(707894 1004415)) 100 | 101 | expect(response.data.last.respond_to?(:display_name)).to be_truthy 102 | expect(response.data.first.display_name).to eq("Carlos Drew") 103 | expect(response.data.first.comments.count).to eq(1) 104 | expect(response.data.first.comments.last.score).to eq(0) 105 | end 106 | end 107 | 108 | it "should get users notifications" do 109 | VCR.use_cassette("users_notifications") do 110 | response = RubyStackoverflow.users_notifications("1363236") 111 | 112 | expect(response.data.last.respond_to?(:notification_type)).to be_truthy 113 | expect(response.data.first.site[:site_type]).to eq("main_site") 114 | expect(response.data.count).to eq(16) 115 | end 116 | end 117 | it "should get users unread notifications" do 118 | VCR.use_cassette("users_unread_notifications") do 119 | response = RubyStackoverflow.users_unread_notifications("1363236") 120 | 121 | expect(response.data.last.respond_to?(:notification_type)).to be_falsey 122 | end 123 | end 124 | 125 | it "should get users questions" do 126 | VCR.use_cassette("users_questions") do 127 | response = RubyStackoverflow.users_questions(["1363236"]) 128 | 129 | expect(response.data.last.respond_to?(:display_name)).to be_truthy 130 | expect(response.data.first.display_name).to eq("raysrashmi") 131 | expect(response.data.first.questions.count).to eq(3) 132 | expect(response.data.first.questions.last.view_count).to eq(65) 133 | end 134 | end 135 | 136 | it "should get users featured questions" do 137 | VCR.use_cassette("users_featured_questions") do 138 | response = RubyStackoverflow.users_featured_questions(["1363236"]) 139 | expect(response.data.is_a?(Array)).to be_truthy 140 | end 141 | end 142 | 143 | it "should get users no answer questions" do 144 | VCR.use_cassette("users_noanswerquestions") do 145 | response = RubyStackoverflow.users_noanswers_questions(["1363236"]) 146 | 147 | expect(response.data).not_to be_empty 148 | expect(response.data.is_a?(Array)).to be_truthy 149 | end 150 | end 151 | 152 | it "should get users unanswered questions" do 153 | VCR.use_cassette("users_unanswered_questions") do 154 | response = RubyStackoverflow.users_unanswered_questions(["707894"]) 155 | 156 | expect(response.data.last.respond_to?(:display_name)).to be_truthy 157 | expect(response.data.first.display_name).to eq("felipeclopes") 158 | expect(response.data.first.questions.count).to eq(6) 159 | expect(response.data.first.questions.last.view_count).to eq(1344) 160 | end 161 | end 162 | 163 | it "should get users unaccepted questions" do 164 | VCR.use_cassette("users_unaccepted_questions") do 165 | response = RubyStackoverflow.users_unaccepted_questions(["1363236"]) 166 | 167 | expect(response.data.last.respond_to?(:display_name)).to be_truthy 168 | expect(response.data.first.display_name).to eq("raysrashmi") 169 | expect(response.data.first.questions.count).to eq(2) 170 | expect(response.data.first.questions.last.view_count).to eq(65) 171 | end 172 | end 173 | 174 | it "should get users reputation" do 175 | VCR.use_cassette("users_reputation_questions") do 176 | response = RubyStackoverflow.users_reputations(["1363236"]) 177 | 178 | expect(response.data.last.respond_to?(:display_name)).to be_truthy 179 | expect(response.data.count).to eq(1) 180 | expect(response.data.first.reputations.count).to eq(12) 181 | expect(response.data.first.reputations.last.vote_type).to eq("down_votes") 182 | expect(response.data.first.reputations.last.post_type).to eq("question") 183 | end 184 | end 185 | 186 | it "should get users suggested edits" do 187 | VCR.use_cassette("users_suggested_edits") do 188 | response = RubyStackoverflow.users_suggested_edits(["707894"]) 189 | 190 | expect(response.data.count).to eq(1) 191 | expect(response.data.last.respond_to?(:display_name)).to be_truthy 192 | expect(response.data.first.display_name).to eq("felipeclopes") 193 | expect(response.data.first.suggested_edits.count).to eq(8) 194 | expect(response.data.first.suggested_edits.last.post_type).to eq("answer") 195 | end 196 | end 197 | 198 | it "should get users tags" do 199 | VCR.use_cassette("users_tags") do 200 | response = RubyStackoverflow.users_tags(["707894"], min: 1, max: 10, sort: "popular") 201 | 202 | expect(response.data.is_a?(Array)).to be_truthy 203 | expect(response.data.count).to eq(1) 204 | expect(response.data.last.respond_to?(:user_id)).to be_truthy 205 | expect(response.data.first.tags.count).to eq(30) 206 | expect(response.data.first.tags.last.name).to eq("angularjs-directive") 207 | end 208 | end 209 | 210 | it "should get user top answers for specific tags" do 211 | VCR.use_cassette("user_top_answers_with_given_tags") do 212 | response = RubyStackoverflow.users_top_answers_with_given_tags("707894", %w(ruby rails)) 213 | 214 | expect(response.data.is_a?(Array)).to be_truthy 215 | expect(response.data.count).to eq(1) 216 | expect(response.data.last.respond_to?(:user_id)).to be_truthy 217 | expect(response.data.first.answers.count).to eq(9) 218 | expect(response.data.first.answers.last.score).to eq(0) 219 | end 220 | end 221 | 222 | it "should get user top questions for specific tags" do 223 | VCR.use_cassette("user_top_questions_with_given_tags") do 224 | response = RubyStackoverflow.users_top_questions_with_given_tags("707894", %w(ruby rails)) 225 | 226 | expect(response.data.last.respond_to?(:user_id)).to be_truthy 227 | expect(response.data.count).to eq(1) 228 | expect(response.data.first.questions.count).to eq(3) 229 | expect(response.data.first.questions.last.score).to eq(-2) 230 | end 231 | end 232 | 233 | it "should Ggt the top tags (by score) a user has posted answers in" do 234 | VCR.use_cassette("user_top_tags_by_answers") do 235 | response = RubyStackoverflow.user_top_tags_by_answers("707894") 236 | data = response.data 237 | 238 | expect(data.count).to eq(1) 239 | expect(data.last.respond_to?(:user_id)).to be_truthy 240 | expect(data.first.tags.count).to eq(30) 241 | expect(data.first.tags.last.tag_name).to eq("asp.net-mvc") 242 | end 243 | end 244 | 245 | it "should Ggt the top tags (by score) a user has posted questions" do 246 | VCR.use_cassette("user_top_tags_by_questions") do 247 | response = RubyStackoverflow.user_top_tags_by_questions("707894") 248 | data = response.data 249 | 250 | expect(data.count).to eq(1) 251 | expect(data.last.respond_to?(:user_id)).to be_truthy 252 | expect(data.first.tags.count).to eq(12) 253 | expect(data.first.tags.last.tag_name).to eq("timezone") 254 | end 255 | end 256 | 257 | it "should get user timeline" do 258 | VCR.use_cassette("user_timeline") do 259 | response = RubyStackoverflow.users_timeline(["1363236"]) 260 | data = response.data 261 | 262 | expect(data.count).to eq(1) 263 | expect(data.last.respond_to?(:user_id)).to be_truthy 264 | expect(data.first.posts.count).to eq(16) 265 | expect(data.first.posts.last.timeline_type).to eq("revision") 266 | end 267 | end 268 | 269 | it "should get user write permission" do 270 | VCR.use_cassette("user_write_permissions") do 271 | response = RubyStackoverflow.user_write_permissions("1363236") 272 | data = response.data 273 | 274 | expect(data.count).to eq(1) 275 | expect(data.last.respond_to?(:user_id)).to be_truthy 276 | expect(data.first.permissions.count).to eq(3) 277 | expect(data.first.permissions.last.can_edit).to be_truthy 278 | end 279 | end 280 | end 281 | end 282 | -------------------------------------------------------------------------------- /spec/spec_helper.rb: -------------------------------------------------------------------------------- 1 | $:.unshift File.join(File.dirname(__FILE__), "..", "lib") 2 | 3 | require "bundler/setup" 4 | require "webmock/rspec" 5 | require "vcr" 6 | require "helper" 7 | require "ruby-stackoverflow" 8 | 9 | RSpec.configure do |config| 10 | config.expect_with :rspec do |c| 11 | c.syntax = :expect 12 | end 13 | 14 | config.fail_fast = true 15 | config.order = "random" 16 | end 17 | --------------------------------------------------------------------------------