Module: Compass::Configuration::Serialization::InstanceMethods
- Defined in:
- lib/compass/configuration/serialization.rb
Instance Method Summary collapse
- #issue_deprecation_warnings ⇒ Object
-
#parse(config_file) ⇒ Object
parses a configuration file which is a ruby script.
- #parse_string(contents, filename) ⇒ Object
- #serialize ⇒ Object
- #serialize_property(prop, value) ⇒ Object
Instance Method Details
#issue_deprecation_warnings ⇒ Object
77 78 79 80 81 |
# File 'lib/compass/configuration/serialization.rb', line 77 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) ⇒ Object
parses a configuration file which is a ruby script
26 27 28 29 30 31 32 33 |
# File 'lib/compass/configuration/serialization.rb', line 26 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 |
#parse_string(contents, filename) ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/compass/configuration/serialization.rb', line 35 def parse_string(contents, filename) bind = binding eval(contents, bind, filename) ATTRIBUTES.each do |prop| value = eval(prop.to_s, bind) rescue nil self.send("#{prop}=", value) if value end if @added_import_paths self.additional_import_paths ||= [] self.additional_import_paths += @added_import_paths end issue_deprecation_warnings end |
#serialize ⇒ Object
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/compass/configuration/serialization.rb', line 49 def serialize contents = "" required_libraries.each do |lib| contents << %Q{require '#{lib}'\n} end contents << "# Require any additional compass plugins here.\n" contents << "\n" if required_libraries.any? 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 << 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) ⇒ Object
73 74 75 |
# File 'lib/compass/configuration/serialization.rb', line 73 def serialize_property(prop, value) %Q(#{prop} = #{value.inspect}\n) end |