Sha256: 1578e77318023106c485e5f3255d029192932918863c99dc81eb5c34d761de9d
Contents?: true
Size: 1.76 KB
Versions: 1
Compression:
Stored size: 1.76 KB
Contents
require 'rest-client' require 'json' module Stastic class Client attr_accessor :user, :token, :host def self.authenticate(email, password) client = new client.request(:get, "/authenticate", {:email => email, :password => password})["token"] end def self.request(method, uri, payload = nil, headers = {}) client = new client.request(method, uri, payload, headers) end def self.create(name = nil) if name request(:post, "/sites", {:site => {:name => name}}) else request(:post, "/sites") end end def self.list request(:get, "/sites") end def self.publish(site_id, archive_path) request(:put, "/sites/#{site_id}/publish", {:site => {:archive => File.new(archive_path)}}) end def self.rename(site_id, name) request(:put, "/sites/#{site_id}", {:site => {:name => name}}) end def self.add_domain(site_id, domain_name) request(:post, "/sites/#{site_id}/domains", {:domain => {:host => domain_name}}) end def self.remove_domain(site_id, domain_name) request(:delete, "/sites/#{site_id}/domains/#{domain_name}") end def initialize(host = "https://stastic.com") if Stastic::Config.exists? self.user = Stastic::Config.user self.token = Stastic::Config.token end self.host = host end def request(method, uri, payload = nil, headers = {}) headers.merge!(:accept => 'json', "X-STASTIC" => Stastic::VERSION) response = RestClient::Request.execute( :method => method, :url => host + uri, :headers => headers, :payload => payload, :user => user, :password => token) return JSON::parse(response.body) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
stastic-0.2.6 | lib/stastic/client.rb |