Git Product home page Git Product logo

market_bot's Introduction

Market Bot - Build Status Coverage Status

Market Bot is a web scraper (web robot, web spider) for the Google Play Android app store. It can collect data on apps, charts, and developers.

Google has recently changed the HTML and CSS for the Play Store. This has caused the release version of Market Bot to break. New code is in the master branch (unreleased) to begin fixing this problem. If you are interesed in helping then please join the discussion in issue 72.

Dependencies

  • Ruby MRI 2.1.X or newer
  • Nokogiri gem
  • Typhoeus gem

Installation

Add this line to your application's Gemfile to use the latest stable version:

gem 'market_bot'

And then execute:

$ bundle

App API example

# Download/parse the app.
app = MarketBot::Play::App.new('com.facebook.katana')
app.update

# Print out the app title.
puts app.title

# Print all the other attributes you can find on an app object.
puts MarketBot::Play::App::ATTRIBUTES.inspect

Charts API example

Charts are defined by a collection and an option category.

# Download/parse the chart (collection=topselling_free, category=GAME).
chart = MarketBot::Play::Chart.new('topselling_free', 'GAME')
chart.update

# Print the first app.
puts chart.result.first.inspect

# Print all the chart collections & categories.
puts MarketBot::Play::Chart::COLLECTIONS.inspect
puts MarketBot::Play::Chart::CATEGORIES.inspect

Developer API example

# Download/parse developer.
dev = MarketBot::Play::Developer.new('Zynga')
dev.update

# Print the first app.
puts dev.result.first.inspect

Language and Country support

Market Bot defaults to USA and English. You can specify a country and a language to override the defaults when creating objects:

chart = MarketBot::Play::Chart.new('topselling_paid', 'BUSINESS', country: 'jp', lang: 'ja')
chart.update

app = MarketBot::Play::App.new('com.facebook.katana', country: 'jp', lang: 'ja')
app.update

Excessive Use

Google will block your IP address if you attempt to scrape large quantities of data.

Contributing to Market Bot

  1. Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet.
  2. Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it.
  3. Fork the project.
  4. Start a feature/bugfix branch.
  5. Commit and push until you are happy with your contribution.
  6. Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
  7. Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.

Copyright

Copyright (c) 2011 - 2018 Chad Remesch. See LICENSE.txt for further details.

market_bot's People

Contributors

antonyr avatar banister avatar chadrem avatar cschroed avatar guss77 avatar jvillella avatar kiyonori-matsumoto avatar lightalloy avatar louisguitton avatar michaeldeol avatar poltak avatar refaelos avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

market_bot's Issues

website url fetched is wrong

The website_url fetched is actually a privacy policy URL

When we get the parsed information for the application com.albankmobile.tablet, website_url it gives is https://www.albanybank.com/privacy.aspx which is actually a privacy policy.

bin/setup is showing up in $PATH

I don't know why but your bin/setup is showing in my system $PATH. The usually happens when you specify it as an executable in the gem spec. But I don't see it there. Strange.

Undefined method `text` for NilClass (Broken scrapers)

While running the example code - with other apps happens too-:

# Download/parse the app.
app = MarketBot::Play::App.new('com.facebook.katana')
app.update

I get the following error quite frequently -Added the verbose output from typhoeus-:
screen shot 2018-03-20 at 18 24 53

From what I've seen, it's because of the html that's returned. Sometimes it matches the one this gem expects, but sometimes it doesn't.

Expected html:
broken

And the one that generates the error:
expected

Is anyone else getting this? I guess we would need to add another parser and select one depending on the html. I couldn't find a way to get the same response consistently though.
If anyone else is getting this, I might find some time to implement it

Get details by ID

Can this scraper take a URL like https://play.google.com/store/apps/details?id=com.justyo&hl=en (or the details parameter of it) and give me details like description, screenshot urls, publisher, category, reviews, etc.?

In the README, this feature isn't mentioned as far as I can tell. I only see "Download/parse the details for the first and last entries of the leaderboard", but this feature to do it by an ID or URL would be extremely useful. Already implemented as a helper method?

rank offsets for developers based on 24 results/page vs 12

When you pass in the min/max rank to the developers object, it is using the rank_to_page function of the leaderboard, and this is based on 24 results for a page.

So if I ask for items 13-24, I end up getting items 1-12 again, since it is thinking that is page 1.

random data

Hey,

sorry to bug you again :) Just wondering if you can tell me the best way to get random apps using your API. Say i wanted information on 300 random apps in the android market, what's the best way to go about that?

Thanks

Does this Ruby scraper work?

Hi!

I installed it an it seems to run but I do not get any data out. Would anyone be able to tell me if it actually does work or if its my lesser skills in Ruby that is the problem :).

Thanks a lot in advance for your feedback so I know what to do!

Somehow it fails while parsing google reader app, though its present on market.

e.g. for this url - https://play.google.com/store/apps/details?id=com.google.android.apps.reader&hl=en

it fails saying -

NoMethodError: undefined method `elements' for nil:NilClass
    from /home/rtdp/.rvm/gems/ruby-2.0.0-p0/gems/market_bot-0.9.1/lib/market_bot/android/app.rb:23:in `parse'
    from /home/rtdp/.rvm/gems/ruby-2.0.0-p0/gems/market_bot-0.9.1/lib/market_bot/android/app.rb:169:in `update'
    from (irb):32
    from /home/rtdp/.rvm/gems/ruby-2.0.0-p0/gems/railties-3.2.12/lib/rails/commands/console.rb:47:in `start'
    from /home/rtdp/.rvm/gems/ruby-2.0.0-p0/gems/railties-3.2.12/lib/rails/commands/console.rb:8:in `start'
    from /home/rtdp/.rvm/gems/ruby-2.0.0-p0/gems/zeus-0.13.3/lib/zeus/rails.rb:134:in `console'
    from /home/rtdp/.rvm/gems/ruby-2.0.0-p0/gems/zeus-0.13.3/lib/zeus.rb:116:in `block in command'
    from /home/rtdp/.rvm/gems/ruby-2.0.0-p0/gems/zeus-0.13.3/lib/zeus.rb:103:in `fork'
    from /home/rtdp/.rvm/gems/ruby-2.0.0-p0/gems/zeus-0.13.3/lib/zeus.rb:103:in `command'
    from /home/rtdp/.rvm/gems/ruby-2.0.0-p0/gems/zeus-0.13.3/lib/zeus.rb:80:in `block (3 levels) in go'
    from /home/rtdp/.rvm/gems/ruby-2.0.0-p0/gems/zeus-0.13.3/lib/zeus.rb:80:in `fork'
    from /home/rtdp/.rvm/gems/ruby-2.0.0-p0/gems/zeus-0.13.3/lib/zeus.rb:80:in `block (2 levels) in go'
    from /home/rtdp/.rvm/gems/ruby-2.0.0-p0/gems/zeus-0.13.3/lib/zeus.rb:73:in `each'
    from /home/rtdp/.rvm/gems/ruby-2.0.0-p0/gems/zeus-0.13.3/lib/zeus.rb:73:in `block in go'
    from /home/rtdp/.rvm/gems/ruby-2.0.0-p0/gems/zeus-0.13.3/lib/zeus.rb:62:in `loop'
    from /home/rtdp/.rvm/gems/ruby-2.0.0-p0/gems/zeus-0.13.3/lib/zeus.rb:62:in `go'
    from /home/rtdp/.rvm/gems/ruby-2.0.0-p0/gems/zeus-0.13.3/lib/zeus.rb:78:in `block (3 levels) in go'
    from /home/rtdp/.rvm/gems/ruby-2.0.0-p0/gems/zeus-0.13.3/lib/zeus.rb:78:in `fork'
    from /home/rtdp/.rvm/gems/ruby-2.0.0-p0/gems/zeus-0.13.3/lib/zeus.rb:78:in `block (2 levels) in go'
    from /home/rtdp/.rvm/gems/ruby-2.0.0-p0/gems/zeus-0.13.3/lib/zeus.rb:73:in `each'
    from /home/rtdp/.rvm/gems/ruby-2.0.0-p0/gems/zeus-0.13.3/lib/zeus.rb:73:in `block in go'
    from /home/rtdp/.rvm/gems/ruby-2.0.0-p0/gems/zeus-0.13.3/lib/zeus.rb:62:in `loop'
    from /home/rtdp/.rvm/gems/ruby-2.0.0-p0/gems/zeus-0.13.3/lib/zeus.rb:62:in `go'
    from /home/rtdp/.rvm/gems/ruby-2.0.0-p0/gems/zeus-0.13.3/lib/zeus.rb:78:in `block (3 levels) in go'
    from /home/rtdp/.rvm/gems/ruby-2.0.0-p0/gems/zeus-0.13.3/lib/zeus.rb:78:in `fork'
    from /home/rtdp/.rvm/gems/ruby-2.0.0-p0/gems/zeus-0.13.3/lib/zeus.rb:78:in `block (2 levels) in go'
    from /home/rtdp/.rvm/gems/ruby-2.0.0-p0/gems/zeus-0.13.3/lib/zeus.rb:73:in `each'
    from /home/rtdp/.rvm/gems/ruby-2.0.0-p0/gems/zeus-0.13.3/lib/zeus.rb:73:in `block in go'
    from /home/rtdp/.rvm/gems/ruby-2.0.0-p0/gems/zeus-0.13.3/lib/zeus.rb:62:in `loop'
    from /home/rtdp/.rvm/gems/ruby-2.0.0-p0/gems/zeus-0.13.3/lib/zeus.rb:62:in `go'

Can't skip results of non existing package names to keep running process

I have some lists of package names obtained by phones and would like to run the search, but every time that a package name is not found, the script gives an error.

I am building an array with the results and would like to keep running the script and simply fill the values for package names not found with nil.

keep getting this errors
"/Users/GARCIADELBOSQUE/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/market_bot-0.14.0/lib/market_bot/android/app.rb:191:in handle_response': Got unexpected response code: 404 (MarketBot::ResponseError) from /Users/GARCIADELBOSQUE/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/market_bot-0.14.0/lib/market_bot/android/app.rb:156:inupdate'"

Tried changing the line 191 of app.rb to nil but keep getting the errors...

help is appreciated.

background: I have a list of around 1k package names obtained from smartphones but many of them are system apps, so if not found on the play store, the script should keep running and fill data for the other ones...

Searching for apps: undefined method `text' for nil:NilClass (NoMethodError)

I get this error while trying to search this app:

sq = MarketBot::Android::SearchQuery.new('spotfav')
sq.update
puts sq.results

.rvm/gems/ruby-1.9.2-p290/gems/market_bot-0.9.1/lib/market_bot/android/leaderboard.rb:33:in block in parse_normal_page': undefined methodtext' for nil:NilClass (NoMethodError)
from /Users/Xescu/.rvm/gems/ruby-1.9.2-p290/gems/nokogiri-1.5.6/lib/nokogiri/xml/node_set.rb:239:in block in each' from /Users/Xescu/.rvm/gems/ruby-1.9.2-p290/gems/nokogiri-1.5.6/lib/nokogiri/xml/node_set.rb:238:inupto'
from /Users/Xescu/.rvm/gems/ruby-1.9.2-p290/gems/nokogiri-1.5.6/lib/nokogiri/xml/node_set.rb:238:in each' from /Users/Xescu/.rvm/gems/ruby-1.9.2-p290/gems/market_bot-0.9.1/lib/market_bot/android/leaderboard.rb:20:inparse_normal_page'
from /Users/Xescu/.rvm/gems/ruby-1.9.2-p290/gems/market_bot-0.9.1/lib/market_bot/android/leaderboard.rb:12:in parse' from /Users/Xescu/.rvm/gems/ruby-1.9.2-p290/gems/market_bot-0.9.1/lib/market_bot/android/leaderboard.rb:138:inblock in process_page'
from /Users/Xescu/.rvm/gems/ruby-1.9.2-p290/gems/typhoeus-0.5.4/lib/typhoeus/request/callbacks.rb:99:in call' from /Users/Xescu/.rvm/gems/ruby-1.9.2-p290/gems/typhoeus-0.5.4/lib/typhoeus/request/callbacks.rb:99:inblock in execute_callbacks'
from /Users/Xescu/.rvm/gems/ruby-1.9.2-p290/gems/typhoeus-0.5.4/lib/typhoeus/request/callbacks.rb:98:in map' from /Users/Xescu/.rvm/gems/ruby-1.9.2-p290/gems/typhoeus-0.5.4/lib/typhoeus/request/callbacks.rb:98:inexecute_callbacks'
from /Users/Xescu/.rvm/gems/ruby-1.9.2-p290/gems/typhoeus-0.5.4/lib/typhoeus/request/operations.rb:47:in finish' from /Users/Xescu/.rvm/gems/ruby-1.9.2-p290/gems/typhoeus-0.5.4/lib/typhoeus/hydra/easy_factory.rb:71:inblock in set_callback'
from /Users/Xescu/.rvm/gems/ruby-1.9.2-p290/gems/ethon-0.5.7/lib/ethon/easy/response_callbacks.rb:43:in call' from /Users/Xescu/.rvm/gems/ruby-1.9.2-p290/gems/ethon-0.5.7/lib/ethon/easy/response_callbacks.rb:43:inblock in complete'
from /Users/Xescu/.rvm/gems/ruby-1.9.2-p290/gems/ethon-0.5.7/lib/ethon/easy/response_callbacks.rb:43:in map' from /Users/Xescu/.rvm/gems/ruby-1.9.2-p290/gems/ethon-0.5.7/lib/ethon/easy/response_callbacks.rb:43:incomplete'
from /Users/Xescu/.rvm/gems/ruby-1.9.2-p290/gems/ethon-0.5.7/lib/ethon/multi/operations.rb:147:in check' from /Users/Xescu/.rvm/gems/ruby-1.9.2-p290/gems/ethon-0.5.7/lib/ethon/multi/operations.rb:159:inrun'
from /Users/Xescu/.rvm/gems/ruby-1.9.2-p290/gems/ethon-0.5.7/lib/ethon/multi/operations.rb:42:in perform' from /Users/Xescu/.rvm/gems/ruby-1.9.2-p290/gems/typhoeus-0.5.4/lib/typhoeus/hydra/runnable.rb:21:inrun'
from /Users/Xescu/.rvm/gems/ruby-1.9.2-p290/gems/typhoeus-0.5.4/lib/typhoeus/hydra/memoizable.rb:50:in run' from /Users/Xescu/.rvm/gems/ruby-1.9.2-p290/gems/market_bot-0.9.1/lib/market_bot/android/leaderboard.rb:117:inupdate'
from marquet-bot.rb:17:in `

'

Other searchs with other names works correctly, the current app exist in the Market (https://play.google.com/store/apps/details?id=com.spotfav.spotfav&feature=search_result#?t=W251bGwsMSwyLDEsImNvbS5zcG90ZmF2LnNwb3RmYXYiXQ..)

Thanks for all ;)

Proxy support

Hello.

How to pass proxy add and proxy auth credentials to market_bot?

I've tried like that:
MarketBot::Android::SearchQuery::new(query, proxy: "#{ip}:#{port}", proxyuserpwd: "#{username}:#{password}")
proxy is not used in this case

Please, help.

Ruby crashes when requiring the gem on ruby-2.1.2

Nokogiri yields segment fault when require market_bot in ruby 2.1.2

[~] pry                                                                                                                      18:04:13
[1] pry(main)> require 'market_bot'
/Users/timnew/.rvm/gems/ruby-2.1.2/gems/nokogiri-1.6.5/lib/nokogiri/nokogiri.bundle: [BUG] Segmentation fault at 0x00000000000418
ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-darwin13.0]

-- Crash Report log information --------------------------------------------
   See Crash Report log file under the one of following:
     * ~/Library/Logs/CrashReporter
     * /Library/Logs/CrashReporter
     * ~/Library/Logs/DiagnosticReports
     * /Library/Logs/DiagnosticReports
   for more details.

-- Control frame information -----------------------------------------------
c:0042 p:-17585234153026 s:0178 e:000177 TOP    [FINISH]
c:0041 p:---- s:0176 e:000175 CFUNC  :require
c:0040 p:0115 s:0172 e:000171 METHOD /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55
c:0039 p:0020 s:0162 e:000161 BLOCK  /Users/timnew/.rvm/gems/ruby-2.1.2/gems/nokogiri-1.6.5/lib/nokogiri.rb:29
c:0038 p:0125 s:0159 e:000158 TOP    /Users/timnew/.rvm/gems/ruby-2.1.2/gems/nokogiri-1.6.5/lib/nokogiri.rb:25 [FINISH]
c:0037 p:---- s:0157 e:000156 CFUNC  :require
c:0036 p:0431 s:0153 e:000152 METHOD /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:126
c:0035 p:0023 s:0143 e:000142 TOP    /Users/timnew/.rvm/gems/ruby-2.1.2/gems/market_bot-0.12.2/lib/market_bot.rb:4 [FINISH]
c:0034 p:---- s:0141 e:000140 CFUNC  :require
c:0033 p:0073 s:0137 e:000136 BLOCK  /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:135
c:0032 p:0444 s:0134 e:000133 METHOD /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:144
c:0031 p:0007 s:0124 e:000123 EVAL   (pry):1 [FINISH]
c:0030 p:---- s:0122 e:000121 CFUNC  :eval
c:0029 p:0046 s:0116 e:000115 METHOD /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/pry_instance.rb:355
c:0028 p:0271 s:0111 e:000110 METHOD /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/pry_instance.rb:323
c:0027 p:0013 s:0101 e:000100 BLOCK  /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/pry_instance.rb:243 [FINISH]
c:0026 p:---- s:0099 e:000098 CFUNC  :catch
c:0025 p:0009 s:0095 e:000094 BLOCK  /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/pry_instance.rb:242 [FINISH]
c:0024 p:---- s:0093 e:000092 CFUNC  :catch
c:0023 p:0032 s:0089 e:000088 METHOD /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/pry_instance.rb:241
c:0022 p:0061 s:0082 e:000081 BLOCK  /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/repl.rb:77 [FINISH]
c:0021 p:---- s:0079 e:000078 CFUNC  :loop
c:0020 p:0007 s:0076 e:000075 METHOD /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/repl.rb:67
c:0019 p:0007 s:0073 e:000072 BLOCK  /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/repl.rb:38 [FINISH]
c:0018 p:---- s:0071 e:000070 CFUNC  :call
c:0017 p:0016 s:0068 e:000067 METHOD /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/input_lock.rb:61
c:0016 p:0030 s:0064 e:000063 METHOD /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/input_lock.rb:79
c:0015 p:0025 s:0059 E:001c28 METHOD /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/repl.rb:38
c:0014 p:0020 s:0056 E:0015b0 METHOD /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/repl.rb:15
c:0013 p:0222 s:0052 E:001640 METHOD /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/pry_class.rb:169
c:0012 p:0095 s:0046 E:000018 METHOD /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-byebug-2.0.0/lib/pry-byebug/pry_ext.rb:19
c:0011 p:0198 s:0041 E:0000b0 BLOCK  /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/cli.rb:219 [FINISH]
c:0010 p:---- s:0036 e:000035 CFUNC  :call
c:0009 p:0010 s:0032 E:0001a0 BLOCK  /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/cli.rb:83 [FINISH]
c:0008 p:---- s:0029 e:000028 CFUNC  :each
c:0007 p:0092 s:0026 E:000138 METHOD /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/cli.rb:83
c:0006 p:0030 s:0021 E:002318 TOP    /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/bin/pry:16 [FINISH]
c:0005 p:---- s:0019 e:000018 CFUNC  :load
c:0004 p:0135 s:0015 E:0013f8 EVAL   /Users/timnew/.rvm/gems/ruby-2.1.2/bin/pry:23 [FINISH]
c:0003 p:---- s:0011 e:000010 CFUNC  :eval
c:0002 p:0118 s:0005 E:001460 EVAL   /Users/timnew/.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15 [FINISH]
c:0001 p:0000 s:0002 E:002138 TOP    [FINISH]

/Users/timnew/.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:in `<main>'
/Users/timnew/.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:in `eval'
/Users/timnew/.rvm/gems/ruby-2.1.2/bin/pry:23:in `<main>'
/Users/timnew/.rvm/gems/ruby-2.1.2/bin/pry:23:in `load'
/Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/bin/pry:16:in `<top (required)>'
/Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/cli.rb:83:in `parse_options'
/Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/cli.rb:83:in `each'
/Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/cli.rb:83:in `block in parse_options'
/Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/cli.rb:83:in `call'
/Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/cli.rb:219:in `block in <top (required)>'
/Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-byebug-2.0.0/lib/pry-byebug/pry_ext.rb:19:in `start_with_pry_byebug'
/Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/pry_class.rb:169:in `start'
/Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/repl.rb:15:in `start'
/Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/repl.rb:38:in `start'
/Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/input_lock.rb:79:in `with_ownership'
/Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/input_lock.rb:61:in `__with_ownership'
/Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/input_lock.rb:61:in `call'
/Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/repl.rb:38:in `block in start'
/Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/repl.rb:67:in `repl'
/Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/repl.rb:67:in `loop'
/Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/repl.rb:77:in `block in repl'
/Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/pry_instance.rb:241:in `eval'
/Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/pry_instance.rb:241:in `catch'
/Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/pry_instance.rb:242:in `block in eval'
/Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/pry_instance.rb:242:in `catch'
/Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/pry_instance.rb:243:in `block (2 levels) in eval'
/Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/pry_instance.rb:323:in `handle_line'
/Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/pry_instance.rb:355:in `evaluate_ruby'
/Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/pry_instance.rb:355:in `eval'
(pry):1:in `__pry__'
/Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:144:in `require'
/Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:135:in `rescue in require'
/Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:135:in `require'
/Users/timnew/.rvm/gems/ruby-2.1.2/gems/market_bot-0.12.2/lib/market_bot.rb:4:in `<top (required)>'
/Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:126:in `require'
/Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:126:in `require'
/Users/timnew/.rvm/gems/ruby-2.1.2/gems/nokogiri-1.6.5/lib/nokogiri.rb:25:in `<top (required)>'
/Users/timnew/.rvm/gems/ruby-2.1.2/gems/nokogiri-1.6.5/lib/nokogiri.rb:29:in `rescue in <top (required)>'
/Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'

-- C level backtrace information -------------------------------------------
0   ruby                                0x0000000108f06ec6 rb_vm_bugreport + 134
1   ruby                                0x0000000108dbd383 report_bug + 307
2   ruby                                0x0000000108dbd244 rb_bug + 180
3   ruby                                0x0000000108e8a119 sigsegv + 153
4   libsystem_platform.dylib            0x00007fff8eba3f1a _sigtramp + 26
5   libruby.2.0.0.dylib                 0x0000000109a3149f ruby_xmalloc + 17
6   ???                                 0x00007fff56f79900 0x0 + 140734652455168

-- Other runtime information -----------------------------------------------

* Loaded script: pry

* Loaded features:

    0 enumerator.so
    1 enc/encdb.so
    2 enc/trans/transdb.so
    3 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/x86_64-darwin13.0/rbconfig.rb
    4 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/compatibility.rb
    5 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/defaults.rb
    6 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/deprecate.rb
    7 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/errors.rb
    8 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/version.rb
    9 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/requirement.rb
   10 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/platform.rb
   11 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/basic_specification.rb
   12 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/stub_specification.rb
   13 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/util/stringio.rb
   14 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/specification.rb
   15 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/exceptions.rb
   16 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_gem.rb
   17 thread.rb
   18 thread.so
   19 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/monitor.rb
   20 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb
   21 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems.rb
   22 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/path_support.rb
   23 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/dependency.rb
   24 /Users/timnew/.rvm/gems/ruby-2.1.2@global/gems/executable-hooks-1.3.2/lib/executable-hooks/hooks.rb
   25 etc.so
   26 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb
   27 pathname.so
   28 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/pathname.rb
   29 /Users/timnew/.rvm/gems/ruby-2.1.2@global/gems/bundler-1.6.2/lib/bundler/gem_path_manipulation.rb
   30 /Users/timnew/.rvm/gems/ruby-2.1.2@global/gems/bundler-1.6.2/lib/bundler/gem_helpers.rb
   31 /Users/timnew/.rvm/gems/ruby-2.1.2@global/gems/bundler-1.6.2/lib/bundler/match_platform.rb
   32 /Users/timnew/.rvm/gems/ruby-2.1.2@global/gems/bundler-1.6.2/lib/bundler/rubygems_ext.rb
   33 io/console.so
   34 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/user_interaction.rb
   35 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/config_file.rb
   36 /Users/timnew/.rvm/gems/ruby-2.1.2@global/gems/bundler-1.6.2/lib/bundler/rubygems_integration.rb
   37 /Users/timnew/.rvm/gems/ruby-2.1.2@global/gems/bundler-1.6.2/lib/bundler/version.rb
   38 /Users/timnew/.rvm/gems/ruby-2.1.2@global/gems/bundler-1.6.2/lib/bundler/constants.rb
   39 /Users/timnew/.rvm/gems/ruby-2.1.2@global/gems/bundler-1.6.2/lib/bundler/current_ruby.rb
   40 /Users/timnew/.rvm/gems/ruby-2.1.2@global/gems/bundler-1.6.2/lib/bundler.rb
   41 /Users/timnew/.rvm/gems/ruby-2.1.2@global/gems/bundler-unload-1.0.2/lib/bundler-unload.rb
   42 /Users/timnew/.rvm/gems/ruby-2.1.2@global/gems/rubygems-bundler-1.4.4/lib/rubygems-bundler/noexec.rb
   43 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/prettyprint.rb
   44 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/pp.rb
   45 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/input_lock.rb
   46 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/exceptions.rb
   47 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/helpers/base_helpers.rb
   48 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/hooks.rb
   49 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/forwardable.rb
   50 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/method_source-0.8.2/lib/method_source/version.rb
   51 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/method_source-0.8.2/lib/method_source/source_location.rb
   52 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/method_source-0.8.2/lib/method_source/code_helpers.rb
   53 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/method_source-0.8.2/lib/method_source.rb
   54 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/shellwords.rb
   55 stringio.so
   56 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/coderay-1.1.0/lib/coderay/version.rb
   57 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/coderay-1.1.0/lib/coderay.rb
   58 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/slop-3.6.0/lib/slop/option.rb
   59 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/slop-3.6.0/lib/slop/commands.rb
   60 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/slop-3.6.0/lib/slop.rb
   61 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/delegate.rb
   62 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/tmpdir.rb
   63 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/tempfile.rb
   64 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/version.rb
   65 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/repl.rb
   66 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/rbx_path.rb
   67 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/code/loc.rb
   68 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/code/code_range.rb
   69 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/code/code_file.rb
   70 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/code.rb
   71 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/history_array.rb
   72 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/helpers/options_helpers.rb
   73 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/helpers/command_helpers.rb
   74 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/helpers/text.rb
   75 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/helpers/table.rb
   76 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/helpers.rb
   77 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/code_object.rb
   78 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/helpers/documentation_helpers.rb
   79 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/method/weird_method_locator.rb
   80 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/method/disowned.rb
   81 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/method/patcher.rb
   82 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/method.rb
   83 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/module_candidate.rb
   84 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/wrapped_module.rb
   85 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/history.rb
   86 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/command.rb
   87 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/command_set.rb
   88 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/amend_line.rb
   89 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/bang.rb
   90 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/bang_pry.rb
   91 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/cat/abstract_formatter.rb
   92 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/cat/input_expression_formatter.rb
   93 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/cat/exception_formatter.rb
   94 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/cat/file_formatter.rb
   95 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/cat.rb
   96 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/cd.rb
   97 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/change_inspector.rb
   98 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/change_prompt.rb
   99 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/code_collector.rb
  100 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/disable_pry.rb
  101 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/disabled_commands.rb
  102 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/easter_eggs.rb
  103 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/edit/exception_patcher.rb
  104 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/edit/file_and_line_locator.rb
  105 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/edit.rb
  106 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/exit.rb
  107 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/exit_all.rb
  108 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/exit_program.rb
  109 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/find_method.rb
  110 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/fix_indent.rb
  111 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/gem_cd.rb
  112 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/gem_install.rb
  113 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/gem_list.rb
  114 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/gem_open.rb
  115 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/gist.rb
  116 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/help.rb
  117 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/hist.rb
  118 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/import_set.rb
  119 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/install_command.rb
  120 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/jump_to.rb
  121 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/list_inspectors.rb
  122 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/list_prompts.rb
  123 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/ls/grep.rb
  124 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/ls/formatter.rb
  125 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/ls/globals.rb
  126 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/ls/interrogatable.rb
  127 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/ls/constants.rb
  128 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/ls/jruby_hacks.rb
  129 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/ls/methods_helper.rb
  130 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/ls/methods.rb
  131 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/ls/self_methods.rb
  132 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/ls/instance_vars.rb
  133 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/ls/local_names.rb
  134 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/ls/local_vars.rb
  135 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/ls/ls_entity.rb
  136 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/ls.rb
  137 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/nesting.rb
  138 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/play.rb
  139 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/pry_backtrace.rb
  140 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/pry_version.rb
  141 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/raise_up.rb
  142 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/reload_code.rb
  143 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/reset.rb
  144 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/ri.rb
  145 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/save_file.rb
  146 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/shell_command.rb
  147 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/shell_mode.rb
  148 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/show_info.rb
  149 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/show_doc.rb
  150 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/show_input.rb
  151 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/show_source.rb
  152 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/simple_prompt.rb
  153 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/stat.rb
  154 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/switch_to.rb
  155 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/toggle_color.rb
  156 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/watch_expression/expression.rb
  157 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/watch_expression.rb
  158 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/whereami.rb
  159 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands/wtf.rb
  160 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/commands.rb
  161 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/plugins.rb
  162 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/core_extensions.rb
  163 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/config/behavior.rb
  164 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/config/default.rb
  165 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/config/convenience.rb
  166 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/config.rb
  167 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/pry_class.rb
  168 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/pry_instance.rb
  169 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-byebug-2.0.0/lib/pry-byebug/base.rb
  170 /Users/timnew/.rvm/gems/ruby-2.1.2/extensions/x86_64-darwin-13/2.1.0-static/byebug-3.4.0/byebug/byebug.bundle
  171 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/version.rb
  172 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/context.rb
  173 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/breakpoint.rb
  174 readline.so
  175 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/history.rb
  176 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/interfaces/local_interface.rb
  177 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/interfaces/script_interface.rb
  178 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/interfaces/remote_interface.rb
  179 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/interface.rb
  180 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/columnize-0.8.9/lib/columnize/opts.rb
  181 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/columnize-0.8.9/lib/columnize/columnize.rb
  182 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/columnize-0.8.9/lib/columnize/version.rb
  183 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/columnize-0.8.9/lib/columnize.rb
  184 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/helper.rb
  185 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/commands/break.rb
  186 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/commands/catchpoint.rb
  187 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/commands/condition.rb
  188 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/commands/continue.rb
  189 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/commands/delete.rb
  190 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/commands/display.rb
  191 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/commands/edit.rb
  192 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/commands/enable_disable.rb
  193 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/English.rb
  194 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/commands/eval.rb
  195 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/commands/finish.rb
  196 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/commands/frame.rb
  197 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/commands/help.rb
  198 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/commands/history.rb
  199 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/commands/info.rb
  200 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/commands/interrupt.rb
  201 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/e2mmap.rb
  202 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/irb/init.rb
  203 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/irb/workspace.rb
  204 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/irb/inspector.rb
  205 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/irb/context.rb
  206 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/irb/extend-command.rb
  207 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/irb/output-method.rb
  208 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/irb/notifier.rb
  209 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/irb/slex.rb
  210 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/irb/ruby-token.rb
  211 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/irb/ruby-lex.rb
  212 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/irb/src_encoding.rb
  213 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/irb/magic-file.rb
  214 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/irb/input-method.rb
  215 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/irb/locale.rb
  216 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/irb.rb
  217 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/commands/irb.rb
  218 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/commands/kill.rb
  219 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/commands/list.rb
  220 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/commands/method.rb
  221 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/commands/pry.rb
  222 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/commands/quit.rb
  223 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/commands/reload.rb
  224 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/commands/restart.rb
  225 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/commands/save.rb
  226 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/commands/set.rb
  227 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/commands/show.rb
  228 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/commands/source.rb
  229 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/commands/stepping.rb
  230 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/commands/threads.rb
  231 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/commands/trace.rb
  232 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/commands/undisplay.rb
  233 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/commands/variables.rb
  234 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/command.rb
  235 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/processors/command_processor.rb
  236 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/processors/control_command_processor.rb
  237 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/processor.rb
  238 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/settings/autoeval.rb
  239 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/settings/autoirb.rb
  240 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/settings/autolist.rb
  241 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/settings/autoreload.rb
  242 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/settings/autosave.rb
  243 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/settings/basename.rb
  244 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/settings/callstyle.rb
  245 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/settings/forcestep.rb
  246 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/settings/fullpath.rb
  247 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/settings/histfile.rb
  248 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/settings/histsize.rb
  249 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/settings/linetrace.rb
  250 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/settings/listsize.rb
  251 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/settings/post_mortem.rb
  252 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/settings/stack_on_error.rb
  253 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/settings/testing.rb
  254 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/settings/tracing_plus.rb
  255 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/settings/verbose.rb
  256 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/settings/width.rb
  257 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/setting.rb
  258 socket.so
  259 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/socket.rb
  260 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/remote.rb
  261 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/tracer.rb
  262 digest.so
  263 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/digest.rb
  264 digest/sha1.so
  265 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/set.rb
  266 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/debugger-linecache-1.2.0/lib/tracelines19.rb
  267 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/debugger-linecache-1.2.0/lib/linecache19.rb
  268 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/core.rb
  269 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug/attacher.rb
  270 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/byebug-3.4.0/lib/byebug.rb
  271 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-byebug-2.0.0/lib/pry-byebug/processor.rb
  272 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-byebug-2.0.0/lib/pry-byebug/pry_ext.rb
  273 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-byebug-2.0.0/lib/pry-byebug/breakpoints.rb
  274 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-byebug-2.0.0/lib/pry-byebug/commands.rb
  275 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-byebug-2.0.0/lib/pry-byebug.rb
  276 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-byebug-2.0.0/lib/pry-byebug/cli.rb
  277 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/cli.rb
  278 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/coderay-1.1.0/lib/coderay/helpers/plugin.rb
  279 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/coderay-1.1.0/lib/coderay/encoder.rb
  280 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/coderay-1.1.0/lib/coderay/encoders/_map.rb
  281 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/coderay-1.1.0/lib/coderay/encoders/terminal.rb
  282 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/color_printer.rb
  283 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/terminal.rb
  284 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/pager.rb
  285 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/editor.rb
  286 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/rubygem.rb
  287 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/indent.rb
  288 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/last_exception.rb
  289 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/prompt.rb
  290 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/inspector.rb
  291 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/object_path.rb
  292 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry/output.rb
  293 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-0.10.1/lib/pry.rb
  294 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-stack_explorer-0.4.9.1/lib/pry-stack_explorer/version.rb
  295 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-stack_explorer-0.4.9.1/lib/pry-stack_explorer/commands.rb
  296 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-stack_explorer-0.4.9.1/lib/pry-stack_explorer/frame_manager.rb
  297 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-stack_explorer-0.4.9.1/lib/pry-stack_explorer/when_started_hook.rb
  298 /Users/timnew/.rvm/gems/ruby-2.1.2/extensions/x86_64-darwin-13/2.1.0-static/debug_inspector-0.0.2/debug_inspector.bundle
  299 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/debug_inspector-0.0.2/lib/debug_inspector.rb
  300 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/binding_of_caller-0.7.2/lib/binding_of_caller/mri2.rb
  301 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/binding_of_caller-0.7.2/lib/binding_of_caller.rb
  302 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/pry-stack_explorer-0.4.9.1/lib/pry-stack_explorer.rb
  303 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/coderay-1.1.0/lib/coderay/tokens_proxy.rb
  304 strscan.so
  305 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/coderay-1.1.0/lib/coderay/scanner.rb
  306 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/coderay-1.1.0/lib/coderay/scanners/_map.rb
  307 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/coderay-1.1.0/lib/coderay/scanners/ruby.rb
  308 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/coderay-1.1.0/lib/coderay/tokens.rb
  309 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/coderay-1.1.0/lib/coderay/scanners/ruby/string_state.rb
  310 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/coderay-1.1.0/lib/coderay/helpers/word_list.rb
  311 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/coderay-1.1.0/lib/coderay/scanners/ruby/patterns.rb
  312 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/uri/common.rb
  313 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/uri/generic.rb
  314 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/uri/ftp.rb
  315 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/uri/http.rb
  316 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/uri/https.rb
  317 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/uri/ldap.rb
  318 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/uri/ldaps.rb
  319 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/uri/mailto.rb
  320 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/uri.rb
  321 digest/sha2.so
  322 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/digest/sha2.rb
  323 /Users/timnew/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/logger.rb
  324 /Users/timnew/.rvm/gems/ruby-2.1.2/extensions/x86_64-darwin-13/2.1.0-static/ffi-1.9.4/ffi_c.bundle
  325 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ffi-1.9.4/lib/ffi/platform.rb
  326 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ffi-1.9.4/lib/ffi/types.rb
  327 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ffi-1.9.4/lib/ffi/library.rb
  328 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ffi-1.9.4/lib/ffi/errno.rb
  329 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ffi-1.9.4/lib/ffi/pointer.rb
  330 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ffi-1.9.4/lib/ffi/memorypointer.rb
  331 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ffi-1.9.4/lib/ffi/struct_layout_builder.rb
  332 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ffi-1.9.4/lib/ffi/struct.rb
  333 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ffi-1.9.4/lib/ffi/union.rb
  334 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ffi-1.9.4/lib/ffi/managedstruct.rb
  335 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ffi-1.9.4/lib/ffi/callback.rb
  336 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ffi-1.9.4/lib/ffi/io.rb
  337 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ffi-1.9.4/lib/ffi/autopointer.rb
  338 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ffi-1.9.4/lib/ffi/variadic.rb
  339 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ffi-1.9.4/lib/ffi/enum.rb
  340 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ffi-1.9.4/lib/ffi/ffi.rb
  341 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ffi-1.9.4/lib/ffi.rb
  342 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/libc.rb
  343 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/curls/codes.rb
  344 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/curls/options.rb
  345 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/curls/infos.rb
  346 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/curls/form_options.rb
  347 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/curls/messages.rb
  348 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/curls/functions.rb
  349 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/curls/constants.rb
  350 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/curls/settings.rb
  351 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/curls/classes.rb
  352 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/curl.rb
  353 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/easy/informations.rb
  354 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/easy/callbacks.rb
  355 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/easy/options.rb
  356 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/easy/header.rb
  357 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/easy/util.rb
  358 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/easy/queryable.rb
  359 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/easy/params.rb
  360 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/easy/form.rb
  361 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/easy/http/putable.rb
  362 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/easy/http/postable.rb
  363 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/easy/http/actionable.rb
  364 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/easy/http/post.rb
  365 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/easy/http/get.rb
  366 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/easy/http/head.rb
  367 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/easy/http/put.rb
  368 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/easy/http/delete.rb
  369 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/easy/http/patch.rb
  370 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/easy/http/options.rb
  371 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/easy/http/custom.rb
  372 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/easy/http.rb
  373 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/easy/operations.rb
  374 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/easy/response_callbacks.rb
  375 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/easy/debug_info.rb
  376 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/easy/mirror.rb
  377 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/easy.rb
  378 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/errors/ethon_error.rb
  379 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/errors/global_init.rb
  380 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/errors/multi_timeout.rb
  381 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/errors/multi_fdset.rb
  382 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/errors/multi_add.rb
  383 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/errors/multi_remove.rb
  384 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/errors/select.rb
  385 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/errors/invalid_option.rb
  386 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/errors/invalid_value.rb
  387 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/errors.rb
  388 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/loggable.rb
  389 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/multi/stack.rb
  390 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/multi/operations.rb
  391 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/multi/options.rb
  392 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/multi.rb
  393 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon/version.rb
  394 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/ethon-0.7.1/lib/ethon.rb
  395 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/typhoeus-0.6.9/lib/typhoeus/config.rb
  396 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/typhoeus-0.6.9/lib/typhoeus/easy_factory.rb
  397 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/typhoeus-0.6.9/lib/typhoeus/errors/typhoeus_error.rb
  398 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/typhoeus-0.6.9/lib/typhoeus/errors/no_stub.rb
  399 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/typhoeus-0.6.9/lib/typhoeus/errors.rb
  400 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/typhoeus-0.6.9/lib/typhoeus/expectation.rb
  401 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/typhoeus-0.6.9/lib/typhoeus/hydra/addable.rb
  402 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/typhoeus-0.6.9/lib/typhoeus/hydra/before.rb
  403 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/typhoeus-0.6.9/lib/typhoeus/hydra/cacheable.rb
  404 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/typhoeus-0.6.9/lib/typhoeus/hydra/block_connection.rb
  405 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/typhoeus-0.6.9/lib/typhoeus/hydra/memoizable.rb
  406 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/typhoeus-0.6.9/lib/typhoeus/hydra/queueable.rb
  407 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/typhoeus-0.6.9/lib/typhoeus/hydra/runnable.rb
  408 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/typhoeus-0.6.9/lib/typhoeus/hydra/stubbable.rb
  409 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/typhoeus-0.6.9/lib/typhoeus/hydra.rb
  410 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/typhoeus-0.6.9/lib/typhoeus/pool.rb
  411 zlib.so
  412 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/typhoeus-0.6.9/lib/typhoeus/request/actions.rb
  413 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/typhoeus-0.6.9/lib/typhoeus/request/before.rb
  414 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/typhoeus-0.6.9/lib/typhoeus/request/block_connection.rb
  415 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/typhoeus-0.6.9/lib/typhoeus/request/cacheable.rb
  416 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/typhoeus-0.6.9/lib/typhoeus/request/callbacks.rb
  417 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/typhoeus-0.6.9/lib/typhoeus/request/marshal.rb
  418 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/typhoeus-0.6.9/lib/typhoeus/request/memoizable.rb
  419 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/typhoeus-0.6.9/lib/typhoeus/request/operations.rb
  420 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/typhoeus-0.6.9/lib/typhoeus/request/responseable.rb
  421 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/typhoeus-0.6.9/lib/typhoeus/request/streamable.rb
  422 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/typhoeus-0.6.9/lib/typhoeus/request/stubbable.rb
  423 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/typhoeus-0.6.9/lib/typhoeus/request.rb
  424 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/typhoeus-0.6.9/lib/typhoeus/response/header.rb
  425 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/typhoeus-0.6.9/lib/typhoeus/response/informations.rb
  426 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/typhoeus-0.6.9/lib/typhoeus/response/status.rb
  427 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/typhoeus-0.6.9/lib/typhoeus/response/cacheable.rb
  428 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/typhoeus-0.6.9/lib/typhoeus/response.rb
  429 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/typhoeus-0.6.9/lib/typhoeus/version.rb
  430 /Users/timnew/.rvm/gems/ruby-2.1.2/gems/typhoeus-0.6.9/lib/typhoeus.rb

[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html

Bring back app permissions

This is something I'm really looking for in an asynchronous scraper. How much work would be required to have it supported? I'm open to working on including it, if the overhead isn't too high.

HTTP/1.1 302 - http-equiv

Since a couple minutes I do not get results from my search queries. After digging into it a bit I found out that the process_page method gets in on_complete a 302 reponse with the following content:

<HTML>
 <HEAD>
   <meta http-equiv="content-type" content="text/html;charset=utf-8"> 
   <TITLE>302 Moved</TITLE>
  </HEAD>
  <BODY> 
    <H1>302 Moved</H1> 
   The document has moved 
     <A HREF="http://www.google.com/sorry/?continue=http://play.google.com/store/search%3Fq%3Ddropbox%26c%3Dapps%26start%3D432%26num%3D24%26hl%3Den">here</A>. 
  </BODY>
</HTML> 

My search term was dropbox and the generated url for process_page was:

https://play.google.com/store/search?q=dropbox&c=apps&start=0&num=24&hl=en

Any ideas?

Search is limited to 420?

I kept doing several searches and all say 420, when i assume there are more than 420.

tried modifying the max pages on the search query but it didnt increase results

Broken on Mac OS X 10.11

On Mac OS X 10.11 the ffi library is broken:

/usr/local/Cellar/gems/2.0.0/gems/ffi-1.9.6/lib/ffi/library.rb:133:in `block in ffi_lib': Could not open library 'c': dlopen(c, 5): image not found. (LoadError)
Could not open library 'libc.dylib': dlopen(libc.dylib, 5): image not found
    from /usr/local/Cellar/gems/2.0.0/gems/ffi-1.9.6/lib/ffi/library.rb:100:in `map'
    from /usr/local/Cellar/gems/2.0.0/gems/ffi-1.9.6/lib/ffi/library.rb:100:in `ffi_lib'
    from /usr/local/Cellar/gems/2.0.0/gems/ethon-0.7.1/lib/ethon/libc.rb:8:in `<module:Libc>'
    from /usr/local/Cellar/gems/2.0.0/gems/ethon-0.7.1/lib/ethon/libc.rb:6:in `<module:Ethon>'
    from /usr/local/Cellar/gems/2.0.0/gems/ethon-0.7.1/lib/ethon/libc.rb:1:in `<top (required)>'
    from /Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /usr/local/Cellar/gems/2.0.0/gems/ethon-0.7.1/lib/ethon.rb:10:in `<top (required)>'
    from /Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /usr/local/Cellar/gems/2.0.0/gems/typhoeus-0.6.9/lib/typhoeus.rb:2:in `<top (required)>'
    from /Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /usr/local/Cellar/gems/2.0.0/gems/market_bot-0.14.0/lib/market_bot.rb:3:in `<top (required)>'
    from /Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_require.rb:128:in `require'
    from /Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_require.rb:128:in `rescue in require'
    from /Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_require.rb:39:in `require'
    from test.rb:2:in `<main>'

See ffi/ffi#461

What's new is nil

app.whats_new is nil
ruby output:

getapp.rb:7:in +': no implicit conversion of nil into String (TypeError) from getapp.rb:7:in

my code:

require 'rubygems'
require 'market_bot'
require 'json'
app = MarketBot::Play::App.new('com.ketchapp.stack')
app.update
puts 'whats_new: ' + app.whats_new

Way to check if store id exists?

I'm looking to check if a specific store ID (like com.x.x.x.x.x) exists in the app store. Does this gem have a way to do this?

Scrape reviews

Is there any support for scraping reviews? If not, please consider this a feature request.

Downloading APK for playstore

Is there a way to build capability to download the APK file or generate a download link to APK with marketID or play store URL as input

Multi location

Hi,
do you have a good solution for scraping the store from different countries to get local search ranking for a specific keyword?

market_bot doesn't close connections (enough)

Running market_bot for a while causes the application to consume all available open file descriptors. Looking at the open file descriptors I can see that outgoing http sockets consume all the available descriptors.

developer_id for app

hi chadrem. it is nice to have uniq developer_id property for app. it could be parsed without issues from application page.

can not fetch description from google play

Hello,

It worked perfect, my friend installed and configured it year ago. But, it is few days that it does not fetch description of apps from Google Play. What may be the reason?

adjust gem spec gem.executables

You bin directory is placed on the $PATH. It contains some very generic file names. If you intend these executables to be common utilities for the user, you should do something to "namespace" them to your gem. For example consider market_bot_console and market_bot_setup, etc. Otherwise you should remove them from your gem.executables parameter.

Dewayne
o-*

privacy policy information

Is it possible to get privacy policy information using this gem? see here

In particular, just knowing whether a given app has a privacy policy, i need this information for legal research.

Thanks in advance!

Got unexpected response code: 0

I am trying to get data for a app by running script.
app = MarketBot::Android::App.new('jp.konami.pesclubmanager')
app.update

But i am always getting error.
C:/Ruby21/lib/ruby/gems/2.1.0/gems/market_bot-0.14.0/lib/market_bot/android/app.rb:191:in handle_response': Got unexpected response code: 0 (MarketBot::ResponseError) from C:/Ruby21/lib/ruby/gems/2.1.0/gems/market_bot-0.14.0/lib/market_bot/android/app.rb:156:inupdate'
from test.rb:6:in `

'

Error downloading app info

When I try to run this example:

app = MarketBot::Android::App.new('com.facebook.katana')
app.update
puts app.title
puts app.price

/usr/lib/ruby/gems/1.9.1/gems/market_bot-0.11.0/lib/market_bot/android/app.rb:60:in parse': undefined methodinner_html' for nil:NilClass (NoMethodError)
from /usr/lib/ruby/gems/1.9.1/gems/market_bot-0.11.0/lib/market_bot/android/app.rb:146:in `update'

Any ideas about this error at "app.update"?

market_bot freezes if network goes down

It appears that market_bot requests freeze and never return if network goes down in the middle of the request.

I've tried sending :request_opts => { :timeout => 5000 } but it doesn't seem to have any effect.

If the network ever comes back, market_bot continues and I eventually get the result.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.