Giter VIP home page Giter VIP logo

Comments (14)

tobie avatar tobie commented on June 28, 2024

LGTM.

from ua-parser.

tobie avatar tobie commented on June 28, 2024

Still unsure why the Ruby Gem couldn't be in the same folder, BTW.

from ua-parser.

toolmantim avatar toolmantim commented on June 28, 2024

A few reasons:

  • it's the Right Way to do it - small, composable libraries (and repos) beat large ones with undefined dependencies every time.
  • Travis won't allow multiple-languages per repo
  • I want it to be simple for people to be able to fork and contribute w/o worrying about breaking all the languages

from ua-parser.

tobie avatar tobie commented on June 28, 2024

Your second point seems a valid one. #1and #3 are red herrings, however.

That said, I'm myself in favor of creating an organization and
splitting the repo up, just haven't had the time to look into it nor
to discuss naming with @elsigh.

from ua-parser.

tobie avatar tobie commented on June 28, 2024

Happy to include a link to other implementations in the main README.

from ua-parser.

LeoColomb avatar LeoColomb commented on June 28, 2024

It would be better if you convert this repo to organization, seriously!
All reasons evoked by @toolmantim are good:

it's the Right Way to do it - small, composable libraries (and repos) beat large ones with undefined dependencies

If I work on a PHP project, it’s a pain to systematically remove or bypass other libraries:

  • It may corrupt the project
  • The repo will not appear like an only PHP one

I want it to be simple for people to be able to fork and contribute w/o worrying about breaking all the languages

It’s true. There are lots of commits in each folders, and they can break some pull requests, or make forkers confused.


I add these:

  • It’s not really possible to import with submodules because of first point.
  • All members could follow activities on their libraries more simply.
  • If you turn it on organization, you will be able to create a website, like H5BP Site, and why not a tool to download a single library with the YAML file included.

You have said you haven’t the time to do this. Personally, I'm ready to help in this action, if you want and if you decide to, and create the website :-)

Sorry for my bad English...

from ua-parser.

tobie avatar tobie commented on June 28, 2024

@LeoColomb I'd like to make the move but want a clear strategy on how to share the regexp across repos. Eager to hear your proposal and submit it to @elsigh and @dmolsen.

from ua-parser.

toolmantim avatar toolmantim commented on June 28, 2024

We've been using the git submodule method of embedding the patterns yaml in https://github.com/toolmantim/user_agent_parser with great success, with Travis testing support too. It simply lives under vendor, and the build process only copies the required YAML file, not the entire ua-parser repository. I'd imagine the other libraries could/would do something similar?

If the org gets set up I'd be happy to move the ruby gem there (e.g. http://github.com/ua-parser/ruby)

from ua-parser.

tobie avatar tobie commented on June 28, 2024

What bothers me with this strategy is all projects need to actively upgrade everytime there's a change to the YAML.

from ua-parser.

toolmantim avatar toolmantim commented on June 28, 2024

Quite often the Ruby library has needed to be updated/refactored to handle YAML updates (just as with any type of software dependency). Being able to lock certain versions of the ruby gem to certain versions of the YAML is quite handy, and if there's ever a need for a minor patch release (for security etc) it's trivial.

Unless you want to start branching the YAML repository to ensure you don't make any backwards incompatible changes whilst still updating the patterns, I'd prefer to take on the job of worrying about these things so the user of the gem doesn't have to (but to still providing the option if they want to use a newer, untested YAML file)

from ua-parser.

toolmantim avatar toolmantim commented on June 28, 2024

Also, we live in a world of easy forking, so it's very easy for someone to fork the Ruby library, update the git submodule, and then use that instead of the official gem. Travis will even test their gem against the pattern library for them.

I can't see any reason why someone would want the Ruby version to be the main ua-parser repository. Maybe someone does, but no-one's said anything yet.

So that's the perspective from my side.

I'm also completely happy to keep the current setup.

from ua-parser.

tobie avatar tobie commented on June 28, 2024

That doesn't really address my concern. :(

from ua-parser.

toolmantim avatar toolmantim commented on June 28, 2024

I'm really not sure of the solution… at least a link in the Readme isn't a bad first step though.

from ua-parser.

tobie avatar tobie commented on June 28, 2024

For the ruby lib? Sure. Lets do this. Mind sending a PR?

from ua-parser.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.