class Authentise::Model

Represents a model in the Model Warehouse

Attributes

children_urls[RW]
content_url[RW]
created_at[RW]
manifold[RW]
name[RW]
parents_urls[RW]
snapshot_url[RW]
status[RW]
updated_at[RW]
upload_url[RW]
url[RW]
uuid[RW]

Public Class Methods

find_by_url(url: nil, session_token: nil) click to toggle source

rubocop:enable Metrics/AbcSize

# File lib/authentise/model.rb, line 76
def self.find_by_url(url: nil, session_token: nil)
  model = new(url: url)
  model.fetch(session_token: session_token)
  model
end
find_by_uuid(uuid: nil, session_token: nil) click to toggle source
# File lib/authentise/model.rb, line 82
def self.find_by_uuid(uuid: nil, session_token: nil)
  model = new(uuid: uuid)
  model.fetch(session_token: session_token)
  model
end
new(name: nil, url: nil, upload_url: nil, uuid: nil) click to toggle source
# File lib/authentise/model.rb, line 29
def initialize(name: nil,
               url: nil,
               upload_url: nil,
               uuid: nil)
  @name = name
  @upload_url = upload_url
  @url = url
  @uuid = uuid
end

Public Instance Methods

create(session_token: nil) click to toggle source
# File lib/authentise/model.rb, line 39
def create(session_token: nil)
  response = API::Warehouse.create_model(
    session_token: session_token,
    name: name,
  )
  @upload_url = response[:upload_url]
  @url = response[:model_url]
  true
end
fetch(session_token: nil) click to toggle source

rubocop:disable Metrics/AbcSize

# File lib/authentise/model.rb, line 57
def fetch(session_token: nil)
  response = API::Warehouse.get_model(uuid: uuid,
                                      url: url,
                                      session_token: session_token)
  @url = response[:url]
  @uuid = response[:uuid]
  @name = response[:name]
  @status = response[:status]
  @snapshot_url = response[:snapshot_url]
  @content_url = response[:content_url]
  @manifold = response[:manifold]
  @parents_urls = response[:parents_urls]
  @children_urls = response[:children_urls]
  @created_at = response[:created_at]
  @updated_at = response[:updated_at]
  true
end
send_file(path: nil) click to toggle source
# File lib/authentise/model.rb, line 49
def send_file(path: nil)
  API::Warehouse.put_file(
    url: upload_url,
    path: path,
  )
end