glossarist / glossarist-ruby

Concept modeller in Ruby
BSD 2-Clause "Simplified" License
1 stars 1 forks source link

Glossarist Ruby "concept" gem (move IEV specific parsing back to iev-data) #1

Closed ronaldtse closed 3 years ago

ronaldtse commented 3 years ago

From metanorma/stepmod-utils#14:

We need a Ruby gem to deal with the https://github.com/glossarist/concept-model model.

This will allow us to use the same basis for ingesting concepts as well exporting them.

This gem will be used in metanorma/metanorma-standoc#255 by @opoudjis .

skalee commented 3 years ago

Yes, I've noticed this one. Though I am thinking if we can do it in some meta language to avoid separate Ruby and JS implementations… Would be great I suppose, but I'm not sure if possible.

skalee commented 3 years ago

And I guess that I should close few other ones first. Unless this is really urgent.

ronaldtse commented 3 years ago

@skalee yes this is relatively urgent work, definitely more urgent than completion of parsing of IEV because that comes later. Thanks.

skalee commented 3 years ago

@ronaldtse, @opoudjis

ronaldtse commented 3 years ago

Which concept features are more needed? These used in IEV or these in TC211?

We need all from both, because they are all real requirements. The authoritative model is https://github.com/glossarist/concept-model .

Any requirements regarding supported Ruby versions? Should I care about Ruby 2.4? Should I care about anything below 2.7?

We have to support 2.4+ for now.

skalee commented 3 years ago

I wonder how to name this gem. concepts, glossary_concepts, glossarist_concepts, iso_concepts, glossarist are all free, concept is taken.

ronaldtse commented 3 years ago

Maybe just glossarist for now?

skalee commented 3 years ago

Agreed. Three more questions:

ronaldtse commented 3 years ago
  • Any requirements regarding license? I am going to use BSD 2-clause, as Metanorma uses specifically this one.

Agree.

  • Should I create a new repo for this project or keep it in glossarist/concept-model in a subdirectory? I am going to do the former which is cleaner IMO, but maybe there are reasons to do otherwise?

Here's the new repo: https://github.com/glossarist/glossarist-ruby

  • Is it okay to support Ruby 2.4.4+, i.e. without Ruby 2.4.0-2.4.3? That would allow us to use Zeitwerk. Though I can live without it.

I think so.

skalee commented 3 years ago

@opoudjis Can you confirm that I can support Ruby 2.4.4+ only, i.e. without Ruby 2.4.0-2.4.3, particularly in context of packed-mn requirements?

This is a bit broader question in fact. I'm not sure yet if I'll use Zeitwerk in this very project, but certainly I'll be tempted to do so in the other gems I develop, some of them useful or potentially useful in Metanorma. For instance, ReverseAdoc could benefit greatly from Zeitwerk, given current require hell (of course I won't do that without prior discussion):

https://github.com/metanorma/reverse_adoc/blob/aec203d80eafd6cb23828013f102f3a8b0dafba3/lib/reverse_adoc/html_converter.rb#L3-L35

ronaldtse commented 3 years ago

Concerns about packed-mn will be answered by @CAMOBAP and @alexeymorozov.

Simplifying requires are good but want to make sure the solution will be clean.

alexeymorozov commented 3 years ago

@skalee We're currently doing and an upgrade from Ruby 2.4.2 (which is already supported) to higher versions (2.4.3 and 2.50 specifically). In my opinion it would be done in the next several days. Even if it wouldn't, we can upgrade it to 2.4.4.

ronaldtse commented 3 years ago

Ping @skalee when do you think we can get this ready? It's becoming a blocker for a number of tasks. Thanks!

alexeymorozov commented 3 years ago

@skalee I'm merging the 2.4.3 now, and starting 2.4.4 instead of 2.4.10/2.5.

skalee commented 3 years ago

@ronaldtse I've overlooked this notification, sorry for late answer! I'll post a more detailed response tomorrow.

I'm merging the 2.4.3 now, and starting 2.4.4 instead of 2.4.10/2.5.

Thanks for info!

skalee commented 3 years ago

I guess tomorrow I'll release first version, but it will be far from complete (no validations, some minor legacy gotchas). Complete enough for IEV XLS parser, though. I was going to make it nice from the beginning, but I've spent much time on that and I guess I'll rather start with something very simplistic, and then add improvements gradually.

ronaldtse commented 3 years ago

@skalee is the gem ready?