app/views/homes/show.html.haml
%section#overview
%h2
Overview
%p
Last updated
- if last_updated = @real_time_data.updated_at
= time_ago_in_words(last_updated, :include_seconds => true)
ago
- else
never
.row
.col-xs-12.col-sm-12.col-md-3.col-lg-3
.panel.panel-primary
.panel-heading
= fa_icon("building", :text => "Projects")
.panel-body
%dl.row
%dt.col-xs-6.col-sm-6.col-md-6.col-lg-6
Projects
%dd.col-xs-6.col-sm-6.col-md-6.col-lg-6
= number_to_human(@real_time_data.projects_count)
%dt.col-xs-6.col-sm-6.col-md-6.col-lg-6
Countries
%dd.col-xs-6.col-sm-6.col-md-6.col-lg-6
= number_to_human(@real_time_data.countries_count)
%dt.col-xs-6.col-sm-6.col-md-6.col-lg-6
Continents
%dd.col-xs-6.col-sm-6.col-md-6.col-lg-6
= number_to_human(@real_time_data.continents_count)
.col-xs-12.col-sm-12.col-md-3.col-lg-3
.panel.panel-warning
.panel-heading
= fa_icon("phone", :text => "Calls")
.panel-body
%dl.row
%dt.col-xs-6.col-sm-6.col-md-6.col-lg-6
Inbound
%dd.col-xs-6.col-sm-6.col-md-6.col-lg-6
= pluralize(number_to_human(@real_time_data.calls_inbound_count), "Call")
%br
= pluralize(number_to_human(@real_time_data.calls_inbound_minutes), "Min")
%dt.col-xs-6.col-sm-6.col-md-6.col-lg-6
Outbound
%dd.col-xs-6.col-sm-6.col-md-6.col-lg-6
= pluralize(number_to_human(@real_time_data.calls_outbound_count), "Call")
%br
= pluralize(number_to_human(@real_time_data.calls_outbound_minutes), "Min")
%dt.col-xs-6.col-sm-6.col-md-6.col-lg-6
Total
%dd.col-xs-6.col-sm-6.col-md-6.col-lg-6
= pluralize(number_to_human(@real_time_data.calls_count), "Call")
%br
= pluralize(number_to_human(@real_time_data.calls_minutes), "Min")
.col-xs-12.col-sm-12.col-md-3.col-lg-3
.panel.panel-success
.panel-heading
= fa_icon("bank", :text => "Savings")
.panel-body
%dl.row
%dt.col-xs-6.col-sm-6.col-md-6.col-lg-6
Total Spent
%dd.col-xs-6.col-sm-6.col-md-6.col-lg-6
= @real_time_data.total_amount_spent
%dt.col-xs-6.col-sm-6.col-md-6.col-lg-6
Twilio's Price
%dd.col-xs-6.col-sm-6.col-md-6.col-lg-6
= @real_time_data.total_equivalent_twilio_price
%dt.col-xs-6.col-sm-6.col-md-6.col-lg-6
Total Saved
%dd.col-xs-6.col-sm-6.col-md-6.col-lg-6
= @real_time_data.total_amount_saved
%hr
%section#projects
%h2
Projects
.row.table-responsive
.col-xs-12.col-sm-12.col-md-12.col-lg-12
%table.table.table-striped
%caption
%h5
Legend
.row
.col-xs-6.col-sm-6.col-md-3.col-lg-3
= fa_icon("hashtag", :text => "= Project No.")
.col-xs-6.col-sm-6.col-md-3.col-lg-3
= fa_icon("pencil", :text => "= Name")
.col-xs-6.col-sm-6.col-md-3.col-lg-3
= fa_icon("file-text-o", :text => "= Description")
.col-xs-6.col-sm-6.col-md-3.col-lg-3
= fa_icon("globe", :text => "= Location")
.col-xs-6.col-sm-6.col-md-3.col-lg-3
= fa_icon("edge", :text => "= Homepage")
.col-xs-6.col-sm-6.col-md-3.col-lg-3
= fa_icon("arrow-circle-down")
= fa_icon("phone", :text => "= Inbound Calls")
.col-xs-6.col-sm-6.col-md-3.col-lg-3
= fa_icon("arrow-circle-up")
= fa_icon("phone", :text => "= Outbound Calls")
.col-xs-6.col-sm-6.col-md-3.col-lg-3
= fa_icon("plus-circle")
= fa_icon("phone", :text => "= Total Calls")
.col-xs-6.col-sm-6.col-md-3.col-lg-3
= fa_icon("arrow-circle-down")
= fa_icon("clock-o", :text => "= Inbound Call Minutes")
.col-xs-6.col-sm-6.col-md-3.col-lg-3
= fa_icon("arrow-circle-up")
= fa_icon("clock-o", :text => "= Outbound Call Minutes")
.col-xs-6.col-sm-6.col-md-3.col-lg-3
= fa_icon("plus-circle")
= fa_icon("clock-o", :text => "= Total Call Minutes")
.col-xs-6.col-sm-6.col-md-3.col-lg-3
= fa_icon("money", :text => "= Total Spent")
.col-xs-6.col-sm-6.col-md-3.col-lg-3
= fa_icon("money")
= fa_icon("tags", :text => "= Twilio's Price")
.col-xs-6.col-sm-6.col-md-3.col-lg-3
= fa_icon("bank", :text => "= Total Saved")
.col-xs-6.col-sm-6.col-md-3.col-lg-3
= fa_icon("tag", :text => "= Twilio Pricing")
%thead
%tr
%th
= fa_icon("hashtag")
%th
= fa_icon("pencil")
%th{:title => "Description"}
= fa_icon("file-text-o")
%th{:title => "Project Location"}
= fa_icon("globe")
%th{:title => "Project Homepage"}
= fa_icon("edge")
%th{:title => "Inbound Calls"}
= fa_icon("arrow-circle-down")
= fa_icon("phone")
%th{:title => "Outbound Calls"}
= fa_icon("arrow-circle-up")
= fa_icon("phone")
%th{:title => "Total Calls"}
= fa_icon("plus-circle")
= fa_icon("phone")
%th{:title => "Inbound Call Minutes"}
= fa_icon("arrow-circle-down")
= fa_icon("clock-o")
%th{:title => "Outbound Call Minutes"}
= fa_icon("arrow-circle-up")
= fa_icon("clock-o")
%th{:title => "Total Call Minutes"}
= fa_icon("plus-circle")
= fa_icon("clock-o")
%th{:title => "Total Spent"}
= fa_icon("money")
%th{:title => "Twilio's Price"}
= fa_icon("money")
= fa_icon("tags")
%th{:title => "Total Saved"}
= fa_icon("bank")
%th{:title => "Twilio Pricing"}
= fa_icon("tag")
%tbody
- @projects.each_with_index do |project, index|
%tr{:id => project.id}
%th{:scope => "row"}
= index + 1
%td{:title => "Name"}
= project.name
%td{:title => "Description"}
= truncate(project.description, :length => 40)
%p
%span
= link_to("Read More", project.homepage, :title => "Project Homepage", :target => "_blank")
%td{:title => "Project Location"}
= project.country_name
%td{:title => "Project Homepage"}
= link_to(project.homepage, :title => "Project Homepage", :target => "_blank") do
= fa_icon("edge")
%td{:title => "Inbound Calls"}
= pluralize(number_to_human(project.calls_inbound_count), "Call")
%td{:title => "Outbound Calls"}
= pluralize(number_to_human(project.calls_outbound_count), "Call")
%td{:title => "Total Calls"}
= pluralize(number_to_human(project.calls_count), "Call")
%td{:title => "Inbound Minutes"}
= pluralize(number_to_human(project.calls_inbound_minutes), "Minute")
%td{:title => "Outbound Minutes"}
= pluralize(number_to_human(project.calls_outbound_minutes), "Minute")
%td{:title => "Total Minutes"}
= pluralize(number_to_human(project.calls_minutes), "Minute")
%td{:title => "Total Spent"}
= project.total_amount_spent.format
%td{:title => "Twilio's Price"}
= project.total_equivalent_twilio_price.format
%td{:title => "Total Saved"}
= project.total_amount_saved.format
%td{:title => "Twilio Pricing"}
= link_to(project.twilio_price_voice_url, :title => "Twilio Pricing", :target => "_blank") do
= fa_icon("tag")
%hr
%section#api
%h2
RTD API
.row
.col-xs-12.col-sm-12.col-md-12.col-lg-12
%section#get_real_time_data
%h3
Fetch Real Time Data
%p
Retuns aggregate data about all the projects that are using Somleng.
%h5
API Endpoint
%code
= api_real_time_data_url
%h5
Example: Fetch Real Time Data
%pre
= preserve do
:escaped
$ curl "#{api_real_time_data_url}"
%h5
Example: Filtering by Date
%p
Fetches Real Time Data within the given date range.
%pre
= preserve do
:escaped
$ curl "#{api_real_time_data_url("StartDate" => 1.month.ago.beginning_of_month.to_date, "EndDate" => 1.month.ago.end_of_month.to_date)}"
%h5
Sample Response
%pre
= preserve do
= JSON.pretty_generate(JSON.parse(@real_time_data.to_json))
%section#get_projects
%h3
Fetch Projects
%p
Returns a list of Projects which are currently using Somleng.
%h5
API Endpoint
%code
= api_projects_url
%h5
Example: Fetch all Projects
%pre
= preserve do
:escaped
$ curl #{api_projects_url}
%h5
Example: Filtering by Date
%p
Fetches all projects created within in given date range.
%pre
= preserve do
:escaped
$ curl "#{api_projects_url("StartDate" => 1.month.ago.beginning_of_month.to_date, "EndDate" => 1.month.ago.end_of_month.to_date)}"
- if @projects.any?
%h5
Sample Response
%pre
= preserve do
= JSON.pretty_generate(JSON.parse(@projects.limit(2).to_json))
- project_id = (@sample_project && @sample_project.id) || ":project_id"
%section#get_project
%h3
Fetch a Project
%p
Returns a single project given an id.
%h5
API Endpoint
%code
= api_project_url(project_id)
%h5
Example: Fetch a Project
%pre
= preserve do
:escaped
$ curl "#{api_project_url(project_id)}"
- if @sample_project
%h5
Sample Response
%pre
= preserve do
= JSON.pretty_generate(JSON.parse(@sample_project.to_json))
%section#get_project_real_time_data
%h3
Fetch Real Time Data about a given Project
%p
Returns Real Time Data for a project given a project id.
%h5
API Endpoint
%code
= api_project_real_time_data_url(project_id)
%h5
Example: Fetch Real Time Data for a Project
%pre
= preserve do
:escaped
$ curl "#{api_project_real_time_data_url(project_id)}"
%h5
Sample Response
%pre
= preserve do
= JSON.pretty_generate(JSON.parse(@real_time_data.to_json))