Class/Module Index [+]

Quicksearch

Compass::Configuration::Serialization

The serialization module manages reading and writing the configuration file(s).

Public Instance Methods

_parse(config_file) click to toggle source

parses a configuration file which is a ruby script

# File lib/compass/configuration/serialization.rb, line 10
def _parse(config_file)
  unless File.readable?(config_file)
    raise Compass::Error, "Configuration file, #{config_file}, not found or not readable."
  end
  open(config_file) do |f|
    parse_string(f.read, config_file)
  end
end
get_binding() click to toggle source
# File lib/compass/configuration/serialization.rb, line 19
def get_binding
  binding
end
issue_deprecation_warnings() click to toggle source
# File lib/compass/configuration/serialization.rb, line 84
def issue_deprecation_warnings
  if http_images_path == :relative
    $stderr.puts "DEPRECATION WARNING: Please set relative_assets = true to enable relative paths."
  end
end
parse(config_file) click to toggle source
# File lib/compass/configuration/serialization.rb, line 5
def parse(config_file)
  raise Compass::Error, "Compass.configuration.parse(filename) has been removed. Please call Compass.add_project_configuration(filename) instead."
end
parse_string(contents, filename) click to toggle source
# File lib/compass/configuration/serialization.rb, line 22
def parse_string(contents, filename)
  bind = get_binding
  eval(contents, bind, filename)
  local_vars_set = eval("local_variables", bind)
  local_vars_set.each do |local_var|
    if (ATTRIBUTES+ARRAY_ATTRIBUTES).include?(local_var.to_sym)
      value = eval(local_var.to_s, bind)
      value = value.to_s if value.is_a?(Pathname)
      self.send("#{local_var}=", value)
    end
  end
  if @added_import_paths
    @added_import_paths.each do |p|
      self.additional_import_paths << p unless self.additional_import_paths.include?(p)
    end
  end
  issue_deprecation_warnings
end
serialize() click to toggle source
# File lib/compass/configuration/serialization.rb, line 41
def serialize
  contents = ""
  (required_libraries || []).each do |lib|
    contents << %{require '#{lib}'\n}
  end
  unless (required_libraries || []).include?("compass/import-once/activate") ||
         (required_libraries || []).include?("compass/import-once")
    contents << "require 'compass/import-once/activate'\n"
  end
  (loaded_frameworks || []).each do |lib|
    contents << %{load '#{lib}'\n}
  end
  (framework_path || []).each do |lib|
    contents << %{discover '#{lib}'\n}
  end
  contents << "# Require any additional compass plugins here.\n"
  contents << "\n" if (required_libraries || []).any?
  (ATTRIBUTES + ARRAY_ATTRIBUTES).each do |prop|
    value = send("#{prop}_without_default")
    if value.is_a?(Proc)
      $stderr.puts "WARNING: #{prop} is code and cannot be written to a file. You'll need to copy it yourself."
    end
    if respond_to?("comment_for_#{prop}")
      contents << "\n"
      contents << send("comment_for_#{prop}")
    end
    if block_given? && (to_emit = yield(prop, value))
      contents << to_emit
    else
      contents << serialize_property(prop, value) unless value.nil?
    end
  end
  contents
end
serialize_property(prop, value) click to toggle source
# File lib/compass/configuration/serialization.rb, line 76
def serialize_property(prop, value)
  if value.respond_to?(:serialize_to_config)
    value.serialize_to_config(prop) + "\n"
  else
    %(#{prop} = #{value.inspect}\n)
  end
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.