AndyObtiva/glimmer

I guess .gemspec should explicitely require Ruby >=2.5 otherwise you are able to install it but for no use

Nakilon opened this issue · 2 comments

  • OS: macOS 11.4
  • Ruby Version: 2.3.8 rbenv
  • Glimmer Libraries/Versions: glimmer-0.10.4, glimmer-dsl-tk-0.0.6
$ irb
irb(main):001:0> require "glimmer-dsl-tk"
TypeError: {:keyword_init=>true} is not a symbol
	from /Users/nakilon/.rbenv/versions/2.3.8/lib/ruby/gems/2.3.0/gems/glimmer-0.10.4/lib/glimmer/data_binding/observer.rb:28:in `new'
	from /Users/nakilon/.rbenv/versions/2.3.8/lib/ruby/gems/2.3.0/gems/glimmer-0.10.4/lib/glimmer/data_binding/observer.rb:28:in `<module:Observer>'
	from /Users/nakilon/.rbenv/versions/2.3.8/lib/ruby/gems/2.3.0/gems/glimmer-0.10.4/lib/glimmer/data_binding/observer.rb:12:in `<module:DataBinding>'
	from /Users/nakilon/.rbenv/versions/2.3.8/lib/ruby/gems/2.3.0/gems/glimmer-0.10.4/lib/glimmer/data_binding/observer.rb:4:in `<module:Glimmer>'
	from /Users/nakilon/.rbenv/versions/2.3.8/lib/ruby/gems/2.3.0/gems/glimmer-0.10.4/lib/glimmer/data_binding/observer.rb:3:in `<top (required)>'
	from /Users/nakilon/.rbenv/versions/2.3.8/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /Users/nakilon/.rbenv/versions/2.3.8/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /Users/nakilon/.rbenv/versions/2.3.8/lib/ruby/gems/2.3.0/gems/glimmer-0.10.4/lib/glimmer/data_binding/model_binding.rb:2:in `<top (required)>'
	from /Users/nakilon/.rbenv/versions/2.3.8/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /Users/nakilon/.rbenv/versions/2.3.8/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /Users/nakilon/.rbenv/versions/2.3.8/lib/ruby/gems/2.3.0/gems/glimmer-dsl-tk-0.0.6/lib/glimmer/dsl/tk/list_selection_data_binding_expression.rb:23:in `<top (required)>'
	from /Users/nakilon/.rbenv/versions/2.3.8/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /Users/nakilon/.rbenv/versions/2.3.8/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /Users/nakilon/.rbenv/versions/2.3.8/lib/ruby/gems/2.3.0/gems/glimmer-dsl-tk-0.0.6/lib/glimmer/dsl/tk/dsl.rb:23:in `block in <top (required)>'
	from /Users/nakilon/.rbenv/versions/2.3.8/lib/ruby/gems/2.3.0/gems/glimmer-dsl-tk-0.0.6/lib/glimmer/dsl/tk/dsl.rb:23:in `each'
	from /Users/nakilon/.rbenv/versions/2.3.8/lib/ruby/gems/2.3.0/gems/glimmer-dsl-tk-0.0.6/lib/glimmer/dsl/tk/dsl.rb:23:in `<top (required)>'
	from /Users/nakilon/.rbenv/versions/2.3.8/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /Users/nakilon/.rbenv/versions/2.3.8/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /Users/nakilon/.rbenv/versions/2.3.8/lib/ruby/gems/2.3.0/gems/glimmer-dsl-tk-0.0.6/lib/glimmer-dsl-tk.rb:34:in `<top (required)>'
	from /Users/nakilon/.rbenv/versions/2.3.8/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:127:in `require'
	from /Users/nakilon/.rbenv/versions/2.3.8/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:127:in `rescue in require'
	from /Users/nakilon/.rbenv/versions/2.3.8/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:39:in `require'
	from (irb):1
	from /Users/nakilon/.rbenv/versions/2.3.8/bin/irb:11:in `<main>'

Glimmer DSL for Tk assumed RVM not rbenv (and was written as a quick exploratory early alpha on macOS 10.15.7)

Many gems don't nail their Ruby version perfectly. I don't see this as a major issue.

(I posted from my personal account above)

I do not see value right now in testing every version of Ruby to nail the allowed versions down. Glimmer the DSL Framework (not Glimmer DSL for Tk) supports a wider range of Ruby versions, and it is better to keep it open should someone need DSL support in a previous version of Ruby without Tk.

As for Glimmer DSL for Tk, it is an early alpha project, so you cannot expect much from it, but it clearly states it supports RVM ruby 2.7.1 (not rbenv because RVM can recompile Ruby for Tk) and gives instructions on how to use. If you did not follow, you are causing your own problem.

Closing this issue for now.