rename projects
[arvados.git] / apps / workbench / app / models / static / gitweb.js
diff --git a/apps/workbench/app/models/orvos_api_client.rb b/apps/workbench/app/models/orvos_api_client.rb
deleted file mode 100644 (file)
index aa73856..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-class OrvosApiClient
-  class NotLoggedInException < Exception
-  end
-  def api(resources_kind, action, data=nil)
-    orvos_api_token = Thread.current[:orvos_api_token]
-    orvos_api_token = '' if orvos_api_token.nil?
-    dataargs = ['--data-urlencode',
-                "api_token=#{orvos_api_token}",
-                '--header',
-                'Accept:application/json']
-    if !data.nil?
-      data.each do |k,v|
-        dataargs << '--data-urlencode'
-        if v.is_a? String or v.nil?
-          dataargs << "#{k}=#{v}"
-        elsif v == true or v == false
-          dataargs << "#{k}=#{v ? 1 : 0}"
-        else
-          dataargs << "#{k}=#{JSON.dump(v)}"
-        end
-      end
-    else
-      dataargs << '--data-urlencode' << '_method=GET'
-    end
-    json = nil
-    resources_kind = class_kind(resources_kind).pluralize if resources_kind.is_a? Class
-    url = "#{self.orvos_v1_base}/#{resources_kind}#{action}"
-    IO.popen([ENV,
-              'curl',
-              '-s',
-              *dataargs,
-              url],
-             'r') do |io|
-      json = io.read
-    end
-    resp = Oj.load(json, :symbol_keys => true)
-    if resp[:errors]
-      if resp[:errors][0] == 'Not logged in'
-        raise NotLoggedInException.new
-      else
-        errors = resp[:errors]
-        errors = errors.join("\n\n") if errors.is_a? Array
-        raise "API errors:\n\n#{errors}\n"
-      end
-    end
-    resp
-  end
-
-  def unpack_api_response(j, kind=nil)
-    if j.is_a? Hash and j[:items].is_a? Array and j[:kind].match(/(_list|List)$/)
-      j[:items].collect { |x| unpack_api_response x, j[:kind] }
-    elsif j.is_a? Hash and (kind || j[:kind])
-      oclass = self.kind_class(kind || j[:kind])
-      if oclass
-        j.keys.each do |k|
-          childkind = j["#{k.to_s}_kind".to_sym]
-          if childkind
-            j[k] = self.unpack_api_response(j[k], childkind)
-          end
-        end
-        oclass.new.private_reload(j)
-      else
-        j
-      end
-    else
-      j
-    end
-  end
-
-  def orvos_login_url(params={})
-    if Rails.configuration.respond_to? :orvos_login_base
-      uri = Rails.configuration.orvos_login_base
-    else
-      uri = self.orvos_v1_base.sub(%r{/orvos/v\d+.*}, '/login')
-    end
-    if params.size > 0
-      uri += '?' << params.collect { |k,v|
-        CGI.escape(k.to_s) + '=' + CGI.escape(v.to_s)
-      }.join('&')
-    end
-  end
-
-  def orvos_logout_url(params={})
-    orvos_login_url(params).sub('/login','/logout')
-  end
-
-  def orvos_v1_base
-    Rails.configuration.orvos_v1_base
-  end
-
-  def orvos_schema
-    @orvos_schema ||= api 'schema', ''
-  end
-
-  def kind_class(kind)
-    kind.match(/^orvos\#(.+?)(_list|List)?$/)[1].pluralize.classify.constantize rescue nil
-  end
-
-  def class_kind(resource_class)
-    resource_class.to_s.underscore
-  end
-end