Class: AdminApi::CodeSnippetsController

Inherits:
AdminApiController show all
Defined in:
lib/nexmo_developer/app/controllers/admin_api/code_snippets_controller.rb

Constant Summary

Constants included from ApplicationHelper

ApplicationHelper::CONFIG

Instance Method Summary collapse

Methods inherited from AdminApiController

#authenticate, #authenticated?

Methods inherited from ApplicationController

#authenticate_admin!, #not_found, #redirect_vonage_domain

Methods included from ApplicationHelper

#active_sidenav_item, #canonical_base, #canonical_base_from_config, #canonical_path, #canonical_url, #dashboard_cookie, #search_enabled?, #set_utm_cookie, #theme

Instance Method Details

#indexObject



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/nexmo_developer/app/controllers/admin_api/code_snippets_controller.rb', line 5

def index
  return unless authenticate

  params.permit!

  @events = Usage::CodeSnippetEvent

  if params[:created_after] || params[:created_before]
    @events = @events.created_between(params[:created_after], params[:created_before])
  end

  query = []
  query.push('snippet = :snippet') if params[:snippet]
  query.push('language = :language') if params[:language]

  unless query.empty?
    @events = @events.where([query.join(' and '), params.to_h])
  end

  @events = @events.group(:snippet, :language, :section, :action).count(:action)
  @events = organize_data(@events)

  render 'index'
end