Использование драгоценного камня Рубиновый туман

Я возился с драгоценным камнем Fog и понял, как начать:

1.9.3-p545 :008 > c = Fog::Compute::Ecloud.new({
1.9.3-p545 :009 >       :base_path => '/cloudapi/spec',
1.9.3-p545 :010 >       ecloud_authentication_method: 'basic_auth',
1.9.3-p545 :011 >       ecloud_username: '[email protected]',
1.9.3-p545 :012 >       ecloud_password: 'password'
1.9.3-p545 :013?>     })
[fog][WARNING] Unrecognized arguments: base_path
 => #<Fog::Compute::Ecloud::Real:25681720 @base_path="/cloudapi/spec" @connections={} @connection_options={} @host="https://services.enterprisecloud.terremark.com" @persistent=false @version="2013-06-01" @authentication_method=:basic_auth @access_key=nil @private_key=nil @username="[email protected]" @password="password"> 

Я не знаю, что делать после этого, хотя. Как заставить объект делать что-нибудь полезное? Я новичок в Ruby, поэтому много кода в Источник Fog Ecloud не имеет для меня никакого смысла.

Я пробовал использовать разные методы, но каждый из них приводит к ошибке.

Может ли кто-нибудь привести пример и объяснение, указывающее, куда мне нужно идти отсюда?


person theillien    schedule 29.03.2014    source источник


Ответы (1)


Похоже, вы нашли ошибку!

Туман выдает эту ошибку, потому что base_url отсутствует в recognizes строка.

Я пошел вперед и исправил это для вас. Если вы используете упаковщик, вы можете использовать последний мастер, обновив свой Gemfile, чтобы включить следующее

gem 'fog', :git => 'https://github.com/fog/fog.git'

Или, в качестве альтернативы, вы можете просто исправить его в своем коде, выполнив следующий код перед использованием тумана.

require 'fog'
module Fog
  module Compute
    class Ecloud < Fog::Service
      recognizes :ecloud_username, :ecloud_password, :ecloud_version,
                 :ecloud_access_key, :ecloud_private_key,
                 :ecloud_authentication_method, :base_path 
    end
  end
end

Для получения информации о том, как использовать туман, я бы рекомендовал прочитать следующую страницу.

person Kyle Rames    schedule 29.03.2014
comment
Да, это исправило это. Я ранее просматривал страницу, на которую вы ссылаетесь. К сожалению, несмотря на то, что я новичок в Ruby и у меня так мало документации для поставщика ecloud, я не могу понять, как двигаться дальше. Я могу разобраться в методах, доступных с помощью c.methods, но когда я пытаюсь выполнить один из них, я получаю ArgumentError: wrong number of argumetns (# for #). Как определить, какие аргументы необходимы для каждого метода? Все это довольно запутанно, и на этой веб-странице представлен только очень краткий обзор, в то время как у поставщика ecloud практически нет документации. - person theillien; 30.03.2014
comment
Кроме того, использование интерактивной оболочки fog не помогает, поскольку ни ecloud, ни terremark не являются признанными поставщиками. - person theillien; 30.03.2014