Project

peepshot

0.0
No commit activity in last 3 years
No release in over 3 years
Use this gem in your rails applications to capture thumbnail screenshots through the PeepShot API
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.0.0
~> 1.5.2
>= 0
>= 0
>= 0
~> 2.6.0
 Project Readme

PeepShot

Provides rails helpers for interfacing with PeepShot.

Examples

PeepShot can be integrated into your Rails application in two ways:

Use the PeepShot image tag helper: peepshot_image_tag(url, options)

The minimum requirements for the peepshot_image_tag is an url and a width. When no height is given, PeepShot will return an un-cropped screenshot of the full page. The following example will return an 320px wide image with a height above 1000px.

<%= peepshot_image_tag("http://ui-patterns.com", :width => 450) %>

Will return something like this:

<img alt="Ui-patterns" src="http://api.peepshot.com/v1/0d03a6bc89/d06c16f085ceba605b5294126517d03a/450?url=http://ui-patterns.com" width="450" />

The maximum width of a screenshot is 1024 pixels.

Adding a height to the options hash will make PeepShot crop the screenshot with basis in the top left corner.

<%= peepshot_image_tag("http://ui-patterns.com", :width => 450, :height => 337) %>

Will return something like this:

<img alt="Ui-patterns" height="337" src="http://api.peepshot.com/v1/0d03a6bc89/d06c16f085ceba605b5294126517d03a/450x337?url=http://ui-patterns.com" width="450" />

You can add any HTML options you'd like as you would with a regular image_tag in rails:

<%= peepshot_image_tag("http://ui-patterns.com", :width => 450, :height => 337, :class => 'thumbnail', :alt => "Go to UI-Patterns.com") %>

Use the PeepShot url helper: peepshot_url(url, options)

If you'd like to use peepshot in your own homebrewn way, you can skip the image tag, and just get the URL for the thumbnail:

peepshot_url("http://ui-patterns.com", :width => 320)

Use a webservice (json or XML) to check if screenshot is ready

If you're not interested in showing a "queued" message to your users, you can use the following method to check if the screenshot has been grabbed and is ready to be shown. It calls a webservice, so calling this method a hundred times on one page can be slow.

peepshot_image_ready?(url)

For instance:

peepshot_image_ready?("http://ui-patterns.com")

Installation

Prerequisite: You need a peepshot.com account. Have your API Key and API Secret handy.

1. Install peepshot as a gem in your rails app.

Add this to your Gemfile: (change version numbers if needed)

gem 'peepshot', '0.2.0'

Don’t forget to run “bundle install” command every time you change something in the Gemfile.

2. Create config/peepshot.yml with the appropriate environment.

production:
  api_key: <your API key>
  api_secret: <your API secret>

3. Create config/initializers/peepshot.rb and place the following line in it

PeepShot.load_peepshot_yaml

Contributing

Unit tests use rspec and require the following environment configuration to run: rails 2.3.10 rspec 1.3.1 rspec-rails 1.3.3 json 1.4.0

Invoke tests on Mac/Linux by running rake spec from this directory

Invoke tests on Windows by running spec spec/ from this directory

Copyright (c) 2012 Anders Toxboe, released under the MIT license