Sha256: 4c9eb3745c834b96c0c47d2778b6948620b9675745465857ea8b618c2b94b56c

Contents?: true

Size: 1.12 KB

Versions: 5

Compression:

Stored size: 1.12 KB

Contents

module Siteleaf
  class Site < Entity

    attr_accessor :title, :domain, :timezone, :metadata
    attr_reader :id, :user_id, :created_at, :updated_at
    
    def self.find_by_domain(domain)
      results = Client.get self.endpoint
      result = results.find {|d| d['domain'] == domain }
      self.new(result) if result
    end
    
    def files
      result = Client.get "sites/#{self.id}/files"
      result.map { |r| File.new(r) } if result
    end
    
    def uploads
      result = Client.get "sites/#{self.id}/uploads"
      result.map { |r| Upload.new(r) } if result
    end
    
    def pages
      result = Client.get "sites/#{self.id}/pages"
      result.map { |r| Page.new(r) } if result
    end
    
    def posts
      result = Client.get "sites/#{self.id}/posts"
      result.map { |r| Post.new(r) } if result
    end
    
    def collections
      result = Client.get "sites/#{self.id}/collections"
      result.map { |r| Collection.new(r) } if result
    end
    
    def publish
      result = Client.post "sites/#{self.id}/publish", {}
      Job.new(id: result.parsed_response["job_id"]) if result
    end
    
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
siteleaf-2.0.0.pre.beta5 lib/siteleaf/site.rb
siteleaf-2.0.0.pre.beta4 lib/siteleaf/site.rb
siteleaf-2.0.0.pre.beta3 lib/siteleaf/site.rb
siteleaf-2.0.0.pre.beta2 lib/siteleaf/site.rb
siteleaf-2.0.0.pre.beta1 lib/siteleaf/site.rb