scelis / twine

Twine is a command line tool for managing your strings and their translations.
Other
840 stars 151 forks source link

`<class:Date>': uninitialized constant SafeYAML::Parse::Date::DateTime (NameError) #231

Closed jpm-polymorph closed 6 years ago

jpm-polymorph commented 6 years ago

Seeing a similar bug to this in Twine: https://github.com/dtao/safe_yaml/issues/80

Getting this output:

$ twine
/Library/Ruby/Gems/2.3.0/gems/safe_yaml-1.0.4/lib/safe_yaml/parse/date.rb:22:in `<class:Date>': uninitialized constant SafeYAML::Parse::Date::DateTime (NameError)
Did you mean?  SafeYAML::Parse::Date::DATE_MATCHER
    from /Library/Ruby/Gems/2.3.0/gems/safe_yaml-1.0.4/lib/safe_yaml/parse/date.rb:3:in `<class:Parse>'
    from /Library/Ruby/Gems/2.3.0/gems/safe_yaml-1.0.4/lib/safe_yaml/parse/date.rb:2:in `<module:SafeYAML>'
    from /Library/Ruby/Gems/2.3.0/gems/safe_yaml-1.0.4/lib/safe_yaml/parse/date.rb:1:in `<top (required)>'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Library/Ruby/Gems/2.3.0/gems/safe_yaml-1.0.4/lib/safe_yaml/load.rb:14:in `<top (required)>'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Library/Ruby/Gems/2.3.0/gems/twine-1.0.1/lib/twine/plugin.rb:1:in `<top (required)>'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Library/Ruby/Gems/2.3.0/gems/twine-1.0.1/lib/twine.rb:25:in `<module:Twine>'
    from /Library/Ruby/Gems/2.3.0/gems/twine-1.0.1/lib/twine.rb:1:in `<top (required)>'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:127:in `require'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:127:in `rescue in require'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:40:in `require'
    from /Library/Ruby/Gems/2.3.0/gems/twine-1.0.1/bin/twine:2:in `<top (required)>'
    from /usr/local/bin/twine:22:in `load'
    from /usr/local/bin/twine:22:in `<main>'
jpm-polymorph commented 6 years ago

The fix as described in https://github.com/dtao/safe_yaml/issues/80#issuecomment-351776333 works.

sudo nano /Library/Ruby/Gems/2.3.0/gems/safe_yaml-1.0.4/lib/safe_yaml/parse/date.rb and then adding require 'time' just before '# This one's easy enough :)'.

sebastianludwig commented 6 years ago

Just for reference, should be fixed in #237