workpattern@library

Workpattern Rubygem CHANGELOG

Workpattern v0.6.0 ( 21 Feb, 2021)

I stopped keeping this Changelog file update back when v0.5.0 was realeased on 19 Oct 2016 and now it is 10Feb 2021 and I’m playing catch-up. I have created the following set of bullet point changes by going through my commit messages, the quality of which varies greatly.
A lot of the effort has been on making the code easier to read as it was a real mess. Here is a chronological take on what I have been doing.

  • removed test warnings by surrounding ambiguous negatives with parenthesis
  • I think a bug was fixed by changing #wee_total and #total to just an attr_writer
  • removed some duplicated code
  • replaced a number of literals with constants which I put in their own file
  • made a lot of the code easier to read, such as extracting to a method with a sensible name or renaming existing ones
  • Workpattern is now tested on Ruby 1.9.3, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, ruby-head, jruby-19mode & jruby-head
  • Created a Day class to remove the complexity from Week so Week deals with weeks and Day with a day
  • My Clock class was replaced by Time or Date objects in all tests. Clock only used for internal stuff now.
  • Switched to sorted_set rubygem after the SortedSet class was removed from Ruby in v3.x.
  • Workpattern now works with ruby 3.0.1dev
  • added Contributor Covenant Code of Conduct

Workpattern v0.5.0 ( Oct 19, 2016)

  • Workpattern now handles Timezones. It changes the date into UTC, does the calculation and then changes it back * Barrie Callender
  • Removed Day class and associated tests as it is no longer used * Barrie Callender
  • Reviewed the README and removed a lot of cruft and also updated it a little to demonstrate features * Barrie Callender
  • Hid documentation unless it was part of the public api * Barrie Callender
  • Used Rubocop to help me be more consistent. I ignored some of the offences to do with long lines/methods and classes * Barrie Callender
  • Code makes use of Time objects where it use to use DateTime. Time comes with a Timezone * Barrie Callender
  • Rewrote/refactored methods in the Week class - which needs refactoring into new classes * Barrie Callender
  • Removed rubyforge_project from workpattern.gemspec * Barrie Callender
  • Added homepage & required_ruby_version to workpattern.gemspec * Barrie Callender
  • Added versions to test in Travis CI to include 1.9.3, 2.0.0, 2.1.0, 2.1.9, 2.2.0, 2.2.5, 2.3.0 & 2.3.1 * Barrie Callender
  • Dealt with Travis CI issue with version of bundler * Barrie Callender
  • Removed config directory & contents * Barrie Callender
  • Changed Description * barrie Callender
  • Specified minitest ~> 5.4.3 due to an issue I no longer recall * Barrie Callender
  • Hid all the documentation apart from public api * Barrie Callender
  • improved the README.md (IMHO) * Barrie Callender

Workpattern v0.4.0 ( May 23, 2014)

  • Updated Week class to use bits and removed Day and Hour class as a consequence * Barrie Callender *
  • This resulted in a performance improvement and some new tests

Workpattern v0.3.6 (Mar 25, 2014)

  • total minutes of week is zero when short week starting after Sunday (#17) * Barrie Callender *
  • Subtracting starting from top of the hour and last minute is non working (#18) * Barrie Callender *
  • Refactorings intended to make the code easier to read and easier to change - still more to do * Barrie Callender *

Workpattern v0.3.5 (Sep 30, 2013)

  • License missing from gemspec (#16) * Barrie Callender *
  • Removed Gemfile.lock from git and updated .gitignore to the bundler defaults * Barrie Callender *

Workpattern v0.3.4 (Sep 27, 2013)

  • diff doesn’t calculate properly from working to resting day (#15) * Barrie Callender *

Workpattern v0.3.3 (Sep 23, 2013)

  • Failed to subtract 1 minute from end of resting hour (#12) * Barrie Callender *
  • Failed to add minutes starting from a resting period in a patterned hour (#13) * Barrie Callender *
  • Failed to subtract the exact amount of minutes from a patterned hour (#14) * Barrie Callender *
  • The two tests no longer fail with Ruby 2.0 (#11) * Barrie Callender *

Workpattern v0.3.2 (Mar 14, 2013)

  • Changed methods on Hour module so as to not clash with Rails (#10) * Barrie Callender *
  • Applied DRY principle to workpattern method in Workpattern class * Barrie Callender *
  • Removed file from emacs backup * Barrie Callender *

Workpattern v0.3.1 (Oct 14, 2012)

  • RDOC documentation not right on rubydoc.info (#5) * Barrie Callender *

Workpattern v0.3.0 (Jul 19, 2012)

  • incomplete tests for week (#2) * Barrie Callender *
  • getting wrong time when hour had exactly the right number of minutes (#9) * Barrie Callender *
  • jruby-19mode failed with SystemStackError: stack level too deep (#8) * Barrie Callender *
  • midnight flag should override hour and minutes (#7) * Barrie Callender *
  • available minutes not calculating correctly for a time of 00:01 (#6) * Barrie Callender *

Workpattern v0.2.0 (May 31, 2012)

  • Rewritten from scratch effectively first version * Barrie Callender *
  • Please discard any version of Workpattern before this - some poor souls may have come across v0.1.0. - sorry! * Barrie Callender *