Class: CompassIconFonts::Fonts::BaseFont

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

Direct Known Subclasses

Entypo

Instance Method Summary collapse

Instance Method Details

#buildObject



50
51
52
53
54
55
56
57
58
59
60
# File 'lib/compass_icon_fonts/fonts.rb', line 50

def build
  dashed_name = ActiveSupport::Inflector.dasherize(ActiveSupport::Inflector.underscore(name))
  template = 'lib/compass_icon_fonts/templates/font.scss.erb'
  destination = 'stylesheets/compass-icon-fonts/%s.scss' % dashed_name
  erb = ERB.new(File.read(File.expand_path(template, CompassIconFonts.base_directory)))

  locals = { name: name, variable: dashed_name, pairs: pairs, size: size, files: fonts.product(extensions.reject{|ext| ext == 'eot'}).map{|file| file.join '.' } }
  scss = erb.result(OpenStruct.new(locals).instance_eval{ binding })

  File.write(File.expand_path(destination, CompassIconFonts.base_directory), scss)
end

#domObject



42
43
44
# File 'lib/compass_icon_fonts/fonts.rb', line 42

def dom
  Nokogiri::HTML(fetch)
end

#extensionsObject



21
22
23
# File 'lib/compass_icon_fonts/fonts.rb', line 21

def extensions
  %w(eot woff ttf svg)
end

#fetchObject



33
34
35
36
# File 'lib/compass_icon_fonts/fonts.rb', line 33

def fetch
  @raw_response = Net::HTTP.get_response(URI(source_uri))
  @raw_response.body
end

#fontsObject



17
18
19
# File 'lib/compass_icon_fonts/fonts.rb', line 17

def fonts
  []
end

#nameObject



13
14
15
# File 'lib/compass_icon_fonts/fonts.rb', line 13

def name
  self.class.name.split('::').last
end

#pairsObject



46
47
48
# File 'lib/compass_icon_fonts/fonts.rb', line 46

def pairs
  {}
end

#sizeObject



25
26
27
# File 'lib/compass_icon_fonts/fonts.rb', line 25

def size
  '1.25em'
end

#source_uriObject



29
30
31
# File 'lib/compass_icon_fonts/fonts.rb', line 29

def source_uri
  ''
end

#textObject



38
39
40
# File 'lib/compass_icon_fonts/fonts.rb', line 38

def text
  fetch
end