Class: WebifyRuby::Convert
- Inherits:
-
Object
- Object
- WebifyRuby::Convert
- Defined in:
- lib/webify_ruby/convert.rb
Instance Attribute Summary collapse
-
#command ⇒ Object
readonly
Returns the value of attribute command.
-
#css ⇒ Object
readonly
Returns the value of attribute css.
-
#desired_dir ⇒ Object
readonly
Returns the value of attribute desired_dir.
-
#file ⇒ Object
readonly
Returns the value of attribute file.
-
#generated ⇒ Object
readonly
Returns the value of attribute generated.
-
#link_to ⇒ Object
readonly
Returns the value of attribute link_to.
-
#original_dir ⇒ Object
readonly
Returns the value of attribute original_dir.
-
#original_file ⇒ Object
readonly
Returns the value of attribute original_file.
-
#output ⇒ Object
readonly
Returns the value of attribute output.
-
#result_dir ⇒ Object
readonly
Returns the value of attribute result_dir.
-
#styles ⇒ Object
readonly
Returns the value of attribute styles.
Instance Method Summary collapse
- #affected_files ⇒ Object
- #generate_css ⇒ Object
-
#initialize(file, dir: nil, css: nil, link_to: nil) ⇒ Convert
constructor
A new instance of Convert.
- #is_valid? ⇒ Boolean
Constructor Details
#initialize(file, dir: nil, css: nil, link_to: nil) ⇒ Convert
Returns a new instance of Convert.
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/webify_ruby/convert.rb', line 10 def initialize(file, dir: nil, css: nil, link_to: nil) [file, dir] @desired_dir = dir @css = css @link_to = link_to raise Errno::ENOENT, "The font file '#{file}' does not exist" unless File.exists?(file) @original_file = file raise Error, "The font file '#{file}' is not valid" unless WebifyRuby::EXT.include? File.extname(@original_file) @original_dir = File.dirname(@original_file) raise Errno::ENOENT, "Can't find directory '#{@original_dir}'" unless File.directory? @original_dir @result_dir = Dir.mktmpdir(nil, destination_dir) FileUtils.cp(@original_file, @result_dir) @file = File.join(@result_dir, File.basename(@original_file)) process if affected_files.to_a.length == 0 WebifyRuby.logger.info "Host did not create any files\n@command\n#{@command}\n@output\n#{@output}\n" end generate_css unless @css.nil? end |
Instance Attribute Details
#command ⇒ Object (readonly)
Returns the value of attribute command.
8 9 10 |
# File 'lib/webify_ruby/convert.rb', line 8 def command @command end |
#css ⇒ Object (readonly)
Returns the value of attribute css.
8 9 10 |
# File 'lib/webify_ruby/convert.rb', line 8 def css @css end |
#desired_dir ⇒ Object (readonly)
Returns the value of attribute desired_dir.
8 9 10 |
# File 'lib/webify_ruby/convert.rb', line 8 def desired_dir @desired_dir end |
#file ⇒ Object (readonly)
Returns the value of attribute file.
8 9 10 |
# File 'lib/webify_ruby/convert.rb', line 8 def file @file end |
#generated ⇒ Object (readonly)
Returns the value of attribute generated.
8 9 10 |
# File 'lib/webify_ruby/convert.rb', line 8 def generated @generated end |
#link_to ⇒ Object (readonly)
Returns the value of attribute link_to.
8 9 10 |
# File 'lib/webify_ruby/convert.rb', line 8 def link_to @link_to end |
#original_dir ⇒ Object (readonly)
Returns the value of attribute original_dir.
8 9 10 |
# File 'lib/webify_ruby/convert.rb', line 8 def original_dir @original_dir end |
#original_file ⇒ Object (readonly)
Returns the value of attribute original_file.
8 9 10 |
# File 'lib/webify_ruby/convert.rb', line 8 def original_file @original_file end |
#output ⇒ Object (readonly)
Returns the value of attribute output.
8 9 10 |
# File 'lib/webify_ruby/convert.rb', line 8 def output @output end |
#result_dir ⇒ Object (readonly)
Returns the value of attribute result_dir.
8 9 10 |
# File 'lib/webify_ruby/convert.rb', line 8 def result_dir @result_dir end |
#styles ⇒ Object (readonly)
Returns the value of attribute styles.
8 9 10 |
# File 'lib/webify_ruby/convert.rb', line 8 def styles @styles end |
Instance Method Details
#affected_files ⇒ Object
40 41 42 |
# File 'lib/webify_ruby/convert.rb', line 40 def affected_files Dir[@result_dir + '/*.{ttf,eot,woff,svg}'].reject { |f| f[@file] } end |
#generate_css ⇒ Object
49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/webify_ruby/convert.rb', line 49 def generate_css needs = affected_files.map { |m| File.extname(m)[1..-1].to_sym } if should_write_css? WebifyRuby::Css.relative_from = @link_to ? nil : @css WebifyRuby::Css.link_to = @link_to end css = WebifyRuby::Css.new(File.basename(@file, ".*"), @file, *needs) @styles = css.result css.write @css if should_write_css? end |
#is_valid? ⇒ Boolean
44 45 46 47 |
# File 'lib/webify_ruby/convert.rb', line 44 def is_valid? false if not @output.include? 'Generating' or @output.include? 'Failed' true end |