Как мне отладить ruby-ldap, когда метод возвращает только false? - PullRequest
0 голосов
/ 22 декабря 2018

Моя цель - переместить аккаунт в другое подразделение.Я понимаю, что следующий код должен делать эту работу.Тем не менее, он возвращает false.Там нет ошибок, предупреждений или исключений.Как отладить, почему это не работает?

secure_ldap.rename(
    olddn: self.dn, 
    newrdn: "CN=#{self.cn}", 
    delete_attributes: true, 
    new_superior: "#{ou}"
  )

Ответы [ 2 ]

0 голосов
/ 24 декабря 2018

Ошибка не является ошибкой рубина.При работе со стандартными интерфейсами lib ruby ​​к системным программам, таким как LDAP, используйте собственный источник документации.

В вашем случае вы, вероятно, ищете https://ldap.com/ldap-dns-and-rdns/, который объясняет используемые строки и какие из них необходимо экранировать.

0 голосов
/ 22 декабря 2018

Ну, одним из подходов может быть добавление pry и pry-byebug в ваше приложение.Измените код так, чтобы он включал binding.pry, затем запустите ваше приложение:

Frame number: 0/0

From: ./test.rb @ line 1 :

 => 1: binding.pry
    2: secure_ldap.rename(
    3:   olddn: self.dn,
    4:   newrdn: "CN=#{self.cn}",
    5:   delete_attributes: true,
    6:   new_superior: "#{ou}"

=> 

Теперь используйте step, чтобы шаг за шагом выполнять выполнение.Это позволит вам перейти к вызову метода rename внутри net-ldap и, например, проверить локальные переменные внутри этого вызова метода.

...