Class: Converter

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Includes:
FileSystem, FlatUIFontsConversion, FlatUIImageConversion, FlatUIJsConversion, FlatUILessConversion
Defined in:
lib/tasks/converter.rb,
lib/tasks/converter/logger.rb,
lib/tasks/converter/filesystem.rb,
lib/tasks/converter/flat_ui_js_conversion.rb,
lib/tasks/converter/flat_ui_less_conversion.rb,
lib/tasks/converter/flat_ui_fonts_conversion.rb,
lib/tasks/converter/flat_ui_images_conversion.rb

Defined Under Namespace

Modules: FileSystem, FlatUIFontsConversion, FlatUIImageConversion, FlatUIJsConversion, FlatUILessConversion Classes: Logger

Constant Summary

Constants included from FlatUILessConversion

FlatUILessConversion::FLAT_UI_MIXINS, FlatUILessConversion::FLAT_UI_OVERRIDE_MIXINS, FlatUILessConversion::FLAT_UI_PRO_MISSING_MODULES

Instance Method Summary collapse

Methods included from FlatUIImageConversion

#flat_ui_image_files, #process_flat_ui_image_assets!

Methods included from FlatUIFontsConversion

#flat_ui_font_files, #process_flat_ui_font_assets!

Methods included from FlatUIJsConversion

#flat_ui_js_files, #process_flat_ui_javascript_assets!

Methods included from FlatUILessConversion

#cleanup_whitespace, #convert_arbitrary_less_ampersand, #create_rule, #extract_and_combine_nested_rules, #fix_flat_ui_image_assets, #fix_relative_asset_url, #fix_variable_declaration_order, #flat_ui_less_files, #load_shared, #parameterize_mixin_parent_selector, #process_flat_ui_stylesheet_assets!, #replace_asset_url, #replace_file_imports, #replace_spin

Methods included from FileSystem

#read_files

Constructor Details

#initialize(type = :free, src_path = './flat-ui', options = {}) ⇒ Converter

Returns a new instance of Converter.



44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/tasks/converter.rb', line 44

def initialize(type = :free, src_path = './flat-ui', options = {})
  @logger     = Logger.new(options[:log_level])
  @src_path = File.expand_path(src_path)
  @type = type
  @output_dir = type == :free ? 'flat-ui' : 'flat-ui-pro'
  @dest_path = {
    js: File.join('vendor/assets/javascripts', @output_dir),
    scss: File.join('vendor/assets/stylesheets', @output_dir),
    fonts: File.join('vendor/assets/fonts', @output_dir),
    images: File.join('vendor/assets/images', @output_dir)
  }
end

Instance Method Details

#free?Boolean

Returns:

  • (Boolean)


81
82
83
# File 'lib/tasks/converter.rb', line 81

def free?
  !pro?
end

#pro?Boolean

Returns:

  • (Boolean)


85
86
87
# File 'lib/tasks/converter.rb', line 85

def pro?
  @type == :pro
end

#process_flat_ui!Object



59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# File 'lib/tasks/converter.rb', line 59

def process_flat_ui!
  log_status 'Convert Flat UI from LESS to SASS'
  log "   type: #{@output_dir}"
  log "  input: #{@src_path}"
  log " output:"
  log "     js: #{@dest_path[:js]}"
  log "   scss: #{@dest_path[:scss]}"
  log "  fonts: #{@dest_path[:fonts]}"
  log " images: #{@dest_path[:images]}"

  setup_file_structure!

  process_flat_ui_stylesheet_assets!
  process_flat_ui_javascript_assets!
  process_flat_ui_font_assets!
  process_flat_ui_image_assets!
end

#save_file(path, content, mode = 'w') ⇒ Object



77
78
79
# File 'lib/tasks/converter.rb', line 77

def save_file(path, content, mode='w')
  File.open(path, mode) { |file| file.write(content) }
end