Class: UserStylesheet

Inherits:
Object
  • Object
show all
Defined in:
lib/user_stylesheet.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(env:, scss_variables:, file_info:, scss_info: {}) ⇒ UserStylesheet

Returns a new instance of UserStylesheet.



4
5
6
7
8
9
# File 'lib/user_stylesheet.rb', line 4

def initialize(env:, scss_variables:, file_info:, scss_info: {})
  @env = env
  @scss_variables = OpenStruct.new(scss_variables)
  @file_info = file_info
  @scss_info = scss_info.empty? ? default_scss_info : scss_info
end

Instance Attribute Details

#envObject (readonly)

Returns the value of attribute env.



2
3
4
# File 'lib/user_stylesheet.rb', line 2

def env
  @env
end

#file_infoObject (readonly)

Returns the value of attribute file_info.



2
3
4
# File 'lib/user_stylesheet.rb', line 2

def file_info
  @file_info
end

#scss_fileObject (readonly)

Returns the value of attribute scss_file.



2
3
4
# File 'lib/user_stylesheet.rb', line 2

def scss_file
  @scss_file
end

#scss_infoObject (readonly)

Returns the value of attribute scss_info.



2
3
4
# File 'lib/user_stylesheet.rb', line 2

def scss_info
  @scss_info
end

#scss_variablesObject (readonly)

Returns the value of attribute scss_variables.



2
3
4
# File 'lib/user_stylesheet.rb', line 2

def scss_variables
  @scss_variables
end

Instance Method Details

#compileObject



11
12
13
14
15
16
17
# File 'lib/user_stylesheet.rb', line 11

def compile
  overwrite_scss
  File.write(scss_file.path, render_css)
  newpath = File.join(file_info[:tmp_dir], "#{file_info[:file_name]}.css")
  File.rename(scss_file.path, newpath)
  File.new(newpath)
end