├── CHANGELOG ├── Gemfile ├── LICENSE ├── README.mdown ├── lib ├── lonely_coder.rb └── lonely_coder │ ├── authentication.rb │ ├── mailbox.rb │ ├── profile.rb │ ├── search.rb │ └── search │ ├── magic_constants.rb │ ├── options │ ├── age.rb │ ├── ethnicity.rb │ ├── filter.rb │ ├── location.rb │ ├── order_by.rb │ ├── paginator.rb │ ├── radius.rb │ └── require_photo.rb │ └── search_pagination_parser.rb ├── lonely_coder.gemspec └── spec ├── authentication_spec.rb ├── cassettes ├── failed_authentication.yml ├── find_location.yml ├── load_profile_from_search.yml ├── loading_conversation.yml ├── loading_mailbox.yml ├── location_filter_looks_up_location_id.yml ├── paginate_search_results_by_10.yml ├── paginate_search_results_by_10_with_failure.yml ├── search_by_filters.yml ├── search_by_username.yml ├── search_finding_no_results.yml ├── search_that_includes_a_location.yml └── successful_authentication.yml ├── ethnicity_filter_spec.rb ├── helper_spec.rb ├── location_id_spec.rb ├── mailbox_spec.rb ├── pagination_spec.rb ├── paginator_spec.rb ├── profile_spec.rb ├── search_spec.rb └── spec_helper.rb /CHANGELOG: -------------------------------------------------------------------------------- 1 | 0.1.5 (April 04, 2012) 2 | * Added ethnicity filter 3 | 0.1.4 (March 27, 2012) 4 | * more consistent search results when paginating by using OKCupid server timestamps 5 | * Search#load_next_page returns boolean to deal with cases where pagination doesn't load new results -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | gemspec 3 | 4 | group :test do 5 | gem 'pry' 6 | gem 'rspec' 7 | gem 'webmock' 8 | gem 'vcr' 9 | end 10 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014 Trek Glowacki and contributors 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of 4 | this software and associated documentation files (the "Software"), to deal in 5 | the Software without restriction, including without limitation the rights to 6 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies 7 | of the Software, and to permit persons to whom the Software is furnished to do 8 | so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | SOFTWARE. 20 | -------------------------------------------------------------------------------- /README.mdown: -------------------------------------------------------------------------------- 1 | Lonely Coder 2 | =================== 3 | 4 | ,d88b.d88b, 5 | 88888888888 6 | `Y8888888Y' 7 | `Y888Y' 8 | `Y' 9 | 10 | Lonely coder seeks nice boy 11 | ----------------------------- 12 | require 'lonely_coder' 13 | okc = OKCupid.new('thetrek','thisisntmypasswordweirdo') 14 | 15 | sweet_guys = [] 16 | 17 | ['Ann Arbor, MI', 'New York, New York', 18 | 'Chicago, Illinois', 'San Francisco, CA'].each do |maybe_here| 19 | sweet_guys += okc.search({ 20 | :min_age => 25, 21 | :max_age => 35, # just someone around my age, yo 22 | :gentation => 'Guys who like guys', # don't hate 23 | :order_by => 'Match %', # I want us to get along, let's make it last 24 | :last_login => 'last month', 25 | :location => maybe_here, 26 | :radius => 25, # acceptable values are 25, 50, 100, 250, 500, nil 27 | :require_photo => true, # I like a goofy smile 28 | :relationship_status => 'single' # the heart aches, but not for friends 29 | }).results 30 | end 31 | 32 | sweet_guys.count # oof, 812. Let the coffee dates begin! 33 | 34 | What is this nonsense? 35 | ----------------------------- 36 | A ruby gem for interacting with [OKCupid](http://www.okcupid.com/). OKCupid doesn't actually have an API, so we use mechanize to interact with the site. Screen scraping isn't terribly fast, but it's pretty zippy compared to the other option – doing nothing. 37 | 38 | How does it work? 39 | ----------------------------- 40 | You'll need an OKCupid account (it's free) because most of the site is behind authentication. You can create a new connection to the site. 41 | 42 | Install as a gem 43 | 44 | gem install lonely_coder 45 | 46 | Use your account 47 | 48 | require 'lonely_coder' 49 | okc = OKCupid.new('yourusername', 'yourpassword') 50 | 51 | Once you have a connection you can check out a person's profile 52 | 53 | trek = okc.profile_for('thetrek') 54 | trek.match # => 99. Damn, he's pretty sweet 55 | trek.location # => 'Ann Arbor, Michigan' 56 | `open #{trek.profile_thumb_urls.first}` # HOT. DAMN. 57 | 58 | Go ahead and ask for `username`, `match`, `friend`, `enemy`, `location`, `age`, `sex`, `orientation`, `relationship_status`, `relationship_type`, `last_online`, `ethnicity`, `height`, `body_type`, `diet`, `smokes`, `drinks`, `drugs`, `religion`, `sign`, `education`, `job`, `income`, `offspring`, `pets`, `speaks`, and `profile_thumb_urls` 59 | 60 | If you don't have particular username in mind, you can search. Check `lib/magic_constants.rb` for the crazy [Magic Numbers](http://en.wikipedia.org/wiki/Magic_number_(programming\)). 61 | 62 | search = okc.search({ 63 | :min_age => 18, 64 | :max_age => 99, 65 | :gentation => 'guys who like guys', 66 | :ethnicity => ['human'] 67 | }) # search object 68 | 69 | # fires the loading of the first 10, but only limited profiles. If you'd like full 70 | # deets, use okc.profile_for with a results username. 71 | search.results 72 | search.load_next_page # loads the next 10 results 73 | 74 | What if things don't go well 75 | ----------------------------- 76 | 77 | okc.love(1000) # ♥ 78 | -------------------------------------------------------------------------------- /lib/lonely_coder.rb: -------------------------------------------------------------------------------- 1 | #encoding: UTF-8 2 | 3 | # Hey there. 4 | # ,d88b.d88b, 5 | # 88888888888 6 | # `Y8888888Y' 7 | # `Y888Y' 8 | # `Y' - trek 9 | # 10 | require 'mechanize' 11 | 12 | class OKCupid 13 | BaseUrl = 'http://www.okcupid.com' 14 | VERSION = '0.1.5' 15 | 16 | def initialize(username=nil, password=nil) 17 | @browser = Mechanize.new 18 | @browser.user_agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36' 19 | authenticate(username, password) 20 | end 21 | 22 | WhiteSpace = "\302\240" 23 | def self.strip(str) 24 | str.gsub(WhiteSpace, ' ').strip 25 | end 26 | 27 | def love(n=20) 28 | ' ♥ ' * n 29 | end 30 | end 31 | 32 | require 'active_support/core_ext/string/inflections' 33 | 34 | require 'lonely_coder/profile' 35 | require 'lonely_coder/search' 36 | require 'lonely_coder/authentication' 37 | require 'lonely_coder/mailbox' -------------------------------------------------------------------------------- /lib/lonely_coder/authentication.rb: -------------------------------------------------------------------------------- 1 | require 'json' 2 | 3 | class OKCupid 4 | 5 | def authenticate(username, password) 6 | @authentication = Authentication.new(username, password, @browser) 7 | end 8 | 9 | class Authentication 10 | def initialize(username, password, browser) 11 | change_to_using_simpler_parser(browser) 12 | 13 | browser.post("https://www.okcupid.com/login", { 14 | username: username, 15 | password: password, 16 | okc_api: 1 17 | }) 18 | 19 | body = JSON.parse(browser.page.body) 20 | 21 | # body['screenname'] will be `nil` for failed auth 22 | # and equal to the supplied username for success. 23 | # there may be other cases? 24 | @success = body['screenname'] != nil 25 | 26 | restore_default_parser(browser) 27 | end 28 | 29 | def success? 30 | @success 31 | end 32 | 33 | def change_to_using_simpler_parser(browser) 34 | browser.pluggable_parser.html = AuthenticationParser 35 | end 36 | 37 | def restore_default_parser(browser) 38 | browser.pluggable_parser.html = Mechanize::Page 39 | end 40 | end 41 | 42 | class AuthenticationParser < Mechanize::Page 43 | # We're only using page uri to determine successful login, so 44 | # there's not a lot of value in passing a body string to nokogiri 45 | def initialize(uri = nil, response = nil, body = nil, code =nil) 46 | super(uri, response, '', code) 47 | end 48 | end 49 | end -------------------------------------------------------------------------------- /lib/lonely_coder/mailbox.rb: -------------------------------------------------------------------------------- 1 | require 'date' 2 | 3 | class OKCupid 4 | def mailbox 5 | @mailbox ||= Mailbox.new(@browser) 6 | end 7 | 8 | def conversation_for(id) 9 | Mailbox::Conversation.by_id(id, @browser) 10 | end 11 | 12 | class Mailbox 13 | class MessageSnippet 14 | 15 | attr_accessor :profile_username, :profile_small_avatar_url, :preview, :last_date, :conversation_url 16 | 17 | def self.from_html(html) 18 | profile_username = html.search('a.subject').text 19 | preview = html.search('.previewline').text 20 | last_date = html.search('.timestamp').text 21 | conversation_url = html.search('p:first').attribute('onclick').text.gsub('window.location=\'', '').gsub('\';','') 22 | profile_small_avatar_url = html.search('a.photo img').attribute('src').text 23 | 24 | self.new({ 25 | profile_username: profile_username, 26 | preview: preview, 27 | last_date: Date.parse(last_date), 28 | conversation_url: conversation_url, 29 | profile_small_avatar_url: profile_small_avatar_url 30 | }) 31 | end 32 | 33 | def initialize(attrs) 34 | attrs.each do |attr, value| 35 | self.send("#{attr}=", value) 36 | end 37 | end 38 | end 39 | 40 | class Conversation 41 | attr_accessor :from_profile_username, :messages 42 | 43 | def self.by_id(id, browser) 44 | html = browser.get("/messages?readmsg=true&threadid=#{id}&folder=1") 45 | from_profile_username = html.search('li.to_me:first a').attribute('title').text 46 | 47 | messages = [] 48 | 49 | html.search('#thread > li').each do |message_html| 50 | css_class = message_html.attribute('class') 51 | css_id = message_html.attribute('id') 52 | 53 | # matches 'from_me' and 'to_me' classes. 54 | if (css_class && css_class.text.match(/_me/)) 55 | if(css_id && css_id.text == 'compose') 56 | next 57 | else 58 | messages << Message.from_html(message_html) 59 | end 60 | else 61 | next 62 | end 63 | end 64 | 65 | self.new({ 66 | from_profile_username: from_profile_username, 67 | messages: messages 68 | }) 69 | end 70 | 71 | def initialize(attrs) 72 | attrs.each do |attr, value| 73 | self.send("#{attr}=", value) 74 | end 75 | end 76 | end 77 | 78 | class Message 79 | attr_accessor :to_me, :from_me, :body 80 | 81 | def self.from_html(html) 82 | to_me = !!html.attribute('class').text.match(/to_me/) 83 | from_me = !to_me 84 | # time = html.search('.timestamp').text 85 | body = html.search('.message_body').text.gsub('
', "\n") 86 | 87 | self.new({ 88 | to_me: to_me, 89 | from_me: from_me, 90 | # time: time, 91 | body: body 92 | }) 93 | end 94 | 95 | def initialize(attrs) 96 | attrs.each do |attr, value| 97 | self.send("#{attr}=", value) 98 | end 99 | end 100 | end 101 | 102 | def initialize(browser) 103 | @browser = browser 104 | end 105 | 106 | def useage 107 | html = @browser.get('/messages') 108 | current, max = html.search('p.fullness').text.match(/([\d]+) of ([\d]+)/).captures 109 | 110 | return { current: current.to_i, max: max.to_i } 111 | end 112 | 113 | def messages 114 | @messages = [] 115 | 116 | html = @browser.get('/messages') 117 | messages_html = html.search('#messages li') 118 | @messages += messages_html.collect do |message| 119 | MessageSnippet.from_html(message) 120 | end 121 | 122 | @messages 123 | end 124 | end 125 | end -------------------------------------------------------------------------------- /lib/lonely_coder/profile.rb: -------------------------------------------------------------------------------- 1 | # encoding: UTF-8 2 | class OKCupid 3 | 4 | def profile_for(username) 5 | Profile.by_username(username, @browser) 6 | end 7 | 8 | class Profile 9 | attr_accessor :username, :match, :friend, :enemy, :location, 10 | :age, :sex, :orientation, :relationship_status, :small_avatar_url, :relationship_type 11 | 12 | # extended profile details 13 | attr_accessor :last_online, :ethnicity, :height, :body_type, :diet, :smokes, 14 | :drinks, :drugs, :religion, :sign, :education, :job, :income, 15 | :offspring, :pets, :speaks, :profile_thumb_urls 16 | 17 | 18 | # Scraping is never pretty. 19 | def self.from_search_result(html) 20 | 21 | username = html.search('span.username').text 22 | age, sex, orientation, relationship_status = html.search('p.aso').text.split('/') 23 | 24 | percents = html.search('div.percentages') 25 | match = percents.search('p.match .percentage').text.to_i 26 | friend = percents.search('p.friend .percentage').text.to_i 27 | enemy = percents.search('p.enemy .percentage').text.to_i 28 | 29 | location = html.search('p.location').text 30 | small_avatar_url = html.search('a.user_image img').attribute('src').value 31 | 32 | OKCupid::Profile.new({ 33 | username: username, 34 | age: OKCupid.strip(age), 35 | sex: OKCupid.strip(sex), 36 | orientation: OKCupid.strip(orientation), 37 | relationship_status: OKCupid.strip(relationship_status), 38 | match: match, 39 | friend: friend, 40 | enemy: enemy, 41 | location: location, 42 | small_avatar_url: small_avatar_url, 43 | relationship_type: relationship_type, 44 | }) 45 | end 46 | 47 | def Profile.by_username(username, browser) 48 | html = browser.get("http://www.okcupid.com/profile/#{username}") 49 | 50 | percents = html.search('#percentages') 51 | match = percents.search('span.match').text.to_i 52 | friend = percents.search('span.friend').text.to_i 53 | enemy = percents.search('span.enemy').text.to_i 54 | 55 | basic = html.search('#aso_loc') 56 | age = basic.search('#ajax_age').text 57 | sex = basic.search('#ajax_gender').text 58 | orientation = basic.search('#ajax_orientation').text 59 | relationship_status = basic.search('#ajax_status').text 60 | location = basic.search('#ajax_location').text 61 | relationship_type = basic.search('#ajax_monogamous').text 62 | profile_thumb_urls = html.search('#profile_thumbs img').collect {|img| img.attribute('src').value} 63 | 64 | attributes = { 65 | username: username, 66 | match: match, 67 | friend: friend, 68 | enemy: enemy, 69 | age: age, 70 | sex: sex, 71 | orientation: orientation, 72 | location: location, 73 | relationship_status: relationship_status, 74 | profile_thumb_urls: profile_thumb_urls, 75 | relationship_type: relationship_type, 76 | } 77 | 78 | details_div = html.search('#profile_details dl') 79 | 80 | details_div.each do |node| 81 | value = OKCupid.strip(node.search('dd').text) 82 | next if value == '—' 83 | 84 | attr_name = node.search('dt').text.downcase.gsub(' ','_') 85 | attributes[attr_name] = value 86 | end 87 | 88 | self.new(attributes) 89 | end 90 | 91 | def initialize(attributes) 92 | attributes.each do |attr,val| 93 | self.send("#{attr}=", val) 94 | end 95 | end 96 | 97 | def ==(other) 98 | self.username == other.username 99 | end 100 | 101 | def eql?(other) 102 | self.username == other.username 103 | end 104 | 105 | def hash 106 | if self.username 107 | self.username.hash 108 | else 109 | super 110 | end 111 | end 112 | end 113 | end -------------------------------------------------------------------------------- /lib/lonely_coder/search.rb: -------------------------------------------------------------------------------- 1 | require 'uri' 2 | require 'set' 3 | 4 | require 'lonely_coder/search/magic_constants' 5 | require 'lonely_coder/search/search_pagination_parser' 6 | require 'lonely_coder/search/options/filter' 7 | 8 | # these are the included filters. See Filter class documentation for adding your own. 9 | require 'lonely_coder/search/options/age' 10 | require 'lonely_coder/search/options/ethnicity' 11 | require 'lonely_coder/search/options/order_by' 12 | require 'lonely_coder/search/options/location' 13 | require 'lonely_coder/search/options/paginator' 14 | require 'lonely_coder/search/options/radius' 15 | require 'lonely_coder/search/options/require_photo' 16 | 17 | class OKCupid 18 | # Creates a new Search with the passed options to act as query parameters. 19 | # A search will not trigger a query to OKCupid until `results` is called. 20 | # 21 | # @param [Hash] options a list of options for the search 22 | # @option options [Integer] :min_age (18) Minimum age to search for. 23 | # @option options [Integer] :max_age (99) Maximum age to search for. 24 | # @option options [String] :gentation Gentation is OKCupid's portmanteau for 'gender and orientation'. 25 | # Acceptable values are: 26 | # "girls who like guys", "guys who like girls", "girls who like girls", 27 | # "guys who like guys", "both who like bi guys", "both who like bi girls", 28 | # "straight girls only", "straight guys only", "gay girls only", 29 | # "gay guys only", "bi girls only", "bi guys only", "everybody" 30 | # this option is required. 31 | # 32 | # @option options [String] :order_by ('match %') The sort order of the search results. 33 | # Acceptable values are 'match %','friend %', 'enemy %', 34 | # 'special blend', 'join', and 'last login'. 35 | # 36 | # @option options [Integer] :radius (25) The search radius, in miles. 37 | # Acceptable values are 25, 50, 100, 250, 500. 38 | # You must also specific a :location option. 39 | # @option options [Integer, String] :location ('near me'). A specific search location. 40 | # Acceptable values are 'near me', 'anywhere', a "City, State" pair 41 | # (e.g. 'Chicago, Illinois') or OKCupid location id which can be 42 | # obtained with Search#location_id_for("City, State"). 43 | # If specifiying a location other than 'near me' or 'anywhere' 44 | # you may also provide a :radius option 45 | # 46 | # @option options [true, false] :require_photo (true). Search for profiles that have photos 47 | # @option options [String] :relationship_status ('single'). Acceptable values are 'single', 'not single', 'any' 48 | # @return [Search] A Search without results loaded. To trigger a query against OKCupid call `results` 49 | def search(options={}) 50 | Search.new(options, @browser) 51 | end 52 | 53 | # The OKCupid search object. Stores filters and query options and a results set. Correct useage is to obtain 54 | # and instance of this class by using OKCupid#search(options). 55 | # @see OKCupid#search 56 | class Search 57 | class FilterError < StandardError; end 58 | 59 | attr_reader :filters 60 | 61 | # @param [String] A string query for a city and state pair, e.g. 'Little Rock, Arkansas' 62 | # @return [Integer] The OKCupid location id for the query 63 | def self.location_id_for(query) 64 | uri = URI("http://www.okcupid.com/locquery?func=query&query=#{URI.encode(query)}") 65 | JSON.parse(Net::HTTP.get(uri))['results'][0]['locid'].to_s 66 | end 67 | 68 | def initialize(options, browser = Mechanize.new) 69 | @browser = browser 70 | options = defaults.merge(options) 71 | parse(options) 72 | end 73 | 74 | def parse(options) 75 | check_for_required_options(options) 76 | 77 | # :age appears as two options when creating a search 78 | # but is combined into one for paramterizing. 79 | options[:age] = combine_ages(options) 80 | 81 | # filters appear in the query string as filterN=code,value 82 | # e.g. filter4=11,75 83 | @filters = [] 84 | 85 | # parameters appear in the query string as named query parameters 86 | # e.g. loc_id=1234567 87 | @parameters = [] 88 | 89 | 90 | options.each do |name,value| 91 | self.send("add_#{name}_option", value) 92 | end 93 | 94 | # OKC needs an initial time key of 1 to represent "waaaay in the past" 95 | # futures searches will use the OKC server value returned from the first 96 | # results set. 97 | @timekey = 1 98 | end 99 | 100 | def check_for_required_options(options) 101 | raise(FilterError, 'gentation is a required option') unless options.has_key?(:gentation) 102 | end 103 | 104 | def combine_ages(options) 105 | age = [options.delete(:min_age), options.delete(:max_age)] 106 | options[:age] = age 107 | end 108 | 109 | # 110 | def defaults 111 | { 112 | :pagination => { 113 | :page => 1, 114 | :per_page => 10 115 | }, 116 | :min_age => 18, 117 | :max_age => 99, 118 | :order_by => 'Match %', 119 | :last_login => 'last month', 120 | :location => 'Near me', 121 | :radius => 25, 122 | :require_photo => true, 123 | :relationship_status => 'single' 124 | } 125 | end 126 | 127 | def results 128 | return @results if @results 129 | 130 | # the first results request has to receive a full HTML page. 131 | # subseqent calls can make json requests 132 | page = @browser.get(url) 133 | 134 | # Stores the OKCupid server timestamp. Without this, pagination returns 135 | # inconsistent results. 136 | @timekey = page.search('script')[0].text.match(/CurrentGMT = new Date\(([\d]+)\*[\d]+\)/).captures[0] 137 | 138 | # OKCupid may return previously found profiles if there aren't enough 139 | # to fill a query or pagination, so we stop that with a set. 140 | @results = Set.new 141 | @results += page.search('.match_row').collect do |node| 142 | OKCupid::Profile.from_search_result(node) 143 | end 144 | 145 | @results 146 | end 147 | 148 | # no idea what the following parameters do. They don't appear to have 149 | # an effect: 150 | # sort_type=0 151 | # fromWhoOnline=0 152 | # update_prefs=1 153 | # using_saved_search=0 154 | # mygender=m 155 | # 156 | # no idea what the following parameters do, but without them, the search 157 | # behaves erratically 158 | # &custom_search=0 159 | # 160 | # OKCupid timestamps searches for pagination. The first search gets a timestamp 161 | # of 1 (e.g. 1 second into the epoch) and future searches are stamped with 162 | # some server cache value. If that server value isn't submitted, the results 163 | # for pagniation don't quite match what you'd expect: you'll get duplicates, 164 | # or lower numbers than expected. 165 | # &timekey=1 166 | def magic_params_not_truly_understood 167 | "timekey=#{@timekey}&custom_search=0" 168 | end 169 | 170 | 171 | # Loads the next page of possible results. Will return `true` if 172 | # additional results were available or `false` if not 173 | # @return [true,false] 174 | def load_next_page 175 | @browser.pluggable_parser.html = SearchPaginationParser 176 | 177 | @pagination.next 178 | previous_length = @results.size 179 | 180 | page = @browser.get(ajax_url) 181 | 182 | @results += page.search('.match_row').collect do |node| 183 | OKCupid::Profile.from_search_result(node) 184 | end 185 | 186 | @browser.pluggable_parser.html = Mechanize::Page 187 | 188 | previous_length != @results.size 189 | end 190 | 191 | def url 192 | "/match?#{filters_as_query}&#{parameters_as_query}&#{magic_params_not_truly_understood}" 193 | end 194 | 195 | def ajax_url 196 | "#{url}&ajax_load=1" 197 | end 198 | 199 | def parameters_as_query 200 | @parameters.collect {|param| param.to_param }.join('&') 201 | end 202 | 203 | def filters_as_query 204 | filters.compact.to_enum(:each_with_index).map {|filter,index| filter.to_param(index+1)}.join('&') 205 | end 206 | end 207 | end -------------------------------------------------------------------------------- /lib/lonely_coder/search/magic_constants.rb: -------------------------------------------------------------------------------- 1 | class OKCupid 2 | module MagicNumbers 3 | # Used to build OKCupid search urls. These are the wacky values 4 | # that OKCupid expects. 5 | Ethnicity = { 6 | "asian" => 2, 7 | "black" => 8, 8 | "hispanic/latin" => 128, 9 | "indian" => 32, 10 | "middle eastern" => 4, 11 | "native american" => 16, 12 | "pacific islander" => 64, 13 | "white" => 256, 14 | "human" => 512 15 | } 16 | 17 | Gentation = { 18 | "girls who like guys" => 34, 19 | "guys who like girls" => 17, 20 | "girls who like girls" => 40, 21 | "guys who like guys" => 20, 22 | "both who like bi guys" => 54, 23 | "both who like bi girls" => 57, 24 | "straight girls only" => 2, 25 | "Straight guys only" => 1, 26 | "gay girls only" => 8, 27 | "gay guys only" => 4, 28 | "bi girls only" => 32, 29 | "bi guys only" => 16, 30 | "everybody" => 63 31 | } 32 | 33 | Filters = { 34 | # "account_status" => 29, 35 | "age" => 2, 36 | # "body_type" => 30, 37 | # "cats" => 17, 38 | # "children" => 18, 39 | # "community_award" => 31, 40 | # "diet" => 54, 41 | # "dogs" => 16, 42 | # "drinking" => 12, 43 | # "drugs" => 13, 44 | # "education" => 19, 45 | # "eligible" => 7, 46 | "ethnicity" => 9, 47 | "gentation" => 0, 48 | # "height" => 10, 49 | # "jobtype" => 15, 50 | # "join_date" => 6, 51 | # "languages" => 22, 52 | "last_login" => 5, 53 | # "looking_for" => 32, 54 | # "money" => 14, 55 | # "not_looking_for" => 34, 56 | # "num_ques_ans" => 33, 57 | # "personality" => 20, 58 | # "prof_score" => 28, 59 | "radius" => 3, 60 | "relationship_status" => 35, 61 | # "religion" => 8, 62 | "require_photo" => 1, 63 | # "sign" => 21, 64 | # "smoking" => 11, 65 | # "v_first_contact" => 27, 66 | # "v_looks" => 23, 67 | # "v_personality" => 25, 68 | 69 | # filters 70 | 'match_limit' => 'match_limit', 71 | 'order_by' => 'order_by', 72 | 'location' => 'location' 73 | } 74 | 75 | RelationshipStatus = { 76 | 'single' => 2, 77 | 'not single' => 12, 78 | 'any' => 0 79 | } 80 | 81 | OrderBy = { 82 | 'match %' => 'MATCH', 83 | 'friend %' => 'FRIEND', 84 | 'enemy %' => 'ENEMY', 85 | 'special blend' => 'SPECIAL_BLEND', 86 | 'join' => 'JOIN', 87 | 'last login' => 'LOGIN' 88 | } 89 | 90 | LastLogin = { 91 | "now" => 3600, 92 | "last day" => 86400, 93 | "last week" => 604800, 94 | "last month" => 2678400, 95 | "last year" => 31536000, 96 | "last decade" => 315360000 97 | } 98 | end 99 | end -------------------------------------------------------------------------------- /lib/lonely_coder/search/options/age.rb: -------------------------------------------------------------------------------- 1 | class OKCupid 2 | class AgeFilter < Filter 3 | def lookup(value) 4 | "#{value[0]},#{value[1]}" 5 | end 6 | end 7 | 8 | class Search 9 | def add_age_option(value) 10 | @filters << AgeFilter.new('age', value) 11 | end 12 | end 13 | end -------------------------------------------------------------------------------- /lib/lonely_coder/search/options/ethnicity.rb: -------------------------------------------------------------------------------- 1 | class OKCupid 2 | class EthnicityFilter < Filter 3 | def lookup(values) 4 | # lookup the race values and sum them. I think OKC is doing some kind of base2 math on them 5 | values.collect {|v| MagicNumbers::Ethnicity[v.downcase]}.inject(0, :+) 6 | end 7 | end 8 | 9 | class Search 10 | def add_ethnicity_option(values) 11 | @filters << EthnicityFilter.new('ethnicity', values) 12 | end 13 | end 14 | end -------------------------------------------------------------------------------- /lib/lonely_coder/search/options/filter.rb: -------------------------------------------------------------------------------- 1 | class OKCupid 2 | # Filter instances are used to build the query parameters for a search on OKCupid. 3 | # OKCupid has specific coded values for many search values, you should check the magic_constants file 4 | # for a list. Not all of them have been implemented yet. 5 | # 6 | # Adding a Filter takes one of three forms: 7 | # 1) implementing a add__option method on Search 8 | # that pushes a new named Filter to the @filters array for unmamed query parts 9 | # 10 | # 2) Subclassing Filter for filters that have atypical parameterization behavior. 11 | # where you'll implement a add__option method on Search 12 | # and provide a custom class overriding `lookup` or `to_param` to create 13 | # a correct url query part. 14 | # 15 | # 3) Creating a new class to handle query parameters that are specifically named 16 | # These are refered to as "Parameters" to contrast them with "Filters" which 17 | # are parameterized in the "filterN=code,value" pattern (e.g. filter4=22,7). 18 | # Parameters are not numbered and have specific names, e.g. "loc_id=1234567" 19 | # You'll also implement a add__option that adds an instance of this 20 | # class to the @parameters array (not the @filters array). 21 | # 22 | # See the included Filter and Parameter classes for ideas on how to structure these objects. 23 | # 24 | # OKCupid's query system is a bit obtuse and the details aren't published anywhere. 25 | # If you're implementing a new filter, you may need to spend some time figuring out 26 | # what data they expect to receive and the kinds of results it will return. 27 | class Filter 28 | class NoSuchFilter < StandardError; end 29 | class BadValue < StandardError; end 30 | 31 | attr_reader :name, :value, :code 32 | 33 | def initialize(name, value) 34 | @code = MagicNumbers::Filters[name.to_s] 35 | raise(NoSuchFilter, name) unless @code 36 | 37 | @name = name.to_s 38 | @value = value 39 | @encoded_value = lookup(@value) 40 | unless @encoded_value 41 | raise(BadValue, "#{@value.inspect} is not a possible value for #{@name}. Try one of #{allowed_values.map(&:inspect).join(', ')}") 42 | end 43 | end 44 | 45 | def allowed_values 46 | MagicNumbers.const_get(@name.camelize).keys 47 | end 48 | 49 | def lookup(value) 50 | MagicNumbers.const_get(@name.camelize)[value.downcase] 51 | end 52 | 53 | def to_param(n) 54 | "filter#{n}=#{@code},#{@encoded_value}" 55 | end 56 | end 57 | 58 | # All filters that follow the base Filter pattern are exposed here through a 59 | # add__option method. Custom filters and parameters are defined 60 | # in their own files and include the appropriate add__option method. 61 | class Search 62 | def add_relationship_status_option(value) 63 | @filters << Filter.new('relationship_status', value) 64 | end 65 | 66 | def add_gentation_option(value) 67 | @filters << Filter.new('gentation', value) 68 | end 69 | 70 | def add_last_login_option(value) 71 | @filters << Filter.new('last_login', value) 72 | end 73 | end 74 | end -------------------------------------------------------------------------------- /lib/lonely_coder/search/options/location.rb: -------------------------------------------------------------------------------- 1 | class OKCupid 2 | class LocationParameter 3 | def initialize(value) 4 | @value = value 5 | end 6 | 7 | def to_param 8 | if @value.is_a?(String) 9 | if @value.downcase == 'near me' 10 | "locid=0" 11 | else 12 | "locid=#{Search.location_id_for(@value)}&lquery=#{URI.escape(@value)}" 13 | end 14 | else 15 | "locid=#{@value}" 16 | end 17 | end 18 | end 19 | 20 | class Search 21 | def add_location_option(value) 22 | @parameters << LocationParameter.new(value) 23 | end 24 | end 25 | end -------------------------------------------------------------------------------- /lib/lonely_coder/search/options/order_by.rb: -------------------------------------------------------------------------------- 1 | class OKCupid 2 | class OrderByParameter 3 | def initialize(value) 4 | @value = value 5 | @encoded_value = MagicNumbers::OrderBy[value.downcase] 6 | end 7 | 8 | def to_param 9 | "matchOrderBy=#{@encoded_value}" 10 | end 11 | end 12 | 13 | # Reopen Search to accept order_by filters 14 | class Search 15 | def add_order_by_option(value) 16 | @parameters << OrderByParameter.new(value) 17 | end 18 | end 19 | end -------------------------------------------------------------------------------- /lib/lonely_coder/search/options/paginator.rb: -------------------------------------------------------------------------------- 1 | class OKCupid 2 | # used to create the pagination part of a search url: 3 | # low=1&count=10&ajax_load=1 4 | # where low is the start value 5 | # count is the number of items per page 6 | class Paginator 7 | attr_reader :page, :per_page 8 | 9 | def initialize(options) 10 | @per_page = options[:per_page] 11 | @page = options[:page] 12 | end 13 | 14 | def low 15 | @low = ((@page - 1) * @per_page) + 1 16 | end 17 | 18 | def next 19 | @page +=1 20 | self 21 | end 22 | 23 | def to_param 24 | "low=#{low}&count=#{@per_page}" 25 | end 26 | end 27 | 28 | class Search 29 | def add_pagination_option(value) 30 | @parameters << @pagination = Paginator.new(value) 31 | end 32 | end 33 | end -------------------------------------------------------------------------------- /lib/lonely_coder/search/options/radius.rb: -------------------------------------------------------------------------------- 1 | class OKCupid 2 | class RadiusFilter < Filter 3 | def lookup(value) 4 | value.nil? ? '' : value 5 | end 6 | 7 | def to_param(n) 8 | return nil if @encoded_value === '' 9 | super 10 | end 11 | end 12 | 13 | class Search 14 | def add_radius_option(value) 15 | @filters << RadiusFilter.new('radius', value) 16 | end 17 | end 18 | end -------------------------------------------------------------------------------- /lib/lonely_coder/search/options/require_photo.rb: -------------------------------------------------------------------------------- 1 | class OKCupid 2 | class RequirePhotoFilter < Filter 3 | def lookup(value) 4 | value ? 1 : 0 5 | end 6 | end 7 | 8 | class Search 9 | def add_require_photo_option(value) 10 | @filters << RequirePhotoFilter.new('require_photo', value) 11 | end 12 | end 13 | end -------------------------------------------------------------------------------- /lib/lonely_coder/search/search_pagination_parser.rb: -------------------------------------------------------------------------------- 1 | require 'json' 2 | class OKCupid 3 | # OKCupid's ajax pagination follows pjax pattern and returns json 4 | # with page fragments. We switch to this custom parser when 5 | # interaction with search. 6 | class SearchPaginationParser < Mechanize::Page 7 | def initialize(uri = nil, response = nil, body = nil, code =nil) 8 | body = JSON.parse(body)['html'] 9 | super(uri, response, body, code) 10 | end 11 | end 12 | end -------------------------------------------------------------------------------- /lonely_coder.gemspec: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | Gem::Specification.new do |s| 3 | s.name = "lonely_coder" 4 | s.version = '0.1.5.1' 5 | s.platform = Gem::Platform::RUBY 6 | s.authors = ["Trek Glowacki"] 7 | s.email = ["trek.glowacki@gmail.com"] 8 | s.homepage = "http://github.com/trek/lonely_coder" 9 | s.summary = %q{A gem for interacting with OKCupid as if it had an API} 10 | s.description = %q{A gem for interacting with OKCupid as if it had an API.} 11 | 12 | s.add_dependency 'mechanize', '= 2.0.1' 13 | s.add_dependency 'activesupport', '>= 3.2.1' 14 | 15 | s.post_install_message = %q{ 16 | 17 | 18 | 19 | ,d88b.d88b, 20 | 88888888888 21 | `Y8888888Y' 22 | `Y888Y' 23 | `Y' 24 | 25 | Good luck out there. 26 | 27 | 28 | } 29 | 30 | s.files = `git ls-files`.split("\n") 31 | s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n") 32 | s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) } 33 | s.require_paths = ["lib"] 34 | end 35 | -------------------------------------------------------------------------------- /spec/authentication_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe 'Authentication' do 4 | it "returns true if successful" do 5 | VCR.use_cassette('successful_authentication', :erb => {username: ENV['OKC_USERNAME'], password: ENV['OKC_PASSWORD']}) do 6 | auth = OKCupid::Authentication.new(ENV['OKC_USERNAME'], ENV['OKC_PASSWORD'], Mechanize.new) 7 | auth.success?.should == true 8 | end 9 | end 10 | 11 | it "returns false if not successful" do 12 | VCR.use_cassette('failed_authentication') do 13 | auth = OKCupid::Authentication.new('thisisnotauser', 'thisisnotapassword', Mechanize.new) 14 | auth.success?.should == false 15 | end 16 | end 17 | 18 | 19 | it "restores Mechanize::Page as a parser after authenticating" do 20 | @browser = Mechanize.new 21 | VCR.use_cassette('successful_authentication', :erb => {username: ENV['OKC_USERNAME'], password: ENV['OKC_PASSWORD']}) do 22 | auth = OKCupid::Authentication.new(ENV['OKC_USERNAME'], ENV['OKC_PASSWORD'], @browser) 23 | end 24 | @browser.pluggable_parser['text/html'].should == Mechanize::Page 25 | end 26 | end -------------------------------------------------------------------------------- /spec/cassettes/failed_authentication.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: post 5 | uri: https://www.okcupid.com/login 6 | body: 7 | encoding: US-ASCII 8 | string: okc_api=1&password=thisisnotapassword&username=thisisnotauser 9 | headers: 10 | Accept: 11 | - ! '*/*' 12 | User-Agent: 13 | - Mechanize/2.0.1 Ruby/1.9.3p484 (http://github.com/tenderlove/mechanize/) 14 | Accept-Encoding: 15 | - gzip,deflate,identity 16 | Accept-Charset: 17 | - ISO-8859-1,utf-8;q=0.7,*;q=0.7 18 | Accept-Language: 19 | - en-us,en;q=0.5 20 | Host: 21 | - www.okcupid.com 22 | Content-Type: 23 | - application/x-www-form-urlencoded 24 | Content-Length: 25 | - '61' 26 | Connection: 27 | - keep-alive 28 | Keep-Alive: 29 | - 300 30 | response: 31 | status: 32 | code: 200 33 | message: OK 34 | headers: 35 | Date: 36 | - Tue, 04 Feb 2014 01:20:18 GMT 37 | Content-Type: 38 | - application/json; charset=utf-8 39 | Connection: 40 | - keep-alive 41 | !binary "Q2FjaGUtQ29udHJvbA==": 42 | - !binary |- 43 | cHJpdmF0ZQ== 44 | !binary "U2VydmVy": 45 | - !binary |- 46 | T0tXUy8zLjEuMTguMA== 47 | !binary "Q29udGVudC1FbmNvZGluZw==": 48 | - !binary |- 49 | Z3ppcA== 50 | !binary "VHJhbnNmZXItRW5jb2Rpbmc=": 51 | - !binary |- 52 | Y2h1bmtlZA== 53 | !binary "UDNw": 54 | - !binary |- 55 | Q1A9Ik5PSSBDVVJhIEFETWEgREVWYSBUQUlhIE9VUiBCVVMgSU5EIFVOSSBD 56 | T00gTkFWIElOVCIsIHBvbGljeXJlZj0iaHR0cDovL3d3dy5va2N1cGlkLmNv 57 | bS93M2MvcDNwLnhtbCI= 58 | !binary "U2V0LUNvb2tpZQ==": 59 | - !binary |- 60 | Z3Vlc3Q9NTM5MDk5ODgzNDMzNTE4MTMxMjsgRXhwaXJlcz1XZWQsIDA0IEZl 61 | YiAyMDE1IDAxOjIwOjE4IEdNVDsgUGF0aD0vOyBEb21haW49b2tjdXBpZC5j 62 | b207IEh0dHBPbmx5 63 | body: 64 | encoding: ASCII-8BIT 65 | string: !binary |- 66 | H4sIAAAAAAAA/6pWKk4uSk3Ny0vMTVVSsFLIK83J0VFQKi5JLCktji8uKUIS 67 | LC1OLcpMAQkoWZqbm5maGhmaGBmbmZhaWhgbmyjBtYFUGBqY1HIBAAAA//8D 68 | AFk5ovBdAAAA 69 | http_version: 70 | recorded_at: Tue, 04 Feb 2014 01:20:17 GMT 71 | recorded_with: VCR 2.8.0 72 | -------------------------------------------------------------------------------- /spec/cassettes/find_location.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: http://www.okcupid.com/locquery?func=query&query=Ann%20Arbor,%20MI 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: 10 | Accept: 11 | - ! '*/*' 12 | User-Agent: 13 | - Ruby 14 | response: 15 | status: 16 | code: 200 17 | message: OK 18 | headers: 19 | Date: 20 | - Sat, 24 Mar 2012 02:10:23 GMT 21 | Content-Type: 22 | - text/javascript 23 | Connection: 24 | - close 25 | Cache-Control: 26 | - private 27 | Server: 28 | - OKWS/3.1.15.5 29 | P3p: 30 | - CP="NOI CURa ADMa DEVa TAIa OUR BUS IND UNI COM NAV INT", policyref="http://www.okcupid.com/w3c/p3p.xml" 31 | Content-Length: 32 | - '134' 33 | Set-Cookie: 34 | - guest=3655028387168512987; expires=Sun, 24 Mar 2013 02:10:23 GMT; path=/; 35 | domain=okcupid.com 36 | body: 37 | encoding: US-ASCII 38 | string: ! '{"status" : 0, "ZipCode" : "", "query" : "Ann Arbor, MI", "locid" 39 | : 4305734, "results" : [{"locid" : 4305734, "text" : "Ann Arbor"}]} 40 | 41 | ' 42 | http_version: 43 | recorded_at: Sat, 24 Mar 2012 02:10:23 GMT 44 | recorded_with: VCR 2.0.0 45 | -------------------------------------------------------------------------------- /spec/cassettes/loading_mailbox.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: post 5 | uri: https://www.okcupid.com/login 6 | body: 7 | encoding: US-ASCII 8 | string: password=<%= password %>&username=<%= username %> 9 | headers: 10 | Accept: 11 | - ! '*/*' 12 | User-Agent: 13 | - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.11 (KHTML, 14 | like Gecko) Chrome/17.0.963.79 Safari/535.11 15 | Accept-Encoding: 16 | - gzip,deflate,identity 17 | Accept-Charset: 18 | - ISO-8859-1,utf-8;q=0.7,*;q=0.7 19 | Accept-Language: 20 | - en-us,en;q=0.5 21 | Host: 22 | - www.okcupid.com 23 | Content-Type: 24 | - application/x-www-form-urlencoded 25 | Content-Length: 26 | - '32' 27 | Connection: 28 | - keep-alive 29 | Keep-Alive: 30 | - 300 31 | response: 32 | status: 33 | code: 302 34 | message: '' 35 | headers: 36 | Date: 37 | - Mon, 26 Mar 2012 17:34:52 GMT 38 | Connection: 39 | - close 40 | Server: 41 | - OKWS/3.1.15.5 42 | Location: 43 | - http://www.okcupid.com/home 44 | P3p: 45 | - CP="NOI CURa ADMa DEVa TAIa OUR BUS IND UNI COM NAV INT", policyref="http://www.okcupid.com/w3c/p3p.xml" 46 | Set-Cookie: 47 | - data=; expires=Mon, 19 Mar 2012 17:34:52 GMT; path=/; domain=okcupid.com 48 | - guest=; expires=Sun, 25 Mar 2012 17:34:52 GMT; path=/; domain=okcupid.com 49 | - session=1184978518586403577%3a11467077414475356614; expires=Tue, 26 Mar 2013 50 | 17:34:52 GMT; path=/; domain=okcupid.com 51 | body: 52 | encoding: US-ASCII 53 | string: '' 54 | http_version: 55 | recorded_at: Mon, 26 Mar 2012 17:34:52 GMT 56 | - request: 57 | method: get 58 | uri: http://www.okcupid.com/home 59 | body: 60 | encoding: US-ASCII 61 | string: '' 62 | headers: 63 | Accept: 64 | - ! '*/*' 65 | User-Agent: 66 | - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.11 (KHTML, 67 | like Gecko) Chrome/17.0.963.79 Safari/535.11 68 | Accept-Encoding: 69 | - gzip,deflate,identity 70 | Accept-Charset: 71 | - ISO-8859-1,utf-8;q=0.7,*;q=0.7 72 | Accept-Language: 73 | - en-us,en;q=0.5 74 | Cookie: 75 | - session=1184978518586403577%3a11467077414475356614 76 | Host: 77 | - www.okcupid.com 78 | Connection: 79 | - keep-alive 80 | Keep-Alive: 81 | - 300 82 | response: 83 | status: 84 | code: 200 85 | message: OK 86 | headers: 87 | Date: 88 | - Mon, 26 Mar 2012 17:34:52 GMT 89 | Content-Type: 90 | - text/html; charset=utf-8 91 | Connection: 92 | - close 93 | Cache-Control: 94 | - private 95 | Server: 96 | - OKWS/3.1.15.5 97 | Content-Encoding: 98 | - gzip 99 | Transfer-Encoding: 100 | - chunked 101 | P3p: 102 | - CP="NOI CURa ADMa DEVa TAIa OUR BUS IND UNI COM NAV INT", policyref="http://www.okcupid.com/w3c/p3p.xml" 103 | Set-Cookie: 104 | - authlink=e4b3eb0e; expires=Tue, 26 Mar 2013 17:34:52 GMT; path=/; domain=okcupid.com 105 | body: 106 | encoding: ASCII-8BIT 107 | string: !binary |- 108 | H4sIAAAAAAAA/8RWW3PaOBR+Jr9C9cOG7Agb24AhBToMOG1mS+gAmd198ghb 109 | xgq25UqCNtPmv++xjRPTpJeXnT7JPjrX79w0fDVbTNf/fnBRpJJ4fDasDkqC 110 | 8RkaSl+wTCF1n9GRpuhnZdyRAymp2vis0TgQgaa3y6V7s75ducvrGRohzTT7 111 | nYHT75r9br/Xadtdx9FeH5mv55O37ofJ+h0wnkdKZZeGQXZ+kOp85+eHzxPj 112 | vOJeTZeue3Mzmbu5XhVRJejuUVdu0Xu/uIG7jAhJr2JOVFNr9W3dsXq2rV1U 113 | ekrOyfobzo6lW0677zwxzt31cuFNlu4kN9guTJ3STLPTK+l57O8mK28yuwIv 114 | n/hZiJo5YjxEPk8ljykaQbD7NKAhS2lwjr5+LSB9YtBjvv2G6eJJGH1B58Bw 115 | fhnuU18xnjYvvjygh9w3NN0LQVP1dp7HltJPaEYUbZq2bTl92xpYf5rtdvvi 116 | NTprDI0yb2OEfiGxRWZJ4CmW0Bi89gIms5jcg5V2bri6pwlhsSdTlmVUfY8p 117 | 4xnfK8+PyDOWE68SqghUospa9OOeHUbaP63bSWvKk4wotomplmOiINyRdu2O 118 | +hoyxmj4TOiDINuE1HhT3vKJH4H4D/hbARMU0D3UrfxEstD6c8GjjylJoIt2 119 | 9P4TF4Gs+XclKEWLNIc5Tx9Lt/jxLO5KIloxRTEqKCtgiqk8kk5kiyghxa9a 120 | LRRuEEsl20ZKolarAisTPKNC3Y+0cHOZkS31WFBzx+z1Oo5pt22n3SuVDcG1 121 | HRI0HmkSIk6IPptqKBI0HGnHHs72Ita52BqBb9CYJpAkaZi6aZSgv6Bg7S7n 122 | qx9oUVQkshQ/ATCgZR1DH9ScXuym+4wFJToneKAWWkcUhUQqKhXaCv4JwENh 123 | DmNQoI0kAItCLuCjgFWvVUqZtdlUl/vNHRRIzWahgpd5KzW9JPe7/PX5gUIn 124 | 1Mv5Ow6fwDubFonRyT5gNPXr4iehVli9EPJRwUYqQU4Aq5IEBXhggEuZhFO1 125 | tTQgkgaIw9QXEpl9dE9hyJe0OKDimCTFVEzHleavCP1NY9gh9NXQKK9QrXoZ 126 | zI9vSu7Z8klowIjBkq2haAIjT1EjJIdc0tazdKsdtyFLAFujIOT9Vm8RdQ81 127 | FFEKtVLbnL6Enj/pGbJjqR/vAYj68otJujVoakD2JNQ4NJE16OswxaGZtjHf 128 | kFjqhS5j/P8b7epdI+b+0eYbSdUoAnCrGfOz98Hkdr2YLpaut3LfX3nTd+70 129 | r3xN7eMYdsjT5XqyXHvr67m7rC8x2N617fDjtwiSwn+cRS+hSvaK+1xQ/U6+ 130 | UYwKLyIyGgXmZhA6g80fIYOUjdrYxBa2cQd3cQ87uI8H2ASihU0HWx1sdbEF 131 | HwNsm9gGRhvbXWw72B7gjok7Fu6A3EAb/7Lb8IR6RKGI35uvTiCA4fUSTIBe 132 | voMhHWvYz7Bbm09PA/Qlv2rkb4HJHfmsL2GXwuBrakaFATRGAggImnGhNHwU 133 | aMAbCjYUjF2JLitaI8l/nvmICxONhsg79BLNiYr0/JsnzYvqLocU7qpH3m9O 134 | ynnp8UNxPFy8LvB7wMgqnkfwU681WJ//AQAA//+UUk1PwzAMPY9fYXZJKljH 135 | lwSiDASCK3CA0zQhK/W6QNaUxN0oH/+dZB0wEAc4RJbt57y85xx55XTFwE1F 136 | gy7TE/fvcYZttXu81unM0MFdgY8waMPrKwxHWWjoMcjcqnpKJae5naIuU13m 137 | 9HQ1lt3HWj8/N6my024C6wPobSfwEoZgcUla1X4ih+LOE58qZeuSxSaI29Pe 138 | /u7e1kFvT4yS7Ff0+YLnEqcUByZkjP2iWk69ARlP/6Db+SNdah9UXel8lSuc 139 | b0PsUD1cY0EzTfMlSI7rUrG2pWxNWHhaYHD00z/lCJkuDMVMitZ/kWQBlsbd 140 | BKz4sR2xaKJvShW67GqKXJ1Q8y5WpJgwV/5QwGCFyFiF8Slp5SxbZQ2cwBLY 141 | 73tvBBy2eUjn87lIYCMIL6wtDPWwRNOwVj460A9M915kH4L8qp6CeCnGnzU3 142 | WEQLv2QNt0YZ+LRCFwCXNqfwcTw5PqOxdSQL3ATf2pvIGN8BAAD//8xUTW/b 143 | MAw9t7+C04ChBZZ4HXZabBf9GjagaYa1wI6GajOJFlkyJDpp/v0ox07jpFt3 144 | XA52RPHj8ZHPceRzpypKAeJojrJIIX60xRpUkYgqm9sSBeRaep+IUuYAK3xc 145 | KAJtZzMsMmWAf4KjId4kAlpXmAjCJ4p+yaXcWEV6fFST0kNP0tGDKtGdiFBn 146 | oK0sxOmovVZG0Q81m9OldCdnp6OjKIKVNARkobBAc+VBevDWmvCurPfqUeNx 147 | vG0jfjMYAHDY2eYxGARwDK9Qy6apUDVbOVlV6Bj41t6Zum5zjdJN1dOuTyBo 148 | E1U1uZgFG+4lzB1OExEFvs7zadJeTBZXdaWKYW7Lz/DFIcLEaGUQriUpMwuk 149 | VdJ0FUkusMSG8vSB/0OJEE7cHHs1E5JcLKp2UG8QZUYuwxDiWje4ao+usXWp 150 | g1vrFGuVwk/UjAnfB+i7AZk3ouulcnaqNGOhOZLDRVs9hHOOJoxLZB4p9OJ7 151 | PGyNQIo078N95wXWlJbx2SW6RFzkua0NjdHUQz+3q5PTkdh61NR3KJSvULcu 152 | uVb5IhG4REPDyjXva5zKWhN7gEOqnYGp1B5HAVqf6Nm+SRGWIJ2zq+4m7Wg/ 153 | ePMmpV0/cRRO3WQabqJa87OdhOfEf5nElsXN1Pc2SXTsteNqVzFtjy/U3plL 154 | KSmfY38sje2cWH4LXCdn72RZjRrbxPFeX66T++83V98ubrPL25u76+aaR5Ux 155 | vVPfuvMQcumKzraFOH4uFxhpj69ARO/lbB9jZ+yaH+94Nanb8yu5rePVfSb0 156 | 7fNeNZs35vs/r9329n/ZuY3yw371xGcsqanK+Wtijd+qXRKxGtgExvY8oDaO 157 | vwQC+sS0Gr3rJ7Om1VjP3sl0T2F9WR9GTMzXoPgDffc9c2ly1Pf8Idjx/zfx 158 | ikZKZEnqbI+VQpIclO3WJOLsk0g/fnhR1T00h/v1GwAA//+kjrGOwjAMhl/F 159 | ynQMkAe4lvE2FoZbq4i4raU0rpIm1b09rqBABEgnsTjJ9zv2B5VObg9VckC2 160 | VpEmbAYO6E1WcHImxlrJvbGBR8uzhwF9UsB+4BSRM4ZaHaT/IHgXJ2odfm2+ 161 | 7w1pesgtxRHdkstGR08bm0zy5BCX3EAfsK2VfoSWstQ4Gr/K0Ym92heoc39j 162 | L0wvcD3g9zqm/D6j7fDWC5W+bNBmKY7eeLYmcxBQihb0A9Ofdc5/dYKZyHel 163 | zNzzljJuJUP7odDxMv+FzhkAAP//vFprc9s2Fv2c/AosO62d2dok+GZsKePU 164 | fexMHm2z3W4/aSASklBTBMuHJU1m//segA9RsuxqtO4mE1sCQeDiPs89CCHk 165 | OhVEJCOjFBWfLGXBM3Y/maVsvpSJMSbXjCwKPhsZ5mAsEffj9zLhBauEzK5N 166 | 9Z1cm0z9SMUYi5p1il/kuk63i2eyEjMR63dKg8QpK8uRobZLCpkncpWRJc9q 167 | ksmdmaTOCs60LBC1fUu9MUnZlKdqvNm/zFmmd6tkxdLJziL9FphObIt8GMqi 168 | 5FUvYyW9RrvHiidzboz7Z90x9Ql39ba7l9sfbkeBS16WbM5x9E5kci2Wc1KJ 169 | KuUj43fGsmlhkLKIR8aiqvLXpsnunEt5F8dJdhnLpZkvcjOVLJlgbCKWWOxS 170 | DelPpelba99qf1prSk3H9teOE5i2SV0viELXdiMrCKMwpK5LL/NsbpjKWAMh 171 | UrbI9kWwThPBCdbUMp3QWzteqGTwAtezHZsGduRHbuRYvnP5e84fClHWcSyy 172 | uAqdfVHoaaIEIdRBoRq69h1XyWL7oeuEEClwXNuzfduLBrIMvSDhZWyMqUsy 173 | viLvWxMe9BcRywzuMnx5nm7yRe9C3VtwtwcR85Q/QQ2tS+740x+1uOdwmIPe 174 | NBFZxYtCThmsvOdTJxoU7hWZLnTpuRF0aMOjYE07tEMLCgxdah82Z1Ww+5Tz 175 | pYgX+5LYp9nTdtx14Jmua63tkCp7+lFA7YB6oaX++l4UeYeFkewuZVkyKwTP 176 | kucSx/PWtg0psDF83oFuzIA6VkhtB4LB2z2b+kPtPHQwR/vXT9qk5D2r4gUv 177 | /79eRnsv2ybcPvnfC9QHWTyWu5CP6lwkFZPPpFLXsdeWSSmSSGB5ysKBTWFZ 178 | x/Jsy0EgQ82PZI96sVjG0305TvZ5lTgcSOO6DsRwbRq5gR04Hmzt+hH13cN+ 179 | VnEWL2ayYGm6L8qJTm+tHWgkCuFqOp2GtueH1LICZHQrdH3Ltp5MYY2H5Vzm 180 | KSfanjwhG1kXJC/kTKT8f3W3oVOLLFGVXhbb+vlo1ntQ0klb3cvKeAQ9TNpa 181 | 2hZ/PWu3BiPzyarNxl0J79KuTr63Qp+e3GVyRaoFL/hXRflHLa9KAgjw8e4b 182 | 5dBb+NMW5NVqdVnwJBGVLsiF2Xq+QSpWzHk1MiZT5Jc7Y1zW02aiwkVvtocf 183 | 4qMdeFTyqhLZvAQgehwcGURmS1mXXCJPjIybOJZ1Vr0HbLosga5Sfv7qajun 184 | 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 298 | 9vPwsh+rv3pb9tX10rsrnVUD0cY0sz4Wm+tSzIq8wCJPTSR4kmw+QdIhS6ju 299 | /oEUTHG1c86XA7yLafpamNLkFYnoHfnEUgLzS8+O8yIit/D4+few0nkSZ5F/ 300 | mEsS0kHWQzbmdIxcm0pqIvADZ16Pp8MgFWuRojjSsbJg98osSORa6kDMgjzF 301 | Q4I/SzVVlwJlf5SvYblyBKRiOW09wRKfjKeRH/vRdFx4IHLZGWzYpSWnQ5Eh 302 | LrK4/5OnhD8H5Z4dn7Injp+fur7/hmWL/4zEqGfHa/O51z2WIJ3pVuSZ15+s 303 | rNzK5KpS6NLTESd9LKeYwKsT4R7Gd1e3nZnBA6Lh2rcNzVbgXVQc7LJpTpGI 304 | h/wp8PFVB6l3PE3zIiI8vY/Eg0r3Fr4Qs5Kuxz7Xs/UYwPMRYLZLr0g7K4eh 305 | sGjW5Zxt7pbyjiCWyGTP3wMIIu29c66u248tst4LRJepY5dumpH3bpQiyK/q 306 | DWNVL6d05w+n0zEicpGot5jvytYUs3oOz27LphDMxhn1CVBYIFtIXOlHljsN 307 | Si2tswse+MFg0ONJyCyFnM2AaNckCW6hQ9j8jpzuq//97/8ZY/iQdItvWfzE 308 | 9fmZANwTUM85zMnFK72hdNI5vyJhcIOakILuhjeixpRgF/uUXJEBvO/Iaz1O 309 | n0BP4TwCuBYJIkVOT09Td36K5HHiwoPBEm59JG9DoBM8xOZ3mpB+MkWN0GIR 310 | 9OCciXWvROm03zm/K/I0N0sOCnfOJzGS9Fs1ESPwJAxoypLTWZdAEOGtqAzC 311 | Co6ZjmaqrXNukjFS2zMkfyNWbTlnlU1eTMdzrVk55+EzOvOij268QmJzof+P 312 | L28x0D9S6p+yzs7vP+ss5rgXnU+/fvzx6v1l77dPby8+X77tvOgcaR4TW+Io 313 | PdL8I1VdBQcuHmkUAJEYQKQcIBIHiHR1RNUjWz5ynLGUw0TK4iPZ5UBB/Ufq 314 | gL0CNdz3MgYa8a4riQEH9UisLeJNqcSAI11JDDgSqlatFK8pwSMtwCN9jCRX 315 | ysEjMfBIJ3hQgEcS4JFy8Ahht5ITUBJi3o22eg7QEs8BXls9uOgYwA1t5oCr 316 | 1yC7nWUr7PicAYW4DCkg2lobbBT4VBybkh9NgO+9fhb1NMs0kYiNsF8Lcb+y 317 | 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 564 | OZ2bx2SmEfMgllyHqcWC8YhhPFPyZ7aJLFghv7k9zc0ogi1RI50oDI6vPBjD 565 | MIq76WUHuKeF1rmGRcLOJiF2jQntK8V2RRIoQYl16BreU72V8CmiBc7EC2Cp 566 | wmBGWKRYbvUiQGeS6cL+KIwIGWrSc4CgTN8OYC4nxWvMnpqibIqNoYrdLhsr 567 | 7HTeoorVLi9NeLfvAHaheEVJkfwxxQPQHti2csaajoWw98jKI9IWVUR7MoTX 568 | 7CLBk9IMIXHCBfhVYoH8/ZnlI3za/b2yBq0XCBVyD/C1BXYrYbDWrEuguFRX 569 | TE3yERJIsFUeyHFZy/cW7ppKz5bgsd4yLgnIk9hwIHjfqSkJkCJTAa4D0gh0 570 | pF0bgAWpl+BVpWwdTNYKEdaBr64lQ3lziZPHBQoupqvIV+3DYKhSk5D238iC 571 | nflhOBJzL2wwwLp5F06wYIRLQFKE2hBYwZPABUDhcyZLR5KKKWEqcxW2JCaY 572 | 48IFNGMCMwY/5M8pJAFqbA3S8jyTigUYNnp9IAp1BdelsMvshmI7KUGYiYJY 573 | GORCLdZ+AiT5hgxNhsNRv1dXftLSzWWnrNdMbtJ6NWXmlrheWAvKcgerwymA 574 | W9PMcRv5RiZQdAxdM5Blq9UI5svpuEVpWdn59MZGKVEagXi9msycYXjhsLdQ 575 | yVgefBl6GRRvod9WC4hyJBkrBSQnzVaEo8JJuxUMLAL7Q0yayUDNg3uvtBCV 576 | Ks1FZKFyMzmpVK4pLLc0MNJUhX2xLWxoW2ReLIU2kRAdYSKU2tIMAMzXEJY5 577 | 2m5RYtaToXJ3s+w0Shv+CMw2LJzqWJbfYYx4tGBdZH28yrrMkWorErTIaLsV 578 | o9fveRDNzuqKUFa8ufhUKjYTnaxiTbG5tY2ROpamTPGfpEYDFgwiirEFK2mK 579 | ZCIkpI6JKUi5RYlZ3fvszkZJ0fK5WH1grfPQ5264ycTclBT7SFNWCkpBna0I 580 | SZWddisgfzhO0Ivqykdaurl4lPWaSUdar6Zw3DJAlSZgHXhzp6qaYlLoJgQC 581 | cBQSjIoFZH1N3oyanpNxi7Kxsu/pjY2S0ex8iC/OJQNGJKAnNi9PboqGeaRa 582 | KydgOW22IhkVTtqtYPjOEC6RuWNVVs68qGxzochrNRMJqlVTIG5pLbB6l6UO 583 | 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 646 | eAEA 647 | http_version: 648 | recorded_at: Mon, 26 Mar 2012 17:34:54 GMT 649 | - request: 650 | method: get 651 | uri: http://www.okcupid.com/messages 652 | body: 653 | encoding: US-ASCII 654 | string: '' 655 | headers: 656 | Accept: 657 | - ! '*/*' 658 | User-Agent: 659 | - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.11 (KHTML, 660 | like Gecko) Chrome/17.0.963.79 Safari/535.11 661 | Accept-Encoding: 662 | - gzip,deflate,identity 663 | Accept-Charset: 664 | - ISO-8859-1,utf-8;q=0.7,*;q=0.7 665 | Accept-Language: 666 | - en-us,en;q=0.5 667 | Cookie: 668 | - session=1184978518586403577%3a11467077414475356614; authlink=e4b3eb0e 669 | Host: 670 | - www.okcupid.com 671 | Referer: 672 | - !ruby/object:URI::HTTP 673 | scheme: http 674 | user: 675 | password: 676 | host: www.okcupid.com 677 | port: 80 678 | path: /home 679 | query: 680 | opaque: 681 | registry: 682 | fragment: 683 | parser: 684 | Connection: 685 | - keep-alive 686 | Keep-Alive: 687 | - 300 688 | response: 689 | status: 690 | code: 200 691 | message: OK 692 | headers: 693 | Date: 694 | - Mon, 26 Mar 2012 17:34:55 GMT 695 | Content-Type: 696 | - text/html; charset=utf-8 697 | Connection: 698 | - close 699 | Cache-Control: 700 | - private 701 | Server: 702 | - OKWS/3.1.15.5 703 | Content-Encoding: 704 | - gzip 705 | Transfer-Encoding: 706 | - chunked 707 | P3p: 708 | - CP="NOI CURa ADMa DEVa TAIa OUR BUS IND UNI COM NAV INT", policyref="http://www.okcupid.com/w3c/p3p.xml" 709 | body: 710 | encoding: ASCII-8BIT 711 | string: !binary |- 712 | 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 1028 | http_version: 1029 | recorded_at: Mon, 26 Mar 2012 17:34:56 GMT 1030 | recorded_with: VCR 2.0.0 1031 | -------------------------------------------------------------------------------- /spec/cassettes/location_filter_looks_up_location_id.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: http://www.okcupid.com/locquery?func=query&query=Cincinnati,%20Ohio 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: 10 | Accept: 11 | - ! '*/*' 12 | User-Agent: 13 | - Ruby 14 | response: 15 | status: 16 | code: 200 17 | message: OK 18 | headers: 19 | Date: 20 | - Sun, 25 Mar 2012 04:56:31 GMT 21 | Content-Type: 22 | - text/javascript 23 | Connection: 24 | - close 25 | Cache-Control: 26 | - private 27 | Server: 28 | - OKWS/3.1.15.5 29 | P3p: 30 | - CP="NOI CURa ADMa DEVa TAIa OUR BUS IND UNI COM NAV INT", policyref="http://www.okcupid.com/w3c/p3p.xml" 31 | Content-Length: 32 | - '160' 33 | Set-Cookie: 34 | - guest=14433467885058850318; expires=Mon, 25 Mar 2013 04:56:31 GMT; path=/; 35 | domain=okcupid.com 36 | body: 37 | encoding: US-ASCII 38 | string: ! '{"status" : 0, "query" : "Cincinnati, Ohio", "results" : [{"locid" 39 | : 4164146, "text" : "Cincinnati"}, {"locid" : 4344665, "text" : "Cincinnati"}], 40 | "locid" : 0} 41 | 42 | ' 43 | http_version: 44 | recorded_at: Sun, 25 Mar 2012 04:56:31 GMT 45 | recorded_with: VCR 2.0.0 46 | -------------------------------------------------------------------------------- /spec/cassettes/search_by_username.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://www.okcupid.com/login 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: 10 | Accept: 11 | - ! '*/*' 12 | User-Agent: 13 | - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.11 (KHTML, 14 | like Gecko) Chrome/17.0.963.79 Safari/535.11 15 | Accept-Encoding: 16 | - gzip,deflate,identity 17 | Accept-Charset: 18 | - ISO-8859-1,utf-8;q=0.7,*;q=0.7 19 | Accept-Language: 20 | - en-us,en;q=0.5 21 | Host: 22 | - www.okcupid.com 23 | Connection: 24 | - keep-alive 25 | Keep-Alive: 26 | - 300 27 | response: 28 | status: 29 | code: 200 30 | message: OK 31 | headers: 32 | Date: 33 | - Fri, 23 Mar 2012 22:52:20 GMT 34 | Content-Type: 35 | - text/html; charset=utf-8 36 | Connection: 37 | - close 38 | Cache-Control: 39 | - private 40 | Server: 41 | - OKWS/3.1.15.5 42 | Content-Encoding: 43 | - gzip 44 | Transfer-Encoding: 45 | - chunked 46 | P3p: 47 | - CP="NOI CURa ADMa DEVa TAIa OUR BUS IND UNI COM NAV INT", policyref="http://www.okcupid.com/w3c/p3p.xml" 48 | Set-Cookie: 49 | - guest=7935628877483471116; expires=Sat, 23 Mar 2013 22:52:20 GMT; path=/; 50 | domain=okcupid.com 51 | body: 52 | encoding: ASCII-8BIT 53 | string: !binary |- 54 | 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 155 | 1klihicAAA== 156 | http_version: 157 | recorded_at: Fri, 23 Mar 2012 22:52:20 GMT 158 | - request: 159 | method: post 160 | uri: https://www.okcupid.com/login 161 | body: 162 | encoding: UTF-8 163 | string: p=&dest=&username=<%= username %>&password=<%= password %> 164 | headers: 165 | Accept: 166 | - ! '*/*' 167 | User-Agent: 168 | - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.11 (KHTML, 169 | like Gecko) Chrome/17.0.963.79 Safari/535.11 170 | Accept-Encoding: 171 | - gzip,deflate,identity 172 | Accept-Charset: 173 | - ISO-8859-1,utf-8;q=0.7,*;q=0.7 174 | Accept-Language: 175 | - en-us,en;q=0.5 176 | Cookie: 177 | - guest=7935628877483471116 178 | Host: 179 | - www.okcupid.com 180 | Referer: 181 | - !ruby/object:URI::HTTPS 182 | scheme: https 183 | user: 184 | password: 185 | host: www.okcupid.com 186 | port: 443 187 | path: /login 188 | query: 189 | opaque: 190 | registry: 191 | fragment: 192 | parser: 193 | Content-Type: 194 | - application/x-www-form-urlencoded 195 | Content-Length: 196 | - '41' 197 | Connection: 198 | - keep-alive 199 | Keep-Alive: 200 | - 300 201 | response: 202 | status: 203 | code: 302 204 | message: '' 205 | headers: 206 | Date: 207 | - Fri, 23 Mar 2012 22:52:20 GMT 208 | Connection: 209 | - close 210 | Server: 211 | - OKWS/3.1.15.5 212 | Location: 213 | - http://www.okcupid.com/home 214 | P3p: 215 | - CP="NOI CURa ADMa DEVa TAIa OUR BUS IND UNI COM NAV INT", policyref="http://www.okcupid.com/w3c/p3p.xml" 216 | Set-Cookie: 217 | - data=; expires=Fri, 16 Mar 2012 22:52:20 GMT; path=/; domain=okcupid.com 218 | - guest=; expires=Thu, 22 Mar 2012 22:52:20 GMT; path=/; domain=okcupid.com 219 | - session=1184978518586403577%3a11467077414475356614; expires=Sat, 23 Mar 2013 220 | 22:52:20 GMT; path=/; domain=okcupid.com 221 | body: 222 | encoding: US-ASCII 223 | string: '' 224 | http_version: 225 | recorded_at: Fri, 23 Mar 2012 22:52:20 GMT 226 | - request: 227 | method: get 228 | uri: http://www.okcupid.com/home 229 | body: 230 | encoding: US-ASCII 231 | string: '' 232 | headers: 233 | Accept: 234 | - ! '*/*' 235 | User-Agent: 236 | - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.11 (KHTML, 237 | like Gecko) Chrome/17.0.963.79 Safari/535.11 238 | Accept-Encoding: 239 | - gzip,deflate,identity 240 | Accept-Charset: 241 | - ISO-8859-1,utf-8;q=0.7,*;q=0.7 242 | Accept-Language: 243 | - en-us,en;q=0.5 244 | Cookie: 245 | - session=1184978518586403577%3a11467077414475356614 246 | Host: 247 | - www.okcupid.com 248 | Connection: 249 | - keep-alive 250 | Keep-Alive: 251 | - 300 252 | response: 253 | status: 254 | code: 200 255 | message: OK 256 | headers: 257 | Date: 258 | - Fri, 23 Mar 2012 22:52:21 GMT 259 | Content-Type: 260 | - text/html; charset=utf-8 261 | Connection: 262 | - close 263 | Cache-Control: 264 | - private 265 | Server: 266 | - OKWS/3.1.15.5 267 | Content-Encoding: 268 | - gzip 269 | Transfer-Encoding: 270 | - chunked 271 | P3p: 272 | - CP="NOI CURa ADMa DEVa TAIa OUR BUS IND UNI COM NAV INT", policyref="http://www.okcupid.com/w3c/p3p.xml" 273 | Set-Cookie: 274 | - authlink=e4b3eb0e; expires=Sat, 23 Mar 2013 22:52:21 GMT; path=/; domain=okcupid.com 275 | body: 276 | encoding: ASCII-8BIT 277 | string: !binary |- 278 | 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 449 | qLvD2pl2PbL3VXeKXRs8Ogj06iRm0dYEflVhrQHgTnv0h1B8P8fp6HN854aX 450 | biVbqpo2s9yrAQzLtzQD4h7+nmHMFLuDvQgk0+Czozm6rSuObDiabcr40B9n 451 | e74+lrivFjxw0swjKMF6oSm3NkHjstTW4FHbJQrKcUMAnAdUiVcjJPMg1RAp 452 | y5tt0aVODdBYuqMZGPewSFVdm6kKU4wsl001WARGlbE1jz+ApSOrjmLIjwJI 453 | s96b2huQ9ek4++pG9RF0Y63glBqb4HFJbOvgqO9gn34NZvF4LygiQXuA9Gye 454 | CFkqLYijvITgJ6R+nnh3KLJYk+peTj6ej8MzEs8+i2Fzv5axCj6uSKBbSTNE 455 | KjryuPsuEokr6YyoM0gnMTJkq1exkRmy9EORmzn/ECl7i9TPbDQd9yOWSYh3 456 | 42l7vN5EJELzxpUMw9Uk5i0sZaS1IqtV/FW2z2lV7UVKK/vOM1rnGYcrpK+m 457 | YD0Y8Vsn/m1JejmBZZXoLaJxZY5vmyK1Jc1Le/6rZG9hyZXJ3ja/ZEuyV3ZF 458 | VwnfQuuVCd96I35LyqsbSKtk7wrMbbcqtyS7GnZfJXtnMdlmc2dLmheRy1V6 459 | d0Tj9nHxLWkuB31Wqd5VpreMK25Jc9VTXqV6R5HeMiKzJdHLDsUq2TuK9Nb+ 460 | 65aEL1leq3TvKCQ7mfo1tAtrKC8xWFgvSDVh9YAlvd8Tl2AWlGqCxii9YMU/ 461 | sN3ymo1xnKDwTNSIdv6Y0pQVO2CkuUXHa12nEx+1TV8yN0uftQMxSlEGRV5g 462 | LDhjKb6wyp/2MVFQC4vaqQg5MPjVRuax/PnDV8O78ocfxgO1+/bXNA2sfub9 463 | 9grt/0xQ65WgCqKXxS9RjxikJ4we8q+V8tOzi+qjhUnNK91KhTrsjTa94ZhV 464 | 4fzACr+u6d0r5ak7nnzPr10mqCp7fffqy6fzNxfd973X788/vuXNqGDpTUBP 465 | mndHdSUisn5xrZZVKQodGYeb86p72/0x9D3j8vX5r39GP70/H99cDc/7sfrZ 466 | 25JXX5aeXWJWRYg2Fqj1UUG1rjitqCgsKtxEaSjJ7iYoV2Sl2J3fUbwprrbO 467 | uEfAWUzT18KaJq9IRG/JJ1ZMmF961s67iKrE9vPvYajz8s+icjGnJKSDrIc6 468 | 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 658 | PDlT8XBlXsWMFjY+yX+fZOFbkw4hWxVMzgwYmJ2ZVAiVokX08idv9X5vuErR 659 | hsBlnDlFTPaHPKAZ37uqynFtRWOXDV39D+2aNMpXl/WVg1YPXdZns2Xxyu3y 660 | vrByD9RlfYato4OAqaDcld+m/b8ZmvGj7kLgDOVsSwJC2y6cpGGOcmSfcdOR 661 | WoVh5DTDjcoCCLMuD+DGRyrAQd/T5t9+ZxrwAQAA///cXWl328aS/Zz3K3qY 662 | sSkfSCL2RbbkIy9J9GLZiZfx5BMPCDRJRCDAAKBE5Z3573OrsRCkuEEh5ShZ 663 | JJFAA93VtXXV7erWs+cs4dkkiVjfDVP+vH322Q2vmNuLJxkLshcd9+xFJwzO 664 | 2IswYF7opulpaxj4vDfJsjhqscDPP3d7WdRVTFUxHUVTLNnRFF0xVF1poanL 665 | hgnvn7a+/wktWyyOvDDwrk5b+Ojz6EvKk/SYHnrQ/jlx/7y9CrIs4LrRPmTt 666 | YTzi+B1NwvDZczyL0SPYMBgxVutbZxLiNR0/uMYv/BTdGgdet9sP3cGA+y2W 667 | ZrchP235QToO3dsTFsURxwPrjYrhUZNuP05G3WEc+jyZ3SQIIShRPt+Lo8wN 668 | Ip50FUvRVU11VMd0dMPBv6beKinmellwHWS33SDjI4aOgeK8y695lLEf6SXR 669 | pfd+go5mRC4aQNEXz018+mpcfhGM3IEg4SiepDy+5slp678PsmGQPjuejA/a 670 | x9Si/ezY9f3XNFvv3RHIOqQb289m7SbZ8mYJH+HWJS1rs9gZJ3E/CHlnvued 671 | YljpS69/StPWjZNekKXU/WA0YGnigVWybHzS6bhX6nF85Xl+dOzFo854OO6E 672 | set38V1XjPCYvhJ/pR1Tnppy8VPBB/yty1PdljtqZxnVj38f80GL9eIEk3fa 673 | klvMDTHc84iJB7K4v0hzdhP42fC0ZeLeIQ8GQ9xOf3eIqVz6MZ6fFpA+6QZR 674 | P56bG/o2Ar3BMCXHN6bVPE1zFqeXVwwANoKgts5Uh3XYJf5/FaR8OnFD/Pkp 675 | iAYhz3tbNQhjz80CyOrZGz7NeHLIfgbbTbyr2/zGQmqKX1WzdDIaucmtGEvB 676 | jNX4CnHeweDYZEwTz33msojfsPEwzuI75CYpQ5+XSuudWfDdjGcBzYKislEQ 677 | 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 852 | rZXuWAG7Z0MT4+PoXwAAAP//AwDU4wSsW30BAA== 853 | http_version: 854 | recorded_at: Fri, 23 Mar 2012 22:52:21 GMT 855 | - request: 856 | method: get 857 | uri: http://www.okcupid.com/profile/voliobi_te 858 | body: 859 | encoding: US-ASCII 860 | string: '' 861 | headers: 862 | Accept: 863 | - ! '*/*' 864 | User-Agent: 865 | - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.11 (KHTML, 866 | like Gecko) Chrome/17.0.963.79 Safari/535.11 867 | Accept-Encoding: 868 | - gzip,deflate,identity 869 | Accept-Charset: 870 | - ISO-8859-1,utf-8;q=0.7,*;q=0.7 871 | Accept-Language: 872 | - en-us,en;q=0.5 873 | Cookie: 874 | - session=1184978518586403577%3a11467077414475356614; authlink=e4b3eb0e 875 | Host: 876 | - www.okcupid.com 877 | Connection: 878 | - keep-alive 879 | Keep-Alive: 880 | - 300 881 | response: 882 | status: 883 | code: 200 884 | message: OK 885 | headers: 886 | Date: 887 | - Fri, 23 Mar 2012 22:52:21 GMT 888 | Content-Type: 889 | - text/html; charset=utf-8 890 | Connection: 891 | - close 892 | Cache-Control: 893 | - private 894 | Server: 895 | - OKWS/3.1.15.5 896 | Content-Encoding: 897 | - gzip 898 | Transfer-Encoding: 899 | - chunked 900 | P3p: 901 | - CP="NOI CURa ADMa DEVa TAIa OUR BUS IND UNI COM NAV INT", policyref="http://www.okcupid.com/w3c/p3p.xml" 902 | body: 903 | encoding: ASCII-8BIT 904 | string: !binary |- 905 | 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 1216 | x6JMe3BrzcyKPMcYlIbR0RH0OflYe5KZKEtylqGwjEpZ38AOxH9M5dGqMxhs 1217 | WyTqYcsI+qtuAvdY4IA5fHD8XizE6pRBaeWArTP+XgntSrQLrPOtt+E9sbXV 1218 | km96Gzaj70JKN2BF+0Sc/3FfTCa3s49/Stbb+A4Oe1v+tPnR7SqfvRVOoR4w 1219 | 468chzOVUBLuMaPkYlUWmXg8A200MkjRV2LAugyWKnapX3GimG++SaS+a7fh 1220 | 6mby+XoMd9++XF9OoN0m0Jt57oTpxKwMpV3GUjubhRodl/zjCZfyLe5aryrR 1221 | GjZVEvgimcTHMxrBuwGwSseYKI0xO4TnZpO6AJrN+jqcyoKobDZfmhs6KZ83 1222 | A6+lSiUQnKND6SYqxyfiinzD7kmotHJKZOoJg2cWly4ySVKiY3AGHzrHwKhF 1223 | XVQVsXAUGx12T0+7738++fTpJ7rcYNunHY9WZUQ+PM7ZCl8Oe/Cyo3S+u9d9 1224 | 8MUKHZOIhEaTiiYiK3GrX/5Pfj7HBsXqsyM5DNilLh218niB1N6U2cLMMWj9 1225 | GB+S4megkCkJoNDYMXQ7nVqKG/73mxVPOPJKfi20mKENLzfcvFLsTR575o0K 1226 | kFRaOkXZicoZaSyOrTU28EWgz8VGVjnFGS6tchTlipYWHEHLrdqO/20XoTeM 1227 | LBbG+jn95cPp++5pZz2utYl/nVo1Hw2/3XY23Pn819pJwFpHeNQiBp5BGjNX 1228 | GPkAqWyMzrxKRCmKmN6i1JTOHy+Xy22NJJRT/ppUrrYiPuvu3ETjGaPi+yZc 1229 | dXvw+dvkZnTzdRzdja9+jUYX49Hvh6+aHw4O4N9glNoui6zELIlkinLO/HDs 1230 | jIZKSHNxxeI/RMNrRs9zt0KR4P7nKFVOZWFJz6TvNBuwqYkf25kRNKyUZH2L 1231 | Dygrh+cmv6JzP69b2se9gRek1OX0isBfAAAA//8DAFrhwaLbrgAA 1232 | http_version: 1233 | recorded_at: Fri, 23 Mar 2012 22:52:21 GMT 1234 | recorded_with: VCR 2.0.0 1235 | -------------------------------------------------------------------------------- /spec/cassettes/search_that_includes_a_location.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: http://www.okcupid.com/locquery?func=query&query=Boise,%20Idaho 6 | body: 7 | encoding: US-ASCII 8 | string: '' 9 | headers: 10 | Accept: 11 | - ! '*/*' 12 | User-Agent: 13 | - Ruby 14 | response: 15 | status: 16 | code: 200 17 | message: OK 18 | headers: 19 | Date: 20 | - Sun, 25 Mar 2012 04:53:35 GMT 21 | Content-Type: 22 | - text/javascript 23 | Connection: 24 | - close 25 | Cache-Control: 26 | - private 27 | Server: 28 | - OKWS/3.1.15.5 29 | P3p: 30 | - CP="NOI CURa ADMa DEVa TAIa OUR BUS IND UNI COM NAV INT", policyref="http://www.okcupid.com/w3c/p3p.xml" 31 | Content-Length: 32 | - '129' 33 | Set-Cookie: 34 | - guest=17419761723812592274; expires=Mon, 25 Mar 2013 04:53:35 GMT; path=/; 35 | domain=okcupid.com 36 | body: 37 | encoding: US-ASCII 38 | string: ! '{"status" : 0, "ZipCode" : "", "query" : "Boise, Idaho", "locid" 39 | : 4356487, "results" : [{"locid" : 4356487, "text" : "Boise"}]} 40 | 41 | ' 42 | http_version: 43 | recorded_at: Sun, 25 Mar 2012 04:53:35 GMT 44 | recorded_with: VCR 2.0.0 45 | -------------------------------------------------------------------------------- /spec/cassettes/successful_authentication.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: post 5 | uri: https://www.okcupid.com/login 6 | body: 7 | encoding: US-ASCII 8 | string: okc_api=1&password=<%= password %>&username=<%= username %> 9 | headers: 10 | Accept: 11 | - ! '*/*' 12 | User-Agent: 13 | - Mechanize/2.0.1 Ruby/1.9.3p484 (http://github.com/tenderlove/mechanize/) 14 | Accept-Encoding: 15 | - gzip,deflate,identity 16 | Accept-Charset: 17 | - ISO-8859-1,utf-8;q=0.7,*;q=0.7 18 | Accept-Language: 19 | - en-us,en;q=0.5 20 | Host: 21 | - www.okcupid.com 22 | Content-Type: 23 | - application/x-www-form-urlencoded 24 | Content-Length: 25 | - '49' 26 | Connection: 27 | - keep-alive 28 | Keep-Alive: 29 | - 300 30 | response: 31 | status: 32 | code: 200 33 | message: OK 34 | headers: 35 | Date: 36 | - Tue, 04 Feb 2014 01:19:42 GMT 37 | Content-Type: 38 | - application/json; charset=utf-8 39 | Connection: 40 | - keep-alive 41 | !binary "Q2FjaGUtQ29udHJvbA==": 42 | - !binary |- 43 | cHJpdmF0ZQ== 44 | !binary "U2VydmVy": 45 | - !binary |- 46 | T0tXUy8zLjEuMTguMA== 47 | !binary "Q29udGVudC1FbmNvZGluZw==": 48 | - !binary |- 49 | Z3ppcA== 50 | !binary "VHJhbnNmZXItRW5jb2Rpbmc=": 51 | - !binary |- 52 | Y2h1bmtlZA== 53 | !binary "UDNw": 54 | - !binary |- 55 | Q1A9Ik5PSSBDVVJhIEFETWEgREVWYSBUQUlhIE9VUiBCVVMgSU5EIFVOSSBD 56 | T00gTkFWIElOVCIsIHBvbGljeXJlZj0iaHR0cDovL3d3dy5va2N1cGlkLmNv 57 | bS93M2MvcDNwLnhtbCI= 58 | !binary "U2V0LUNvb2tpZQ==": 59 | - !binary |- 60 | Z3Vlc3Q9OyBFeHBpcmVzPU1vbiwgMDMgRmViIDIwMTQgMDE6MTk6NDIgR01U 61 | OyBQYXRoPS87IERvbWFpbj1va2N1cGlkLmNvbTsgSHR0cE9ubHk= 62 | - !binary |- 63 | c2Vzc2lvbj0xMTg0OTc4NTE4NTg2NDAzNTc3JTNhMTU5ODk0NDYwMjgzNjIz 64 | NzYyMDY7IEV4cGlyZXM9V2VkLCAwNCBGZWIgMjAxNSAwMToxOTo0MiBHTVQ7 65 | IFBhdGg9LzsgRG9tYWluPW9rY3VwaWQuY29tOyBIdHRwT25seQ== 66 | body: 67 | encoding: ASCII-8BIT 68 | string: !binary |- 69 | H4sIAAAAAAAA/0SN3QqDMAyF7/cU0uvRtLN/+jLS1WCdWsW2IIy9+6oXGyQk 70 | fOec5E2Sz8sz2HEmVVsRn9IWWwA71XSdnOsDdesCm99gXm3fFdaNix2Qnuja 71 | InDFjtK/KdTBQHB91JrDA5pal+JcS60bzZQRkr42HMi9ItHtiCHYBa/3yWPa 72 | cbqUZFOOXUz7qYQ8zwXmiPvYX1bOjWi0kdxIowSry/F/7HSwz+0LAAD//wMA 73 | ZhSxdd4AAAA= 74 | http_version: 75 | recorded_at: Tue, 04 Feb 2014 01:19:42 GMT 76 | recorded_with: VCR 2.8.0 77 | -------------------------------------------------------------------------------- /spec/ethnicity_filter_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe "EthnicityFilter" do 4 | it "adds ethnicity as an numbered filter to the query url" do 5 | @search = OKCupid::Search.new({ 6 | :gentation => 'guys who like guys', 7 | :ethnicity => ['human'] 8 | }) 9 | @search.url.should match(/filter[\d]=9,512/) 10 | end 11 | 12 | it "supports mulitple ethnicity values" do 13 | @search = OKCupid::Search.new({ 14 | :gentation => 'guys who like guys', 15 | :ethnicity => ['white', 'black'] 16 | }) 17 | # White + Black 18 | # 256 + 8 19 | @search.url.should match(/filter[\d]=9,264/) 20 | end 21 | end -------------------------------------------------------------------------------- /spec/helper_spec.rb: -------------------------------------------------------------------------------- 1 | # encoding: UTF-8 2 | require 'spec_helper' 3 | 4 | describe "helpers" do 5 | it "OKCupid.strip removs funky lead and trailing white space" do 6 | OKCupid.strip(" Today – 2:40am ").should == "Today – 2:40am" 7 | end 8 | end -------------------------------------------------------------------------------- /spec/location_id_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe "snagging a location id" do 4 | it "takes a query and returns an id" do 5 | VCR.use_cassette('find_location') do 6 | @loc_id = OKCupid::Search.location_id_for('Ann Arbor, MI') 7 | end 8 | 9 | @loc_id.should == '4305734' 10 | end 11 | end -------------------------------------------------------------------------------- /spec/mailbox_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe "Mailbox" do 4 | it "tells you how full your mailbox is" do 5 | VCR.use_cassette('loading_mailbox', :erb => {username: ENV['OKC_USERNAME'], password: ENV['OKC_PASSWORD']}) do 6 | okc = OKCupid.new(ENV['OKC_USERNAME'], ENV['OKC_PASSWORD']) 7 | @mailbox = okc.mailbox 8 | @mailbox.useage.should == { 9 | current: 233, 10 | max: 300 11 | } 12 | end 13 | end 14 | 15 | it "can access the first message, up to 30" do 16 | VCR.use_cassette('loading_mailbox', :erb => {username: ENV['OKC_USERNAME'], password: ENV['OKC_PASSWORD']}) do 17 | okc = OKCupid.new(ENV['OKC_USERNAME'], ENV['OKC_PASSWORD']) 18 | @mailbox = okc.mailbox 19 | @mailbox.messages.count.should == 30 20 | end 21 | end 22 | 23 | it "each message header is a header" do 24 | VCR.use_cassette('loading_mailbox', :erb => {username: ENV['OKC_USERNAME'], password: ENV['OKC_PASSWORD']}) do 25 | okc = OKCupid.new(ENV['OKC_USERNAME'], ENV['OKC_PASSWORD']) 26 | @mailbox = okc.mailbox 27 | @mailbox.messages.all? {|m| m.is_a?(OKCupid::Mailbox::MessageSnippet)}.should == true 28 | end 29 | end 30 | end 31 | 32 | describe "Conversation" do 33 | before(:each) do 34 | VCR.use_cassette('loading_conversation') do 35 | okc = OKCupid.new(ENV['OKC_USERNAME'], ENV['OKC_PASSWORD']) 36 | @conversation = okc.conversation_for('5887692615523576083') 37 | end 38 | end 39 | 40 | it "has a from_profile_username" do 41 | @conversation.from_profile_username.should == 'snowpea383' 42 | end 43 | 44 | it "contains a list of messages" do 45 | @conversation.messages.count.should == 12 46 | end 47 | 48 | describe "each message" do 49 | before(:each) do 50 | @message = @conversation.messages.last 51 | end 52 | 53 | it "has a to_me" do 54 | @message.to_me.should == false 55 | end 56 | 57 | it "has a from_me" do 58 | @message.from_me.should == true 59 | end 60 | end 61 | end 62 | 63 | describe "MessageSnippet" do 64 | before(:each) do 65 | VCR.use_cassette('loading_mailbox', :erb => {username: ENV['OKC_USERNAME'], password: ENV['OKC_PASSWORD']}) do 66 | okc = OKCupid.new(ENV['OKC_USERNAME'], ENV['OKC_PASSWORD']) 67 | mailbox = okc.mailbox 68 | @header = mailbox.messages.first 69 | end 70 | end 71 | 72 | it "has a profile_username" do 73 | @header.profile_username.should == 'teachforall' 74 | end 75 | 76 | it "has a profile_small_avatar_url" do 77 | @header.profile_small_avatar_url.should == 'http://ak2.okccdn.com/php/load_okc_image.php/images/60x60/60x60/0x30/198x228/2/18256810077890846020.jpeg' 78 | end 79 | 80 | it "has a preview" do 81 | @header.preview.should == 'No, I was there like a month ago. I live in EL so ...' 82 | end 83 | 84 | it "has a conversation_url" do 85 | @header.conversation_url.should == '/messages?readmsg=true&threadid=9950201897626358080&folder=1' 86 | end 87 | 88 | it "has a last_date" do 89 | @header.last_date.should == Date.new(2012, 03, 25) 90 | end 91 | end -------------------------------------------------------------------------------- /spec/pagination_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe "pagination" do 4 | describe "success" do 5 | before(:each) do 6 | VCR.use_cassette('paginate_search_results_by_10', :erb => {:username => ENV['OKC_USERNAME'], :password => ENV['OKC_PASSWORD']}) do 7 | okc = OKCupid.new(ENV['OKC_USERNAME'], ENV['OKC_PASSWORD']) 8 | 9 | @search = okc.search({ 10 | gentation: 'girls who like guys', 11 | location: 4356796 12 | }) 13 | @search.results 14 | @did_it_work = @search.load_next_page 15 | end 16 | end 17 | 18 | it "snags 10 more results" do 19 | @search.results.size.should == 20 20 | @search.results.all? {|p| p.kind_of?(OKCupid::Profile)}.should == true 21 | end 22 | 23 | it "returns true" do 24 | @did_it_work.should == true 25 | end 26 | end 27 | 28 | describe "failure" do 29 | before(:each) do 30 | VCR.use_cassette('paginate_search_results_by_10_with_failure', :erb => {:username => ENV['OKC_USERNAME'], :password => ENV['OKC_PASSWORD']}) do 31 | okc = OKCupid.new(ENV['OKC_USERNAME'], ENV['OKC_PASSWORD']) 32 | 33 | @search = okc.search({ 34 | gentation: 'guys who like guys', 35 | location: 4204350, # "Provo, Utah" 36 | min_age: 30, 37 | max_age: 30 38 | }) 39 | @count = @search.results.size 40 | @did_it_work = @search.load_next_page 41 | end 42 | end 43 | 44 | it "doesn't snag any more results" do 45 | @search.results.size.should == @count 46 | end 47 | 48 | it "returns false" do 49 | @did_it_work.should == false 50 | end 51 | end 52 | end -------------------------------------------------------------------------------- /spec/paginator_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe "Paginator" do 4 | before(:each) do 5 | @page = OKCupid::Paginator.new({ 6 | page: 1, 7 | per_page: 5 8 | }) 9 | end 10 | 11 | it "paramiterizes itself" do 12 | @page.to_param.should == "low=1&count=5" 13 | end 14 | 15 | it "stores the current page" do 16 | @page.page.should == 1 17 | end 18 | 19 | it "stores the per page value" do 20 | @page.per_page.should == 5 21 | end 22 | 23 | it "low is lowest item number for the current page" do 24 | @page.low.should == 1 25 | end 26 | 27 | describe "incrementing" do 28 | before(:each) do 29 | @page.next 30 | end 31 | 32 | it "incremens the current page" do 33 | @page.page.should == 2 34 | end 35 | 36 | it "low is lowest item number for the current page" do 37 | @page.low.should == 6 38 | end 39 | 40 | it "updates the params itself" do 41 | @page.to_param.should == "low=6&count=5" 42 | end 43 | end 44 | end -------------------------------------------------------------------------------- /spec/profile_spec.rb: -------------------------------------------------------------------------------- 1 | #encoding: UTF-8 2 | require 'spec_helper' 3 | 4 | describe "Profile" do 5 | it "checks for equality based on username" do 6 | OKCupid::Profile.new(:username => 'someguy', :age => 22).should == OKCupid::Profile.new(:username => 'someguy', :age => 35) 7 | end 8 | 9 | it "checks for object equality based on username" do 10 | OKCupid::Profile.new(:username => 'someguy', :age => 22).should eql(OKCupid::Profile.new(:username => 'someguy', :age => 35)) 11 | end 12 | 13 | it "hashes itself by username if present, for Set inclusion" do 14 | one = OKCupid::Profile.new(:username => 'someguy') 15 | two = OKCupid::Profile.new(:username => 'someguy') 16 | one.hash.should == two.hash 17 | end 18 | end 19 | 20 | describe "Profile from specific find" do 21 | before(:each) do 22 | VCR.use_cassette('search_by_username', :erb => {:username => ENV['OKC_USERNAME'], :password => ENV['OKC_PASSWORD']}) do 23 | @profile = OKCupid.new(ENV['OKC_USERNAME'], ENV['OKC_PASSWORD']).profile_for('voliobi_te') 24 | end 25 | end 26 | 27 | it "has a username" do 28 | @profile.username.should == 'voliobi_te' 29 | end 30 | 31 | it "has an age" do 32 | @profile.age.should == '21' 33 | end 34 | 35 | it "has a match %" do 36 | @profile.match.should == 45 37 | end 38 | 39 | it "has a friend %" do 40 | @profile.friend.should == 56 41 | end 42 | 43 | it "has an enemy %" do 44 | @profile.enemy.should == 33 45 | end 46 | 47 | it "has a location" do 48 | @profile.location.should == 'Ann Arbor, Michigan' 49 | end 50 | 51 | it " doesn't has a small avatar url" do 52 | @profile.small_avatar_url.should == nil 53 | end 54 | 55 | it "has a collection of thumbnail urls" do 56 | @profile.profile_thumb_urls.should == ["http://akcdn.okccdn.com/media/img/user/d_160.png"] 57 | end 58 | 59 | it "has a sex" do 60 | @profile.sex.should == 'M' 61 | end 62 | 63 | it "has an orientation" do 64 | @profile.orientation.should == 'Gay' 65 | end 66 | 67 | it "has a signle status" do 68 | @profile.single.should == 'Single' 69 | end 70 | 71 | it "has a last_online" do 72 | @profile.last_online.should == "Today – 2:40am" 73 | end 74 | 75 | it "has a ethnicity" do 76 | @profile.ethnicity.should == 'White' 77 | end 78 | 79 | it "has a height" do 80 | @profile.height.should == '6′ 2″ (1.88m).' 81 | end 82 | 83 | it "has a body_type" do 84 | @profile.body_type.should == 'Thin' 85 | end 86 | 87 | it "has a diet" do 88 | @profile.diet.should == 'Mostly anything' 89 | end 90 | 91 | it "has a smokes" do 92 | @profile.smokes.should == 'No' 93 | end 94 | 95 | it "has a drinks" do 96 | @profile.drinks.should == 'Socially' 97 | end 98 | 99 | it "has a drugs" do 100 | @profile.drugs.should == 'Never' 101 | end 102 | 103 | it "has a religion" do 104 | @profile.religion.should == 'Agnosticism but not too serious about it' 105 | end 106 | 107 | it "has a sign" do 108 | @profile.sign.should == 'Gemini and it’s fun to think about' 109 | end 110 | 111 | it "has a education" do 112 | @profile.education.should == 'Working on college/university' 113 | end 114 | 115 | it "has a job" do 116 | @profile.job.should == 'Student' 117 | end 118 | 119 | it "has a income" do 120 | @profile.income.should == nil 121 | end 122 | 123 | it "has a offspring" do 124 | @profile.offspring.should == nil 125 | end 126 | 127 | it "has a pets" do 128 | @profile.pets.should == nil 129 | end 130 | 131 | it "has a speaks" do 132 | @profile.speaks.should == 'English (Fluently), Serbian (Fluently), Croatian (Fluently)' 133 | end 134 | 135 | end 136 | 137 | describe "Profile from search result" do 138 | # N.B. we used to check for specific values. This is maddening. Now we match found values to a regexp or Ruby class. 139 | before(:each) do 140 | VCR.use_cassette('load_profile_from_search', :erb => {:username => ENV['OKC_USERNAME'], :password => ENV['OKC_PASSWORD']}) do 141 | @profile = OKCupid.new(ENV['OKC_USERNAME'], ENV['OKC_PASSWORD']).search({ 142 | gentation: 'girls who like guys' 143 | }).results.first 144 | end 145 | end 146 | 147 | it "has a username" do 148 | @profile.username.should be_kind_of(String) 149 | end 150 | 151 | it "has an age" do 152 | @profile.age.should be_kind_of(String) 153 | end 154 | 155 | it "has a match %" do 156 | @profile.match.should be_kind_of(Integer) 157 | end 158 | 159 | it "has a friend %" do 160 | @profile.friend.should be_kind_of(Integer) 161 | end 162 | 163 | it "has an enemy %" do 164 | @profile.enemy.should be_kind_of(Integer) 165 | end 166 | 167 | it "has a location" do 168 | @profile.location.should match(/[\w]+, [\w]+/) 169 | end 170 | 171 | it "has a small avatar url" do 172 | @profile.small_avatar_url.should match(/^http:\/\//) 173 | #== 'http://ak2.okccdn.com/php/load_okc_image.php/images/82x82/82x82/14x56/323x365/2/853930758706783150.jpeg' 174 | end 175 | 176 | it "has a sex" do 177 | sexes = ['M', 'F'] 178 | sexes.should include(@profile.sex) 179 | end 180 | 181 | it "has an orientation" do 182 | @profile.orientation.should be_kind_of(String) 183 | end 184 | 185 | it "has a signle status" do 186 | @profile.single.should be_kind_of(String) 187 | end 188 | end -------------------------------------------------------------------------------- /spec/search_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe "Search" do 4 | 5 | it "complains about missing required keys" do 6 | lambda { OKCupid::Search.new({}) }.should raise_error(OKCupid::Search::FilterError) 7 | end 8 | 9 | it "with a location query looks up the location id" do 10 | VCR.use_cassette('search_that_includes_a_location') do 11 | OKCupid::Search.new({ 12 | :min_age => 33, 13 | :max_age => 34, 14 | :order_by => 'Match %', 15 | :last_login => 'last decade', 16 | :gentation => 'Guys who like guys', 17 | :location => 'Boise, Idaho', 18 | :radius => 25, 19 | :require_photo => false, 20 | :relationship_status => 'any' 21 | }).url.should =='/match?filter1=5,315360000&filter2=3,25&filter3=1,0&filter4=35,0&filter5=0,20&filter6=2,33,34&low=1&count=10&matchOrderBy=MATCH&locid=4356487&lquery=Boise,%20Idaho&timekey=1&custom_search=0' 22 | end 23 | end 24 | 25 | it "complains about malformed key values" do 26 | lambda { OKCupid::Search.new({ 27 | :gentation => 'Cats who like laser beams', 28 | }) }.should raise_error(OKCupid::Filter::BadValue) 29 | end 30 | 31 | describe "generating the url" do 32 | it "combines all the filters into a params string" do 33 | OKCupid::Search.new({ 34 | :min_age => 33, 35 | :max_age => 34, 36 | :order_by => 'Match %', 37 | :last_login => 'last decade', 38 | :gentation => 'Guys who like guys', 39 | :location => 'near me', 40 | :radius => 25, 41 | :require_photo => false, 42 | :relationship_status => 'any' 43 | }).url.should =='/match?filter1=5,315360000&filter2=3,25&filter3=1,0&filter4=35,0&filter5=0,20&filter6=2,33,34&low=1&count=10&matchOrderBy=MATCH&locid=0&timekey=1&custom_search=0' 44 | end 45 | end 46 | end 47 | 48 | describe "Results" do 49 | it "returns an empty collection if nothing is found" do 50 | VCR.use_cassette('search_finding_no_results', :erb => {:username => ENV['OKC_USERNAME'], :password => ENV['OKC_PASSWORD']}) do 51 | @results = OKCupid.new(ENV['OKC_USERNAME'], ENV['OKC_PASSWORD']).search({ 52 | gentation: 'guys who like guys', 53 | min_age: 25, 54 | max_age: 25, 55 | location: 4195656 56 | }).results 57 | end 58 | @results.empty?.should == true 59 | end 60 | 61 | it "returns an collection of OKCupid::Profile objects" do 62 | VCR.use_cassette('search_by_filters', :erb => {:username => ENV['OKC_USERNAME'], :password => ENV['OKC_PASSWORD']}) do 63 | @results = OKCupid.new(ENV['OKC_USERNAME'], ENV['OKC_PASSWORD']).search({ 64 | gentation: 'girls who like guys' 65 | }).results 66 | end 67 | 68 | @results.size.should == 10 69 | @results.all? {|p| p.kind_of?(OKCupid::Profile)}.should == true 70 | end 71 | end 72 | 73 | describe "Options" do 74 | describe "lookup" do 75 | it "finds the encoded value" do 76 | OKCupid::Filter.new('relationship_status', 'single').lookup('single').should == 2 77 | end 78 | end 79 | 80 | describe "parameterization" do 81 | it "strings itself" do 82 | OKCupid::Filter.new('relationship_status', 'single').to_param(1).should == 'filter1=35,2' 83 | end 84 | 85 | it "custom filters: ethnicity are added together" do 86 | OKCupid::EthnicityFilter.new('ethnicity', ['white', 'black']).to_param(1).should == 'filter1=9,264' 87 | end 88 | 89 | it "custom filters: order_by" do 90 | OKCupid::OrderByParameter.new('Match %').to_param.should == 'matchOrderBy=MATCH' 91 | end 92 | 93 | it "custom filters: age" do 94 | OKCupid::AgeFilter.new('age', [18,22]).to_param(1).should == 'filter1=2,18,22' 95 | end 96 | 97 | it "custom filters: radius" do 98 | OKCupid::RadiusFilter.new('radius', 50).to_param(1).should == 'filter1=3,50' 99 | end 100 | 101 | it "custom filters: radius" do 102 | OKCupid::RadiusFilter.new('radius', nil).to_param(1).should == nil 103 | end 104 | 105 | describe "custom filters: require photo" do 106 | it "with true" do 107 | OKCupid::RequirePhotoFilter.new('require_photo', true).to_param(1).should == 'filter1=1,1' 108 | end 109 | 110 | it "with false" do 111 | OKCupid::RequirePhotoFilter.new('require_photo', false).to_param(1).should == 'filter1=1,0' 112 | end 113 | end 114 | 115 | describe 'custom filters: location' do 116 | it "can use the 'near me' value" do 117 | OKCupid::LocationParameter.new('Near me').to_param.should == 'locid=0' 118 | end 119 | 120 | it 'can use a location query' do 121 | VCR.use_cassette('location_filter_looks_up_location_id') do 122 | OKCupid::LocationParameter.new('Cincinnati, Ohio').to_param.should == 'locid=4164146&lquery=Cincinnati,%20Ohio' 123 | end 124 | end 125 | 126 | it "can use a location_id" do 127 | OKCupid::LocationParameter.new(4335338).to_param.should == 'locid=4335338' 128 | end 129 | end 130 | end 131 | end -------------------------------------------------------------------------------- /spec/spec_helper.rb: -------------------------------------------------------------------------------- 1 | # encoding: UTF-8 2 | require 'bundler' 3 | Bundler.require(:default, :test) 4 | require 'lonely_coder' 5 | 6 | VCR.configure do |c| 7 | c.cassette_library_dir = 'spec/cassettes' 8 | c.hook_into :webmock 9 | end --------------------------------------------------------------------------------