Class: Hyde::FontRuleset

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(raw_css_ruleset) ⇒ FontRuleset

Returns a new instance of FontRuleset.



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/hyde_fonts/font_ruleset.rb', line 5

def initialize(raw_css_ruleset)
  @ruleset = raw_css_ruleset

  /\/\* (?'character_set'.*) \*\// =~ raw_css_ruleset
  /^\s*font-family:\s'(?'family'[\w]*)';$/ =~ raw_css_ruleset
  /^\s*font-style:\s(?'style'[\w]*);$/ =~ raw_css_ruleset
  /^\s*font-weight:\s(?'weight'[\w]*);$/ =~ raw_css_ruleset
  /\s\ssrc:\surl\((?'uri'.*)\)\s.*\('(?'format'.*)'\);$$/ =~ raw_css_ruleset

  @char_set = character_set
  @family = family
  @style = style
  @weight = weight
  @uri = URI(uri)
  @format = format

  @filename = [@family, @style, @weight, @char_set + "." + @format].join("_")
end

Instance Attribute Details

#char_setObject (readonly)

Returns the value of attribute char_set.



3
4
5
# File 'lib/hyde_fonts/font_ruleset.rb', line 3

def char_set
  @char_set
end

#familyObject (readonly)

Returns the value of attribute family.



3
4
5
# File 'lib/hyde_fonts/font_ruleset.rb', line 3

def family
  @family
end

#filenameObject (readonly)

Returns the value of attribute filename.



3
4
5
# File 'lib/hyde_fonts/font_ruleset.rb', line 3

def filename
  @filename
end

#formatObject (readonly)

Returns the value of attribute format.



3
4
5
# File 'lib/hyde_fonts/font_ruleset.rb', line 3

def format
  @format
end

#local_rule_setObject (readonly)

Returns the value of attribute local_rule_set.



3
4
5
# File 'lib/hyde_fonts/font_ruleset.rb', line 3

def local_rule_set
  @local_rule_set
end

#rulesetObject (readonly)

Returns the value of attribute ruleset.



3
4
5
# File 'lib/hyde_fonts/font_ruleset.rb', line 3

def ruleset
  @ruleset
end

#styleObject (readonly)

Returns the value of attribute style.



3
4
5
# File 'lib/hyde_fonts/font_ruleset.rb', line 3

def style
  @style
end

#uriObject (readonly)

Returns the value of attribute uri.



3
4
5
# File 'lib/hyde_fonts/font_ruleset.rb', line 3

def uri
  @uri
end

#weightObject (readonly)

Returns the value of attribute weight.



3
4
5
# File 'lib/hyde_fonts/font_ruleset.rb', line 3

def weight
  @weight
end

Instance Method Details

#local_ruleset(path) ⇒ Object



24
25
26
# File 'lib/hyde_fonts/font_ruleset.rb', line 24

def local_ruleset(path)
  @ruleset.gsub(/(?<=url\().*(?=\)\s)/, "/" + File.join(path, @filename))
end