Как запустить пример кода для такого драгоценного камня, как Vacuum?

Я новичок в рельсах и хочу создать сайт, использующий API продуктов Amazon. Я привык использовать API в PHP, но очень хочу перейти на Ruby, если это вообще возможно.

Я пробовал различные жемчужины API продуктов Amazon, Ruby/AWS, Amazon-ECS, а теперь и Vacuum. Однако проблема, которой я придерживаюсь, заключается в том, как на самом деле использовать код, который они предлагают в своих файлах readme.

Например, вакуум:

https://github.com/hakanensari/vacuum/

В нем упоминается следующий код:

req = Vacuum.new :product_advertising

req.configure do |config|
  config.key    'key'
  config.secret 'secret'
  config.tag    'tag'
end

req.build operation:    'ItemSearch',
      search_index: 'Books',
      keywords:     'Deleuze'
res = req.get

res.valid? or raise res.code

p res.body

Не зная, куда поместить этот код, я настроил контроллер для тестового приложения и поместил его туда. Однако он терпит неудачу в первой строке, говоря, что Vacuum не определен (он установлен как драгоценный камень в файле драгоценных камней, и я запустил установку пакета).

Я, вероятно, делаю что-то глупое, но простое для исправления, и буду очень признателен за любые предложения.

D

Редактировать:

Благодаря x1a4 следующий код должен заменить блок конфигурации выше:

req.configure do |config|
  config.key =    'key'
  config.secret = 'secret'
  config.tag =    'tag'
end

person Don H    schedule 28.04.2012    source источник
comment
Вы перезапустили сервер после запуска bundle install? Новые драгоценные камни не загружаются динамически в работающее приложение.   -  person x1a4    schedule 29.04.2012
comment
Спасибо, это, безусловно, помогло, поскольку изменило сообщение об ошибке :) Теперь я получаю неправильное количество аргументов (1 вместо 0), а трассировка указывает на req.configure do |config| линия. Вам это кажется нормальным?   -  person Don H    schedule 29.04.2012
comment
Ничто не выглядит неправильным отсюда. Не могли бы вы опубликовать всю трассировку где-нибудь, например. gist.github.com ?   -  person x1a4    schedule 29.04.2012
comment
Спасибо за вашу помощь в этом. Полная трассировка находится здесь: gist.github.com/2522499.   -  person Don H    schedule 29.04.2012
comment
Похоже, что код примера неверен, и вам нужно использовать сеттер с =. В блоке, передаваемом configure, попробуйте config.key = 'key', config.secret = 'secret' и config.tag = 'tag'. У меня, по общему признанию, нет опыта работы с пылесосом, но судя по трассировке, похоже, что проблема в этом.   -  person x1a4    schedule 29.04.2012
comment
В этом была проблема. Я сейчас получаю результат. Спасибо.   -  person Don H    schedule 29.04.2012
comment
@DonH, не могли бы вы опубликовать свой пример приложения на GitHub?   -  person Mark Boulder    schedule 18.04.2014
comment
Привет, @MarkBoulder, я не уверен, что код готов к выпуску, так как уже давно ушел от работы. Решением в этом случае было использование = для установки переменных конфигурации. Я пропустил их в исходном коде.   -  person Don H    schedule 23.04.2014


Ответы (1)


Благодаря x1a4 следующий код должен заменить блок конфигурации выше:

req.configure do |config|
  config.key =    'key'
  config.secret = 'secret'
  config.tag =    'tag'
end
person Don H    schedule 22.04.2014