REPOSITORY OVERVIEWLive repository statistics
★ 2Stars
⑂ 0Forks
◯ 0Open issues
◉ 2Watchers
28/100
OPENREPOHUB HEALTH SIGNALLimited signals
A transparent discovery signal based on current public GitHub metadata.
Recent activity35% weight
10 Community adoption25% weight
5 Maintenance state20% weight
100 License clarity10% weight
0 Project information10% weight
35 This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
README preview
ImpURI
Description
This is a hand-written non-validating parser for URI's and ssh/scp almost URI resource descriptors which is intended to be cleaner and simpler than Ruby's standard URI.
Raison d'etre
I wrote it for two reasons...
-
Ruby's standard URI library doesn't handle ssh/scp resource descriptors, which are the near-to, not quite URI, but commonly used, ssh/scp way of describing a network addressable resource: username:password@host:path. URI's have a scheme at the start, and the path begins with only a forward slash, whereas an ssh/scp resource has no scheme, and the path begins with a colon and a slash. I wanted to be able to handle both.
-
Ruby's standard URI class does too much. It is overblown and untidy. I just want it to break the strings down and that's it. I don't want any scheme interpolation from the port number, nor from the host name, or any other 'smarts'.
Installation
Add this line to your application's Gemfile:
gem 'impuri'
And then execute:
$ bundle
Or install it yourself as:
$ gem install impuri
Usage
impuri = ImpURI.parse('scheme://user:pass@hostname.domain.name:20/path/to/resource?q=param')
# => an object of class ImpURI
impuri.scheme OR impuri.protocol
# => 'scheme'
impuri.userinfo OR impuri.credentials OR impuri.user_info OR impuri.username_and_password
# => 'user:pass'
impuri.user OR impuri.username
# => 'user'
impuri.pass OR impuri.passwd OR impuri.password
# => 'pass'
impuri.host OR impuri.hostname
# => 'hostname.domain.name'
impuri.port OR impuri.portnumber OR impuri.port_number
# => '20'
impuri.path
# => '/path/to/resource'
impuri.parameter_string
# => 'q=param'
impuri.parameters
# => {'q' => 'param'}
Contributing
- Fork it ( https://github.com/thoran/ImpURI/fork )
- Create your feature branch (
git checkout -b my-new-feature)
- Commit your changes (
git commit -am 'Add some feature')
- Push to the branch (
git push origin my-new-feature)
- Create a new pull request
ALGORITHMICALLY RELATEDSimilar Open-Source Projects
Selected from shared topics, language and repository description—not editorial ratings.
This is a list of projects which have curated tasks specifically for new contributors. These issues are a great way to get started with a project, or to help share the load of working on open source projects. Jump in!
81/100 healthRecently updatedActive repositoryHas homepage
JavaScriptNOASSERTION#good-first-issue#help-wanted#javascript#ruby
⑂ 2.3K forks◯ 88 issuesUpdated 1 day ago
Project homepage ↗:school_satchel: :rocket: :tada: A list of interview questions. This repository is everything you need to prepare for your technical interview.
91/100 healthRecently updatedActive repository
MIT#angularjs#asp#cpp#csharp
⑂ 549 forks◯ 17 issuesUpdated today