Class: Rightstuff::Client
- Inherits:
-
Object
- Object
- Rightstuff::Client
- Defined in:
- lib/rightstuff.rb
Instance Method Summary collapse
- #account_url(rest) ⇒ Object
- #get(address) ⇒ Object
- #get_rest(rest) ⇒ Object
-
#initialize(options = {}) ⇒ Client
constructor
A new instance of Client.
- #servers ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ Client
Returns a new instance of Client.
113 114 115 116 117 118 119 120 121 122 123 124 |
# File 'lib/rightstuff.rb', line 113 def initialize( = {} ) @username = [ :username ] or raise 'no username supplied' @password = [ :password ] or raise 'no password supplied' @account = [ :account ] or raise 'no account id supplied' @account = @account.to_s @base_url = 'https://my.rightscale.com/api/acct' url = URI.parse( @base_url ) @connection = Net::HTTP.new( url.host, url.port ) @connection.use_ssl = true @connection.verify_mode = OpenSSL::SSL::VERIFY_NONE end |
Instance Method Details
#account_url(rest) ⇒ Object
152 153 154 |
# File 'lib/rightstuff.rb', line 152 def account_url( rest ) @base_url + '/' + @account + '/' + rest end |
#get(address) ⇒ Object
130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 |
# File 'lib/rightstuff.rb', line 130 def get( address ) url = URI.parse( address ) request = Net::HTTP::Get.new( url.request_uri ) request.add_field( 'X-API-VERSION', '1.0' ) request.basic_auth @username, @password response = @connection.request( request ) case response.code when '200' return response.body else raise "Request '#{ address }' failed with response code #{ response.code }\n#{ response.body }" end end |
#get_rest(rest) ⇒ Object
126 127 128 |
# File 'lib/rightstuff.rb', line 126 def get_rest( rest ) get( account_url( rest ) ) end |
#servers ⇒ Object
146 147 148 149 150 |
# File 'lib/rightstuff.rb', line 146 def servers return @servers if @servers body = Nokogiri::XML( get_rest( 'servers' ) ) @servers = Server.load_collection( self, body ) end |