class Optipipe::Mapper

Public Class Methods

get_javascript_mappers(controller_path) click to toggle source
# File lib/optipipe/models/mapper.rb, line 4
def get_javascript_mappers(controller_path)
  get_yaml_data('javascripts')[controller_path]
end
get_stylesheet_mappers(controller_path) click to toggle source
# File lib/optipipe/models/mapper.rb, line 8
def get_stylesheet_mappers(controller_path)
  get_yaml_data('stylesheets')[controller_path]
end
load_yamls!() click to toggle source
# File lib/optipipe/models/mapper.rb, line 12
def load_yamls!
  javascript_files = Dir.glob(Rails.root.join('app', 'assets', 'javascripts', 'optipipe', 'mappers', '*'))
  stylesheet_files = Dir.glob(Rails.root.join('app', 'assets', 'stylesheets', 'optipipe', 'mappers', '*'))

  mapper_data = {
    javascripts: {},
    stylesheets: {}
  }
  javascript_files.sort.each do |yaml_path|
    data = YAML.load(File.open(yaml_path))
    mapper_data[:javascripts][data['controller_path']] ||= []
    mapper_data[:javascripts][data['controller_path']] << data
  end
  stylesheet_files.sort.each do |yaml_path|
    data = YAML.load(File.open(yaml_path))
    mapper_data[:stylesheets][data['controller_path']] ||= []
    mapper_data[:stylesheets][data['controller_path']] << data
  end
  
  Kernel.send(:remove_const, :OPTIPIPE_MAPPER_DATA) if Kernel.const_defined?(:OPTIPIPE_MAPPER_DATA)
  Kernel.const_set(:OPTIPIPE_MAPPER_DATA, Marshal.load(Marshal.dump(mapper_data)))
end

Private Class Methods

get_yaml_data(type) click to toggle source
# File lib/optipipe/models/mapper.rb, line 37
def get_yaml_data(type)
  data = Kernel.const_get(:OPTIPIPE_MAPPER_DATA)
  Marshal.load(Marshal.dump(data))[type.to_sym]
end