diff --git a/merb-assets/lib/merb-assets/assets_mixin.rb b/merb-assets/lib/merb-assets/assets_mixin.rb index 63c4e5b..b2b3b58 100644 --- a/merb-assets/lib/merb-assets/assets_mixin.rb +++ b/merb-assets/lib/merb-assets/assets_mixin.rb @@ -151,6 +151,10 @@ module Merb end end + APPEND = 'append' + PREPEND = 'prepend' + SET = 'set' + # :section: External JavaScript and Stylesheets # # You can use require_js(:prototype) or require_css(:shinystyles) @@ -295,6 +299,13 @@ module Merb @required_js << js end + def require_order_js(js, placement = APPEND) + @required_js ||= [] + @required_js << [js] if placement == APPEND + @required_js.insert(0, [js]) if placement == PREPEND + @required_js = [[js]] if placement == SET + end + # The require_css method can be used to require any CSS file anywhere in # your templates. Regardless of how many times a single stylesheet is # included with require_css, Merb will only include it once in the header. @@ -316,6 +327,14 @@ module Merb @required_css ||= [] @required_css << css end + + def require_order_css(css, placement = APPEND) + @required_css ||= [] + @required_css << [css] if placement == APPEND + @required_css.insert(0, [css]) if placement == PREPEND + @required_css = [[css]] if placement == SET + end + # A method used in the layout of an application to create +