Sha256: 9a188293acd8caa710e565c93d76b9139e007a4b11b76766434d5d13a8faa29e

Contents?: true

Size: 1002 Bytes

Versions: 10

Compression:

Stored size: 1002 Bytes

Contents

module Siteleaf
  class Site < Entity

    attr_accessor :title, :domain, :timezone
    attr_reader :id, :user_id, :created_at, :updated_at
    
    def self.find_by_domain(domain)
      result = Client.get self.endpoint, {"domain" => domain}
      self.new(result.first) if result and result.size >= 1
    end
    
    def theme
      @theme ||= if result = Client.get("sites/#{self.id}/theme")
        theme = Theme.new(result)
        theme.site_id = self.id
        theme
      end
    end
    
    def assets
      result = Client.get "sites/#{self.id}/assets"
      result.map { |r| Asset.new(r) } if result
    end
    
    def pages
      result = Client.get "sites/#{self.id}/pages"
      result.map { |r| Page.new(r) } if result
    end
    
    def resolve(url = '/')
      Client.get "sites/#{self.id}/resolve", {"url" => url}
    end
    
    def preview(url = '/', template = nil)
      Client.post "sites/#{self.id}/preview", {"url" => url, "template" => template}
    end
    
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
siteleaf-0.9.22 lib/siteleaf/site.rb
siteleaf-0.9.21 lib/siteleaf/site.rb
siteleaf-0.9.20 lib/siteleaf/site.rb
siteleaf-0.9.19 lib/siteleaf/site.rb
siteleaf-0.9.18 lib/siteleaf/site.rb
siteleaf-0.9.17 lib/siteleaf/site.rb
siteleaf-0.9.16 lib/siteleaf/site.rb
siteleaf-0.9.15 lib/siteleaf/site.rb
siteleaf-0.9.14 lib/siteleaf/site.rb
siteleaf-0.9.13 lib/siteleaf/site.rb