Sha256: 963c2aab99dc9b2a366fc6a632f1db654ec638e64330e187bbad3c28b2635b14
Contents?: true
Size: 1.66 KB
Versions: 2
Compression:
Stored size: 1.66 KB
Contents
module Siteleaf class Site < Entity attr_accessor :title, :domain, :timezone, :metadata, :defaults 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 self.import(attrs) result = Client.post "import", attrs Job.new(id: result["job_id"]) if result end def source_files(dir = '.', opts = {}) result = Client.get ::File.join(entity_endpoint, "source", dir), opts result.map { |r| SourceFile.new(r.merge('site_id' => id)) } if result.is_a? Array end def pages result = Client.get "#{entity_endpoint}/pages" result.map { |r| Page.new(r) } if result.is_a? Array end def collections result = Client.get "#{entity_endpoint}/collections" result.map { |r| Collection.new(r) } if result.is_a? Array end def posts Collection.new(path: 'posts', site_id: id).documents end def uploads Collection.new(path: 'uploads', site_id: id).files end def publish result = Client.post "#{entity_endpoint}/publish", {} Job.new(id: result["job_id"]) if result end def preview result = Client.post "#{entity_endpoint}/preview", {} Job.new(id: result["job_id"]) if result end def users result = Client.get "#{entity_endpoint}/users" result.map { |r| User.new(r) } if result.is_a? Array end def full_url "http://#{domain}" end def filename "_config.yml" end def sha Siteleaf::GitHash.string(to_file) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
siteleaf-2.3.0 | lib/siteleaf/site.rb |
siteleaf-2.2.1 | lib/siteleaf/site.rb |