Sha256: 1a2deeb2835542d1353785016358c06870079e8d1be78e28de54cc9cdfa5caea

Contents?: true

Size: 936 Bytes

Versions: 5

Compression:

Stored size: 936 Bytes

Contents

module Rhoconnectrb
  module API
    class Resource
      
      def self.method_missing method_name, *args
        action = method_name.to_s.split("_")
        method = "#{action[1]}_#{action[2]}"
        url = "/#{args[0]}/#{method}"
        self.send(action[0],url,args[1])  
      end
      
      private 
      
      def self.post(url,data)
        resp = resource[url].post data.to_json, self.content
        resp.body
      end
      
      def self.token
         url = Rhoconnectrb.configuration.uri || ENV['RHOCONNECT_URL']
         uri = URI.parse(url)
         Rhoconnectrb.configuration.token || uri.user
      end

      def self.content
         {'X-RhoConnect-API-TOKEN'=> self.token, :content_type => :json, :accept => :json}
      end

      def self.resource
         uri = Rhoconnectrb.configuration.uri || ENV['RHOCONNECT_URL']
         RestClient::Resource.new(uri + "/app/v1")
      end
      
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
rhoconnect-rb-1.1.0 lib/rhoconnectrb/api/resource.rb
rhoconnect-rb-1.0.3 lib/rhoconnectrb/api/resource.rb
rhoconnect-rb-1.0.2 lib/rhoconnectrb/api/resource.rb
rhoconnect-rb-1.0.1 lib/rhoconnectrb/api/resource.rb
rhoconnect-rb-1.0.0 lib/rhoconnectrb/api/resource.rb