Top Level Namespace
Defined Under Namespace
Modules: Dashing
Constant Summary collapse
- SCHEDULER =
Rufus::Scheduler.new
Instance Method Summary collapse
- #development? ⇒ Boolean
- #first_dashboard ⇒ Object
- #format_event(body, name = nil) ⇒ Object
- #latest_events ⇒ Object
- #production? ⇒ Boolean
- #require_glob(relative_glob) ⇒ Object
- #send_event(id, body, target = nil) ⇒ Object
- #tilt_html_engines ⇒ Object
Instance Method Details
#development? ⇒ Boolean
12 13 14 |
# File 'lib/dashing/app.rb', line 12 def development? ENV['RACK_ENV'] == 'development' end |
#first_dashboard ⇒ Object
142 143 144 145 146 |
# File 'lib/dashing/app.rb', line 142 def first_dashboard files = Dir[File.join(settings.views, '*')].collect { |f| File.basename(f, '.*') } files -= ['layout'] files.sort.first end |
#format_event(body, name = nil) ⇒ Object
130 131 132 133 134 |
# File 'lib/dashing/app.rb', line 130 def format_event(body, name=nil) str = "" str << "event: #{name}\n" if name str << "data: #{body}\n\n" end |
#latest_events ⇒ Object
136 137 138 139 140 |
# File 'lib/dashing/app.rb', line 136 def latest_events settings.history.inject("") do |str, (id, body)| str << body end end |
#production? ⇒ Boolean
16 17 18 |
# File 'lib/dashing/app.rb', line 16 def production? ENV['RACK_ENV'] == 'production' end |
#require_glob(relative_glob) ⇒ Object
155 156 157 158 159 |
# File 'lib/dashing/app.rb', line 155 def require_glob(relative_glob) Dir[File.join(settings.root, relative_glob)].each do |file| require file end end |
#send_event(id, body, target = nil) ⇒ Object
122 123 124 125 126 127 128 |
# File 'lib/dashing/app.rb', line 122 def send_event(id, body, target=nil) body[:id] = id body[:updatedAt] ||= Time.now.to_i event = format_event(body.to_json, target) Sinatra::Application.settings.history[id] = event unless target == 'dashboards' Sinatra::Application.settings.connections.each { |out| out << event } end |
#tilt_html_engines ⇒ Object
148 149 150 151 152 153 |
# File 'lib/dashing/app.rb', line 148 def tilt_html_engines Tilt.mappings.select do |_, engines| default_mime_type = engines.first.default_mime_type default_mime_type.nil? || default_mime_type == 'text/html' end end |