assets_offline ====

Stable Version: 0.0.5

This gem is specifically for Rails 3.1 projects that wish to use HTML5 and its offline cache feature with the Asset Pipeline.

Installing -———-

Installation is straight forward simply add the gem to your gemfile and do a bundle install or on the terminal as follows


$ gem install assets_offline

# Last Updated DD/MM/YYYY
application:
  asset-cache:
    - "application.css"
    - "checkout.js"
    - "favicon.ico"
    - "favicon.png"
    - "logo.png"
  cache:
    - "/dictionary.json"
  fallback:
    - "/prompts.json # /prompts.json"
    - "/prices.json # /prices.json"
  network:
    - "/checkout/start_transaction.json"
    - "/checkout/submit_transaction.json"

Documentation -—————————-

The yaml file “assets_offline.yml” needs to be added to the rails config folder. The yaml is split by route name. So the exmaple above can be added to html using “/assets_offline/application”. You can add as many root nodes to the yaml as you require and just add the name to the path to get the generated file.

There are 6 sections to add files to in the Yaml

  • asset-cache
  • cache
  • asset-fallback
  • fallback
  • network
  • asset-network

Sections starting asset will use the rails asset_path() helper to get the file path. Non asset sections will use the path specified. Fallback requires two paths which need to be seperated by a “#”

Manifest file generates a hash key in development this key is changed every 5 seconds so the cache will never function, in production the key is based on the hash of the yaml file. To force a cache refresh you must update the last updated value in the yaml file.

Roadmap -———

  • Rake task to create YAML files
  • Automating key update in production mode
  • Adding directories to cache file rather than individual files

Changelog -———

v0.0.5

  • Beta release

Credits -——

License -——

Copyright © 2011 broomyocymru

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.