# pwm pwm very simply generates reasonably secure passwords. That's it; that's all it does. Passwords are chosen from the set of all upper-case letters except I and O, all lower-case letters except l, and the digits 2 through 9. 0 and O are not used to avoid confusion with each other. I, l, and 1 are not used for the same reason. Starting with version 1.1.0, passwords are guaranteed to contain at least one upper-case letter, one lower-case letter, and one number. ## We Interrupt This README.md pwm is a stable, mature piece of code. It's one that I haven't modified significantly in years. Recently, I've become interested in JavaScript and am focusing my attention on a JS rewrite called [powm](https://github.com/markcornick/powm). Unless some kind of serious bug gets found in pwm, I'm unlikely to do any further development on it, or to accept pull requests. Please note that pwm is, and has always been, in the public domain, so if it doesn't do something you want it to do, I not only don't mind if you fork it and make it your own, I urge you to. In short, I'm closing the book on pwm as far as I'm concerned, but if you want to write the next chapter, fork away and do great things with my compliments. _We now return you to README.md already in progress._ ## Installation Add this line to your application's Gemfile: ```ruby gem 'pwm' ``` And then execute: ```bash bundle ``` Or install it yourself as: ```bash gem install pwm ``` ## Usage ```ruby require 'pwm' Pwm.password(length) ``` The default length is 16. The minimum length is 8. Specifying a length less than 8 will raise `Pwm::TooShortException`. You can also call pwm from the command line: ```bash $ pwm h6ECtbDZPnRddHV7 $ echo $? 0 $ pwm 8 XdWod8f8 $ echo $? 0 $ pwm 4 length must be >= 8 $ echo $? 1 ``` ## Development After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests or `rake spec` to run the Cucumber features. You can also run `bin/console` for an interactive prompt that will allow you to experiment. To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org). ## Contributing Bug reports and pull requests are welcome on GitHub at . This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](contributor-covenant.org) code of conduct. ## Author Mark Cornick ## (Lack of) Copyright To the extent possible under law, Mark Cornick has waived all copyright and related or neighboring rights to pwm.