class Epuber::Compiler::FileTypes::StylusFile

Public Class Methods

find_imports(content) click to toggle source

@return [Array<String>]

# File lib/epuber/compiler/file_types/stylus_file.rb, line 34
def self.find_imports(content)
  content.to_enum(:scan, /^\s*@import ("|')([^'"]*)("|')/).map { Regexp.last_match[2] }
end

Public Instance Methods

find_dependencies() click to toggle source
# File lib/epuber/compiler/file_types/stylus_file.rb, line 28
def find_dependencies
  self.class.find_imports(File.read(abs_source_path))
end
process(compilation_context) click to toggle source

@param [Compiler::CompilationContext] compilation_context

# File lib/epuber/compiler/file_types/stylus_file.rb, line 14
def process(compilation_context)
  return if destination_file_up_to_date?

  Stylus.define('__is_debug', !compilation_context.release_build)
  Stylus.define('__is_verbose_mode', compilation_context.verbose?)
  Stylus.define('__target_name', compilation_context.target.name)
  Stylus.define('__book_title', compilation_context.book.title)
  Stylus.define('__const', compilation_context.target.constants)

  write_compiled(Stylus.compile(File.new(abs_source_path)))

  update_metadata!
end