Size: a a a

2020 February 03

VK

Vasya Kuzmik in pro.ruby
Сергей Блохин
У вас не так?
Ставлю на то, что он вызывает еще #to_i
источник

СБ

Сергей Блохин in pro.ruby
Vasya Kuzmik
Ставлю на то, что он вызывает еще #to_i
Тут бы хорошо, кроме примера .xls, взглянуть на пример кода .rb, которым файл обрабатывается.
источник

BO

Black Olive in pro.ruby
У меня тоже так, но тут при вручном изменении что-то меняется
источник

BO

Black Olive in pro.ruby
источник

BO

Black Olive in pro.ruby
Вот с этим попробуйте, настоящий пример!
источник

BO

Black Olive in pro.ruby
Vasya Kuzmik
Ставлю на то, что он вызывает еще #to_i
А может из-за того, что в названии 666 присутствуют?😱
источник

VK

Vasya Kuzmik in pro.ruby
Black Olive
А может из-за того, что в названии 666 присутствуют?😱
Та не, из-за того, что год высокосный
источник

VK

Vasya Kuzmik in pro.ruby
Инфа 100
источник

VK

Vasya Kuzmik in pro.ruby
Бля буду
источник

СБ

Сергей Блохин in pro.ruby
Я всё понял. Примерно. Попробую рассказать.
источник

СБ

Сергей Блохин in pro.ruby
В файле физически находится значение 207035.
То, что вы в Excel видите 0207035 — это не потому, что у ячейки Текстовый формат.
Формат у данной ячейки Все форматы, точнее, «кастомный» формат 0000000.
Такой формат означает, что Excel будет выводить «на экран» ЧИСЛО, добавляя к нему лидирующие нули в количестве, чтобы конечное количество символов было равно 7 (в данном случае).
Если в ячейке поменяет значение с 207035 на 42, то Excel вам покажет 0000042.
Библиотека плевать хотела на кастомные форматы.
Она примерно так и говорит в документации.

> This will return a String, a Float, an Integer, a Formula, a Link or a Date or DateTime object - or nil if the cell is empty.

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

RANGE = 7
LEADING_SYMBOL = '0'
42.to_s.rjust(RANGE, LEADING_SYMBOL) # => "0000042"
источник

СБ

Сергей Блохин in pro.ruby
Сергей Блохин
В файле физически находится значение 207035.
То, что вы в Excel видите 0207035 — это не потому, что у ячейки Текстовый формат.
Формат у данной ячейки Все форматы, точнее, «кастомный» формат 0000000.
Такой формат означает, что Excel будет выводить «на экран» ЧИСЛО, добавляя к нему лидирующие нули в количестве, чтобы конечное количество символов было равно 7 (в данном случае).
Если в ячейке поменяет значение с 207035 на 42, то Excel вам покажет 0000042.
Библиотека плевать хотела на кастомные форматы.
Она примерно так и говорит в документации.

> This will return a String, a Float, an Integer, a Formula, a Link or a Date or DateTime object - or nil if the cell is empty.

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

RANGE = 7
LEADING_SYMBOL = '0'
42.to_s.rjust(RANGE, LEADING_SYMBOL) # => "0000042"
1. Библиотека довольно сырая, в плане документации — особенно.
2. Ковыряйте её исходники; на предмет Spreadsheet::Format.new.
3. Есть похожий дефект в репозитории библиотеки. Возможно, там что-то ещё найдёте (не вчитывался)
источник

BO

Black Olive in pro.ruby
Сергей Блохин
Я всё понял. Примерно. Попробую рассказать.
Спасибо огромное. Попытаюсь использовать ваше решение.
источник

Aliaksandr ¯\_(ツ)_/¯ in pro.ruby
как мне проверить что есть данная константа?
plugin.rb:288:in `block in activate!': uninitialized constant OmniAuth::Strategies::LDAP (NameError)

я использую такой код
  OmniAuth::Strategies::LDAP.class_eval do

 end
источник

Aliaksandr ¯\_(ツ)_/¯ in pro.ruby
салам алейкум ребята
источник

MC

Mikhail Churakov in pro.ruby
defined? LDAP
источник

МБ

Максим Безлегкий in pro.ruby
Object.const_defined?
источник

Aliaksandr ¯\_(ツ)_/¯ in pro.ruby
Максим Безлегкий
Object.const_defined?
акак это в контенксте моего кода написать?
вот тут OmniAuth::Strategies::LDAP.class_eval

если конечно не тяжело
источник

МБ

Максим Безлегкий in pro.ruby
источник

СБ

Сергей Блохин in pro.ruby
Aliaksandr ¯\_(ツ)_/¯
как мне проверить что есть данная константа?
plugin.rb:288:in `block in activate!': uninitialized constant OmniAuth::Strategies::LDAP (NameError)

я использую такой код
  OmniAuth::Strategies::LDAP.class_eval do

 end
require 'omniauth'

omni_auth_strategies = OmniAuth::Strategies

if omni_auth_strategies.const_defined? :LDAP
 omni_auth_strategies::LDAP.class_eval do
   # some code
 end
end
источник