0.0
No commit activity in last 3 years
No release in over 3 years
Use dynamic stylesheets compatible with asset pipeline
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

~> 1.3
>= 0
~> 2.13
 Project Readme

DynamicStyles

This little gem add ability for your AR model to have a custom stylesheet, which plays nicely with asset pipeline.

Installation

Add this line to your application's Gemfile:

gem 'dynamic_styles'

And then execute:

$ bundle

Or install it yourself as:

$ gem install dynamic_styles

Usage

Let's say you have a multi-tennant app, and tennants have the ability to modify their styles, which are attributes of Layout AR model.

Just add mount_stylesheet to your Layout model and you'll be able to use layout.scss.erb (the template name is the same as your model) which is gets rendered to assets/stylesheets/layout/filename.css. Filename is created with Layout model timestamp, so this template will be re-rendered when Layout instance gets updated.

In the template you will have 'layout' variable you can use to get the attributes needed. You will need to have some method like current_layout with the instance of you Layout model. To insert link to custom stylesheet in the application.html.erb file just use

<link href="<%= @current_layout.dynamic_stylesheet.path %>" media="screen" rel="stylesheet">

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request