Module: StyleGuideAPI
- Defined in:
- lib/styleguide-api.rb,
lib/styleguide-api/version.rb
Defined Under Namespace
Modules: Helpers
Classes: MiddlemanExtension, UnknownTemplateError
Constant Summary
collapse
- VERSION =
"0.2.0"
Class Attribute Summary collapse
Class Method Summary
collapse
Class Attribute Details
.live ⇒ Object
Returns the value of attribute live.
9
10
11
|
# File 'lib/styleguide-api.rb', line 9
def live
@live
end
|
.theme ⇒ Object
Returns the value of attribute theme.
10
11
12
|
# File 'lib/styleguide-api.rb', line 10
def theme
@theme
end
|
Class Method Details
.add_stylesheet(file) ⇒ Object
51
52
53
54
|
# File 'lib/styleguide-api.rb', line 51
def self.add_stylesheet(file)
@stylesheets[theme] ||= []
@stylesheets[theme] << file
end
|
.add_templates(glob, options = {}) ⇒ Object
45
46
47
48
49
|
# File 'lib/styleguide-api.rb', line 45
def self.add_templates(glob, options = {})
current_theme = options[:theme] || theme
@template_paths[current_theme] ||= []
@template_paths[current_theme] << glob
end
|
.data ⇒ Object
33
34
35
36
37
38
|
# File 'lib/styleguide-api.rb', line 33
def self.data
return @data if @data and not (live and @template_paths.any?)
@data = {}
load_templates
@data
end
|
.initialize ⇒ Object
23
24
25
26
27
28
29
30
|
# File 'lib/styleguide-api.rb', line 23
def self.initialize
@live = false
@templates = {}
@template_paths = {}
@data = nil
@theme = nil
@stylesheets = {}
end
|
.load(uri) ⇒ Object
40
41
42
43
|
# File 'lib/styleguide-api.rb', line 40
def self.load(uri)
json = open(uri).read
@data = JSON.parse(json)
end
|
.render(template_name, locals = {}, &block) ⇒ Object
56
57
58
59
60
|
# File 'lib/styleguide-api.rb', line 56
def self.render(template_name, locals = {}, &block)
scope = locals.delete(:scope) || Object.new
template = template_for(template_name)
template.render(scope, locals, &block)
end
|
.stylesheets ⇒ Object
83
84
85
|
# File 'lib/styleguide-api.rb', line 83
def self.stylesheets
data[theme]["stylesheets"] || []
end
|
.template_for(name) ⇒ Object
62
63
64
65
66
67
68
69
|
# File 'lib/styleguide-api.rb', line 62
def self.template_for(name)
@templates[theme][name] if @templates[theme] && @templates[theme][name]
template = data[theme]["templates"].fetch(name) do
fail UnknownTemplateError, name
end
@templates[theme] ||= {}
@templates[theme][name] = Tilt[template["type"]].new { template["source"] }
end
|
.themes ⇒ Object
75
76
77
|
# File 'lib/styleguide-api.rb', line 75
def self.themes
(@template_paths.keys + (@data ? @data.keys : [])).uniq
end
|
.to_json ⇒ Object
79
80
81
|
# File 'lib/styleguide-api.rb', line 79
def self.to_json
data.to_json
end
|