class Podio::Space

@see developers.podio.com/doc/spaces

Public Class Methods

create(attributes) click to toggle source

@see developers.podio.com/doc/spaces/create-space-22390

# File lib/podio/models/space.rb, line 60
def create(attributes)
  response = Podio.connection.post do |req|
    req.url '/space/'
    req.body = attributes
  end

  response.body
end
delete(id) click to toggle source
# File lib/podio/models/space.rb, line 74
def delete(id)
  Podio.connection.delete("/space/#{id}").status
end
find(id, params={}) click to toggle source

@see developers.podio.com/doc/spaces/get-space-22389

# File lib/podio/models/space.rb, line 79
def find(id, params={})
  member Podio.connection.get("/space/#{id}", params).body
end
find_all_for_org(org_id) click to toggle source
# File lib/podio/models/space.rb, line 103
def find_all_for_org(org_id)
  list Podio.connection.get("/org/#{org_id}/space/").body
end
find_all_spaces_for_org(org_id, options={}) click to toggle source
# File lib/podio/models/space.rb, line 107
def find_all_spaces_for_org(org_id, options={})
  list Podio.connection.get("/org/#{org_id}/all_spaces/", options).body
end
find_by_url(url) click to toggle source

@see developers.podio.com/doc/spaces/get-space-by-url-22481

# File lib/podio/models/space.rb, line 94
def find_by_url(url)
  member Podio.connection.get("/space/url?url=#{ERB::Util.url_encode(url)}").body
end
find_by_url_slug(org_slug, space_slug, params={}) click to toggle source
# File lib/podio/models/space.rb, line 98
def find_by_url_slug(org_slug, space_slug, params={})
  params = params.merge(:org_slug => org_slug, :space_slug => space_slug)
  member Podio.connection.get("/space/url", params).body
end
find_open_for_org(org_id) click to toggle source

@see developers.podio.com/doc/spaces/get-available-spaces-1911961

# File lib/podio/models/space.rb, line 112
def find_open_for_org(org_id)
  list Podio.connection.get("/space/org/#{org_id}/available/").body
end
get_available_seats(space_id) click to toggle source
# File lib/podio/models/space.rb, line 131
def get_available_seats(space_id)
  Podio.connection.get("/space/#{space_id}/available").body
end
get_count(org_id) click to toggle source
# File lib/podio/models/space.rb, line 127
def get_count(org_id)
  Podio.connection.get("/space/org/#{org_id}/count").body['count']
end
get_overdue_info(space_id) click to toggle source
# File lib/podio/models/space.rb, line 123
def get_overdue_info(space_id)
  Podio.connection.get("/space/#{space_id}/overdue").body
end
join(space_id) click to toggle source

@see developers.podio.com/doc/space-members/join-space-1927286

# File lib/podio/models/space.rb, line 84
def join(space_id)
  Podio.connection.post("/space/#{space_id}/join").body
end
leave(space_id) click to toggle source

@see developers.podio.com/doc/organizations/end-organization-membership-19410457

# File lib/podio/models/space.rb, line 89
def leave(space_id)
  Podio.connection.post("/space/#{space_id}/leave").status
end
update(space_id, attributes) click to toggle source

@see developers.podio.com/doc/spaces/update-space-22391

# File lib/podio/models/space.rb, line 70
def update(space_id, attributes)
  Podio.connection.put("/space/#{space_id}", attributes).status
end
validate_url_label(org_id, url_label) click to toggle source
# File lib/podio/models/space.rb, line 116
def validate_url_label(org_id, url_label)
  Podio.connection.post { |req|
    req.url "/space/org/#{org_id}/url/validate"
    req.body = {:url_label => url_label}
  }.body
end

Public Instance Methods

create() click to toggle source

@see developers.podio.com/doc/spaces/create-space-22390

# File lib/podio/models/space.rb, line 35
def create
  response = Space.create(:org_id => org_id, :name => name, :privacy => self.privacy, :auto_join => self.auto_join)
  self.url = response['url']
  self.space_id = response['space_id']
end
delete() click to toggle source
# File lib/podio/models/space.rb, line 54
def delete
  self.class.delete(self.id)
end
update() click to toggle source

@see developers.podio.com/doc/spaces/update-space-22391

# File lib/podio/models/space.rb, line 42
def update
  self.class.update(space_id,
    :name               => name,
    :post_on_new_app    => post_on_new_app,
    :post_on_new_member => post_on_new_member,
    :url_label          => url_label,
    :privacy            => privacy,
    :auto_join          => auto_join,
    :description        => description
  )
end