This repository has been archived by the owner. It is now read-only.
Switch branches/tags
Commits on Mar 18, 2011
  1. Updates Base32 API so encode and decode return strings instead of IO …

    byu committed Mar 18, 2011
    * Original encode method was renamed to stream_encode.
    * Original decode method was renamed to stream_decode.
    * New Base32.encode and Base32.decode methods delegate the actual work to
      the corresponding stream methods. These methods now return the string
      output instead of the previously default StringIO objects.
    * Use the stream_* methods to output to IO Objects.
  2. Adds Base32 padding support to encoding and decoding.

    byu committed Mar 18, 2011
    * Base32 encoding will properly pad the final output if necessary.
    * Base32 decode will complete the decode process on reading the pad character.
Commits on Dec 9, 2010
  1. Junkfood::Rack::ChainedRouter now support instance_eval DSL blocks.

    byu committed Dec 9, 2010
    * ChainedRouter constructor had always yielded self to the blocks to configure
      itself with additional routes.
    * Now we only yield self is the block arity is not 0; instance_eval is
      used to execute the blocks in other cases.
    * This allows users to be more succinct in router configuration.
Commits on Nov 20, 2010
  1. Regenerate gemspec for version 0.3.0

    byu committed Nov 20, 2010
  2. Version bump to 0.3.0

    byu committed Nov 20, 2010
Commits on Nov 18, 2010
  1. Changed created_at types from Time to DateTime for BaseCommand and Ba…

    byu committed Nov 18, 2010
    * The DateTime class is more robust than the Time class (Unix posix wrapper).
Commits on Nov 17, 2010
  1. Fix bug: the TransientSession overwrite carried over into alternate c…

    byu committed Nov 17, 2010
    …all stacks.
    * TransientSession used to overwrite the 'rack.session' of a given
      environment settings without duplicating the env.
    * Bug example:
      ChainedRouter is inserted in a Rails application, and has two paths A and B.
      TransientSession is middleware in path A, but path A eventually
      returns an X-Cascade of pass.
      So path B is called with the session values set by path A.
      The end Rails app also has the corrupted session values instead of the
      original cookie sessions.
    * Fix is to duplicate the environment before setting the 'rack.session' key.
  2. Adds Junkfood::Rack::ChainRouter, a Rack Middleware and Application.

    byu committed Nov 17, 2010
    * ChainRouter executes a list of rack applications in consecutive order
      as long as each rack application returns a result with the 'X-Cascade'
      header set to 'pass'.
    * The return results of an application without 'X-Cascade' set to 'pass'
      will be returned, terminating the execution of the rest of the chain.
    * The return results of the last app in the chain is returned regardless
      of the 'X-Cascade' value.
    * As middleware, the configured chain will execute before the main app.
    * An empty chain (including nil rack app) will immediately return
      a "not found" response with the 'X-Cascade' header set to 'pass'.
Commits on Nov 16, 2010
  1. Implemented tests for Base32's split functionality.

    byu committed Nov 16, 2010
    * We want to partition the encoded Base32 output string into fixed sized blocks.
    * Several types of separators are supported: dash, newline, space, underscore.
    * We write tests for each of the separators, and at varying block sizes.
  2. Clean up class level documentation for CEB BaseCommand and BaseEvent.

    byu committed Nov 16, 2010
    * Added example for each base class.
    * Clarified the default fields each base class supports.
    * Clarified how one is to implement actual concrete Command and Events.
Commits on Nov 15, 2010
  1. Regenerate gemspec for version 0.2.0

    byu committed Nov 15, 2010
  2. Version bump to 0.2.0

    byu committed Nov 15, 2010
  3. Adds gem dependencies for each junkfood component to the README.

    byu committed Nov 15, 2010
    * Each component section in the README now lists the main modules that
      its code `requires`.
    * Requirements are really at the component level even though we list
      gem dependencies in the Rakefile and gemspec.
  4. Added Error and Session generic middleware for rack applications.

    byu committed Nov 15, 2010
    * Junkfood::Rack::ErrorHandler is a middleware to catch exceptions from
      rack applications and return formatted JSON responses.
    * Junkfood::Rack::TransientSession is a middleware that simply sets the
      'rack.session' environment variable for other middleware and application.
      Main use case is for 'warden' authentication using per request api tokens.
Commits on Oct 1, 2010
  1. Version bump to 0.1.0

    byu committed Oct 1, 2010
Commits on Sep 24, 2010
  1. Initial commit of the Junkfood library.

    byu committed Sep 24, 2010
    * Adler32 implementation (pure ruby and zlib versions).
    * Assert module for simple Assertions.
    * Base32 encoding and decoding (requires at least Ruby 1.9)
    * Ceb (Command Event Busing) support code to implement Command-Query
      Responsibility Separation.
    * OneTime, an implementation of HMAC One Time Password. Includes Time Based
      OTP support.
    * PaperclipStringIO, an adapter to help store in-memory blobs into paperclip
      enhanecd ActiveModels. This avoids having to go to tmp files.
    * Settings, a centralized yml configuration loader for Rails applications.
    * Includes lots of documentation.
    * Includes lots of rspec. Some specs left unimplemented for experimental code.
    * Includes README, and proper LICENSE files and comments.