Maintains period fields on any counter column in your database
Ruby
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
lib
spec
.gitignore
MIT-LICENSE
README.markdown
Rakefile
require.rb

README.markdown

PeriodicCounter

Maintains period fields on any counter column in your database

Requirements

sudo gem install periodic_counter

Create columns

You should already have a counter column (let's call it X) that is being incremented by some external process.

Add an X_data varchar column with a length of 2048.

Add your periodic counters (all integers):

  • X_last_week
  • X_last_6_hours
  • X_last_sunday
  • X_2_days_ago

Currently only days of the week and ActiveSupport's time extensions are supported for time periods. If no digit is present, "1" is assumed.

Create configuration

Create a file, config/counters.yml:

my_table_name:
  - my_counter

The plugin assumes that the config directory also houses your database.yml file.

Create cron entry

Add the following command to your crontab at a period of your choosing:

cd /path/to/your/app && RAILS_ENV=production periodic_counter