Class: GlobalAssets
- Inherits:
-
Object
- Object
- GlobalAssets
- Defined in:
- lib/global_assets.rb
Class Method Summary collapse
- .erb(template, locals) ⇒ Object
- .inherited(base) ⇒ Object
- .move_global_files ⇒ Object
- .set(key, val) ⇒ Object
- .settings ⇒ Object
- .snippet(name, locals = {}) ⇒ Object
Class Method Details
.erb(template, locals) ⇒ Object
28 29 30 |
# File 'lib/global_assets.rb', line 28 def erb(template, locals) ERB.new(template).result(OpenStruct.new(locals).instance_eval { binding }) end |
.inherited(base) ⇒ Object
8 9 10 11 12 13 14 15 16 |
# File 'lib/global_assets.rb', line 8 def inherited(base) configs = YAML.load_file(File.("config/#{snake_case(base)}.yml")) if configs[snake_case(base)] && configs[snake_case(base)]["target_dirs"] base.set(:target_js, configs[snake_case(base)]["target_dirs"]["js"]) base.set(:target_css, configs[snake_case(base)]["target_dirs"]["css"]) base.set(:target_img, configs[snake_case(base)]["target_dirs"]["img"]) end super end |
.move_global_files ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/global_assets.rb', line 32 def move_global_files # delete all 3 target directories puts "Wiping old global directories..." [settings[:target_js], settings[:target_css], settings[:target_img]].each do |dir| if dir FileUtils.rm_rf(dir) FileUtils.mkdir_p(dir) end end # copy over all 3 source directories to the target dirs if settings[:target_js] puts "Moving global JS..." FileUtils.cp_r(File.join(settings[:source_dir], "js/."), settings[:target_js]) end if settings[:target_css] puts "Moving global CSS..." FileUtils.cp_r(File.join(settings[:source_dir], "css/."), settings[:target_css]) end if settings[:target_img] puts "Moving global Images..." FileUtils.cp_r(File.join(settings[:source_dir], "img/."), settings[:target_img]) end end |
.set(key, val) ⇒ Object
56 57 58 |
# File 'lib/global_assets.rb', line 56 def set(key, val) settings[key] = val end |
.settings ⇒ Object
60 61 62 |
# File 'lib/global_assets.rb', line 60 def settings @settings ||= {} end |
.snippet(name, locals = {}) ⇒ Object
18 19 20 21 22 23 24 25 26 |
# File 'lib/global_assets.rb', line 18 def snippet(name, locals = {}) file_at = File.join(settings[:source_dir], "snippets", name.to_s + ".erb") if(File.exists?(file_at)) ret_val = erb(File.read(file_at), locals) return ret_val.html_safe if ret_val.respond_to?(:html_safe) return ret_val end raise Exception, "Could not find Snippet: [#{name.to_s}]" end |