class Egnyte::Link
Attributes
accessibility[RW]
add_filename[RW]
copy_me[RW]
creation_date[RW]
expiry_clicks[RW]
expiry_date[RW]
id[R]
link_to_current[RW]
messages[RW]
notify[RW]
path[RW]
recipients[RW]
send_email[RW]
type[RW]
Public Class Methods
all(session)
click to toggle source
# File lib/egnyte/link.rb, line 40 def self.all(session) self.where(session) end
create(session, params)
click to toggle source
# File lib/egnyte/link.rb, line 44 def self.create(session, params) link = self.new(session, params) link.save end
delete(session, id)
click to toggle source
# File lib/egnyte/link.rb, line 75 def self.delete(session, id) session.delete("#{self.link_path(session)}/#{id}", return_parsed_response=false) end
find(session, id)
click to toggle source
# File lib/egnyte/link.rb, line 49 def self.find(session, id) response = session.get("#{self.link_path(session)}/#{id}", return_parsed_response=true) self.new(session, response) end
link_path(session)
click to toggle source
# File lib/egnyte/link.rb, line 104 def self.link_path(session) "https://#{session.domain}.#{EGNYTE_DOMAIN}/#{session.api}/v1/links" end
new(session, params)
click to toggle source
# File lib/egnyte/link.rb, line 33 def initialize(session, params) @session = session params.each do |k,v| instance_variable_set("@#{k}", v) end end
where(session, params=nil)
click to toggle source
# File lib/egnyte/link.rb, line 54 def self.where(session, params=nil) url = self.link_path(session) url += Egnyte::Helper.params_to_s(params) if params parsed_body = session.get(url) parsed_body["ids"].nil? ? [] : parsed_body["ids"] end
Public Instance Methods
delete()
click to toggle source
# File lib/egnyte/link.rb, line 71 def delete Egnyte::Link.delete(@session, @id) end
link_path()
click to toggle source
# File lib/egnyte/link.rb, line 100 def link_path Egnyte::Link.link_path(@session) end
missing_attributes()
click to toggle source
# File lib/egnyte/link.rb, line 83 def missing_attributes missing = @@required_attributes.collect do |param| param unless instance_variable_get("@#{param}") end missing.compact end
save()
click to toggle source
# File lib/egnyte/link.rb, line 61 def save raise Egnyte::MissingAttribute.new(missing_attributes) unless valid? response = @session.post(link_path, to_json, return_parsed_response=true) link = Egnyte::Link.find(@session, response['links'].first['id']) link.instance_variables.each do |ivar| instance_variable_set(ivar, link.instance_variable_get(ivar)) end self end
to_json()
click to toggle source
# File lib/egnyte/link.rb, line 90 def to_json hash = {} instance_variables.each do |iv| next if [:@session, :@client].include? iv next if instance_variable_get(iv) == nil hash[iv.to_s[1..-1]] = instance_variable_get(iv) end hash.to_json end
valid?()
click to toggle source
# File lib/egnyte/link.rb, line 79 def valid? return missing_attributes.size < 1 end