Skip to content

Repository files navigation

MaxCDN REST Web Services Ruby Client

Build StatusGem Version

Installation

gem install maxcdn

Requires Ruby 2.3+ (see: Travis for passing Ruby versions.)

With Bundler

bundle init
echo "gem 'maxcdn'" >> Gemfile
bundle install --path vendor/bundle

Usage

require'maxcdn'api=MaxCDN::Client.new("myalias","consumer_key","consumer_secret")##### Turn on debugging outputs## api.debug = trueapi.get("/account.json")

Methods

It has support for GET, POST, PUT and DELETE OAuth 1.0a signed requests.

# To create a new Pull Zoneapi.post("/zones/pull.json",{'name'=>'test_zone','url'=>'http://my-test-site.com'})# To update an existing zoneapi.put("/zones/pull.json/1234",{'name'=>'i_didnt_like_test'})# To delete a zoneapi.delete("/zones/pull.json/1234")# To purge a file (robots.txt) from cacheapi.delete("/zones/pull.json/1234/cache",{"file"=>"/robots.txt"})

We now have a shortcut for Purge Calls!

zone_id=12345# Purge Zoneapi.purge(zone_id)# Purge Fileapi.purge(zone_id,'/some_file')# Purge Filesapi.purge(zone_id,['/some_file','/another_file'])

Example: SSL Upload

max = MaxCDN::Client.new(alias, key, secret)
max.post("zones/pull/12345/ssl.json", {
:ssl_crt => File.read("/path/to/server.crt").strip,
:ssl_key => File.read("/path/to/server.key").strip })

Development Quick Start

# get it
git clone git@github.com:<fork repo>/ruby-maxcdn.git
# setupcd ruby-maxcdn
bundle install --path vendor/bundle
# unit tests
bundle exec ruby ./test/test.rb
# integration testsexport ALIAS=<your alias>export KEY=<your key>export SECRET=<your secret>
bundle exec ruby ./test/integration.rb # requires host's IP be whitelisted

Change Log

0.3.0
  • Replace CurbFu with Faraday (#10).
0.2.1
0.1.5
  • Issue #4: Fixing purge files by array to return a hash of status results.
0.1.4
  • Fixing bug where purging files purges entire zone.
0.1.3
  • Requested changes for debugging and development support. (See issue #2).
0.1.2
  • Fixing an issue with lib loading in 0.1.1.
0.1.1
  • Fixing POST, DELETE and PUT to send data via request body.
  • Adding debugging for CurbFu and Curl::Easy.
  • Fixing/enhancing unit tests.
  • Removing secure_connection handling, as all connections should be secure.
  • Fixing 414 Request-URI Too Large from old netdnarws-ruby client.
0.1.0
  • Initial Release

About

Ruby Gem for MaxCDN's REST API

Resources

Stars

13 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages