Class: Stastic::Client
- Inherits:
-
Object
- Object
- Stastic::Client
- Defined in:
- lib/stastic/client.rb
Instance Attribute Summary collapse
-
#host ⇒ Object
Returns the value of attribute host.
-
#token ⇒ Object
Returns the value of attribute token.
-
#user ⇒ Object
Returns the value of attribute user.
Class Method Summary collapse
- .add_domain(site_id, domain_name) ⇒ Object
- .authenticate(email, password) ⇒ Object
- .create(name = nil) ⇒ Object
- .list ⇒ Object
- .publish(site_id, archive_path) ⇒ Object
- .remove_domain(site_id, domain_name) ⇒ Object
- .rename(site_id, name) ⇒ Object
- .request(method, uri, payload = nil, headers = {}) ⇒ Object
Instance Method Summary collapse
-
#initialize(host = "http://stastic.com") ⇒ Client
constructor
A new instance of Client.
- #request(method, uri, payload = nil, headers = {}) ⇒ Object
Constructor Details
#initialize(host = "http://stastic.com") ⇒ Client
Returns a new instance of Client.
49 50 51 52 53 54 55 |
# File 'lib/stastic/client.rb', line 49 def initialize(host = "http://stastic.com") if Stastic::Config.exists? self.user = Stastic::Config.user self.token = Stastic::Config.token end self.host = host end |
Instance Attribute Details
#host ⇒ Object
Returns the value of attribute host.
9 10 11 |
# File 'lib/stastic/client.rb', line 9 def host @host end |
#token ⇒ Object
Returns the value of attribute token.
9 10 11 |
# File 'lib/stastic/client.rb', line 9 def token @token end |
#user ⇒ Object
Returns the value of attribute user.
9 10 11 |
# File 'lib/stastic/client.rb', line 9 def user @user end |
Class Method Details
.add_domain(site_id, domain_name) ⇒ Object
41 42 43 |
# File 'lib/stastic/client.rb', line 41 def self.add_domain(site_id, domain_name) request(:post, "/sites/#{site_id}/domains", {:domain => {:host => domain_name}}) end |
.authenticate(email, password) ⇒ Object
11 12 13 14 |
# File 'lib/stastic/client.rb', line 11 def self.authenticate(email, password) client = new client.request(:get, "/authenticate", {:email => email, :password => password})["token"] end |
.create(name = nil) ⇒ Object
21 22 23 24 25 26 27 |
# File 'lib/stastic/client.rb', line 21 def self.create(name = nil) if name request(:post, "/sites", {:site => {:name => name}}) else request(:post, "/sites") end end |
.list ⇒ Object
29 30 31 |
# File 'lib/stastic/client.rb', line 29 def self.list request(:get, "/sites") end |
.publish(site_id, archive_path) ⇒ Object
33 34 35 |
# File 'lib/stastic/client.rb', line 33 def self.publish(site_id, archive_path) request(:put, "/sites/#{site_id}/publish", {:site => {:archive => File.new(archive_path)}}) end |
.remove_domain(site_id, domain_name) ⇒ Object
45 46 47 |
# File 'lib/stastic/client.rb', line 45 def self.remove_domain(site_id, domain_name) request(:delete, "/sites/#{site_id}/domains/#{domain_name}") end |
.rename(site_id, name) ⇒ Object
37 38 39 |
# File 'lib/stastic/client.rb', line 37 def self.rename(site_id, name) request(:put, "/sites/#{site_id}", {:site => {:name => name}}) end |
.request(method, uri, payload = nil, headers = {}) ⇒ Object
16 17 18 19 |
# File 'lib/stastic/client.rb', line 16 def self.request(method, uri, payload = nil, headers = {}) client = new client.request(method, uri, payload, headers) end |
Instance Method Details
#request(method, uri, payload = nil, headers = {}) ⇒ Object
57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/stastic/client.rb', line 57 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 |