Updating all files to Ruby 1.9 hash syntax - warvox - VoIP based wardialing tool, forked from rapid7/warvox.
DIR Log
DIR Files
DIR Refs
DIR README
---
DIR commit 7748223da0e7688d2db2ef51c03b835ad21e25ff
DIR parent df11fd7842f74b579d73011c15cd87a3d27e4e4c
HTML Author: Jay Scott <jay@beardyjay.co.uk>
Date: Mon, 5 Sep 2016 10:39:14 +0000
Updating all files to Ruby 1.9 hash syntax
Diffstat:
D Dockerfile | 27 ---------------------------
M app/controllers/analyze_controller… | 22 +++++++++++-----------
M app/controllers/application_contro… | 4 ++--
M app/controllers/home_controller.rb | 6 +++---
M app/controllers/jobs_controller.rb | 10 +++++-----
M app/controllers/projects_controlle… | 40 ++++++++++++++++----------------
M app/controllers/providers_controll… | 18 +++++++++---------
M app/controllers/user_sessions_cont… | 6 +++---
M app/controllers/users_controller.rb | 8 ++++----
M app/helpers/application_helper.rb | 14 +++++++-------
M app/models/call.rb | 20 ++++++++++----------
M app/models/job.rb | 42 ++++++++++++++++----------------
M app/models/line.rb | 4 ++--
M app/models/project.rb | 10 +++++-----
M app/models/provider.rb | 4 ++--
M app/models/user.rb | 4 ++--
M bin/adduser | 2 +-
M bin/export_audio.rb | 2 +-
M bin/export_list.rb | 2 +-
M bin/iaxrecord.rb | 2 +-
M bin/import_audio.rb | 24 ++++++++++++------------
M bin/resetpw | 2 +-
M bin/worker_manager.rb | 10 +++++-----
M config/routes.rb | 2 +-
M db/migrate/20121228171549_initial_… | 84 ++++++++++++++++----------------
M db/migrate/20130113004653_create_r… | 24 ++++++++++++------------
M lib/warvox/audio/raw.rb | 2 +-
M lib/warvox/jobs/analysis.rb | 32 ++++++++++++++++----------------
M lib/warvox/jobs/dialer.rb | 16 ++++++++--------
M lib/warvox/proto/iax2/client.rb | 8 ++++----
M spec/factories/settings.rb | 2 +-
31 files changed, 213 insertions(+), 240 deletions(-)
---
DIR diff --git a/Dockerfile b/Dockerfile
@@ -1,27 +0,0 @@
-FROM ruby:slim
-MAINTAINER Jay Scott <jay@beardyjay.co.uk>
-
-RUN apt-get update && apt-get -y install \
- gnuplot \
- lame \
- build-essential \
- libssl-dev \
- libcurl4-openssl-dev \
- postgresql-contrib \
- git-core \
- curl \
- libpq-dev \
- sox \
- && rm -rf /var/lib/apt/lists/*
-
-ADD . /opt/warvox
-ADD setup.sh /
-
-WORKDIR /opt/warvox
-RUN ln -s /usr/bin/ruby2.1 /usr/bin/ruby \
- && bundle install \
- && make
-
-EXPOSE 7777
-
-CMD ["/setup.sh"]
DIR diff --git a/app/controllers/analyze_controller.rb b/app/controllers/analyze_controller.rb
@@ -2,8 +2,8 @@ class AnalyzeController < ApplicationController
def index
@jobs = Job.order('id DESC').paginate(
- :page => params[:page],
- :per_page => 30
+ page: params[:page],
+ per_page: 30
)
end
@@ -13,12 +13,12 @@ class AnalyzeController < ApplicationController
@shown = params[:show]
if request.format.html?
- ltypes = Call.select('DISTINCT line_type').where(:job_id => @job_id).map{|r| r.line_type}
+ ltypes = Call.select('DISTINCT line_type').where(job_id: @job_id).map{|r| r.line_type}
res_types = {}
ltypes.each do |k|
next if not k
- res_types[k.capitalize.to_sym] = Call.where(:job_id => @job_id, :line_type => k).count
+ res_types[k.capitalize.to_sym] = Call.where(job_id: @job_id, line_type: k).count
end
@lines_by_type = res_types
@@ -51,7 +51,7 @@ class AnalyzeController < ApplicationController
respond_to do |format|
format.html
format.json {
- render :content_type => 'application/json', :json => render_to_string(:partial => 'view', :results => @results, :lines_by_type => @lines_by_type )
+ render content_type: 'application/json', json: render_to_string(partial: 'view', results: @results, lines_by_type: @lines_by_type )
}
end
@@ -60,9 +60,9 @@ class AnalyzeController < ApplicationController
def view_matches
@result = Call.find(params[:call_id])
@match_scopes = [
- { :scope => 'job', :label => 'This Job' },
- { :scope => 'project', :label => 'This Project' },
- { :scope => 'global', :label => 'All Projects' }
+ { scope: 'job', label: 'This Job' },
+ { scope: 'project', label: 'This Project' },
+ { scope: 'global', label: 'All Projects' }
]
@job_id = params[:job_id]
@@ -111,7 +111,7 @@ class AnalyzeController < ApplicationController
respond_to do |format|
format.html
format.json {
- render :content_type => 'application/json', :json => render_to_string(:partial => 'index', :results => @results, :lines_by_type => @lines_by_type )
+ render content_type: 'application/json', json: render_to_string(partial: 'index', results: @results, lines_by_type: @lines_by_type )
}
end
@@ -122,7 +122,7 @@ class AnalyzeController < ApplicationController
cpath = nil
cdata = "File not found"
- res = CallMedium.where(:call_id => params[:result_id].to_i).first
+ res = CallMedium.where(call_id: params[:result_id].to_i).first
if res
case params[:rtype]
@@ -153,7 +153,7 @@ class AnalyzeController < ApplicationController
end
end
- send_data(cdata, :type => ctype, :disposition => 'inline')
+ send_data(cdata, type: ctype, disposition: 'inline')
end
#
DIR diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb
@@ -52,9 +52,9 @@ private
return true unless current_user
if params[:project_id]
- @project = Project.where(:id => params[:project_id].to_i).first
+ @project = Project.where(id: params[:project_id].to_i).first
elsif session[:project_id]
- @project = Project.where(:id => session[:project_id].to_i).first
+ @project = Project.where(id: session[:project_id].to_i).first
end
if @project and @project.id and not (session[:project_id] and session[:project_id] == @project.id)
DIR diff --git a/app/controllers/home_controller.rb b/app/controllers/home_controller.rb
@@ -18,9 +18,9 @@ class HomeController < ApplicationController
def check
@has_project = ( Project.count > 0 )
- @has_provider = ( Provider.where(:enabled => true).count > 0 )
- @has_job = ( Job.where(:task => 'dialer').count > 0 )
- @has_result = ( Call.where(:answered => true ).count > 0 )
+ @has_provider = ( Provider.where(enabled: true).count > 0 )
+ @has_job = ( Job.where(task: 'dialer').count > 0 )
+ @has_result = ( Call.where(answered: true ).count > 0 )
@has_analysis = ( Call.where('analysis_completed_at IS NOT NULL').count > 0 )
end
DIR diff --git a/app/controllers/jobs_controller.rb b/app/controllers/jobs_controller.rb
@@ -35,9 +35,9 @@ class JobsController < ApplicationController
@job = Job.find(params[:id])
@call_results = {
- :Timeout => @job.calls.where(:answered => false ).count,
- :Busy => @job.calls.where(:busy => true).count,
- :Answered => @job.calls.where(:answered => true).count,
+ Timeout: @job.calls.where(answered: false ).count,
+ Busy: @job.calls.where(busy: true).count,
+ Answered: @job.calls.where(answered: true).count,
}
@@ -145,8 +145,8 @@ class JobsController < ApplicationController
def purge_calls
unless params[:result_ids].blank?
- Call.delete_all(:id => params[:result_ids])
- CallMedium.delete_all(:call_id => params[:result_ids])
+ Call.delete_all(id: params[:result_ids])
+ CallMedium.delete_all(call_id: params[:result_ids])
flash[:notice] = "Purged #{params[:result_ids].length} calls"
end
DIR diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb
@@ -2,34 +2,34 @@ class ProjectsController < ApplicationController
def index
@projects = Project.order('id DESC').paginate(
- :page => params[:page],
- :per_page => 10
+ page: params[:page],
+ per_page: 10
)
@new_project = Project.new
respond_to do |format|
format.html
- format.xml { render :xml => @projects }
+ format.xml { render xml: @projects }
end
end
def show
@project = Project.find(params[:id])
- @active_jobs = @project.jobs.where(:status => 'running', :completed_at => nil)
+ @active_jobs = @project.jobs.where(status: 'running', completed_at: nil)
@inactive_jobs = @project.jobs.order('id DESC').where('status NOT IN (?)', ['submitted', 'scheduled', 'running']).paginate(
- :page => params[:page],
- :per_page => 30
+ page: params[:page],
+ per_page: 30
)
@boxes = {
- :called => { :cnt => @project.calls.count },
- :answered => { :cnt => @project.calls.where(:answered => true).count },
- :analyzed => { :cnt => @project.calls.where('analysis_completed_at IS NOT NULL').count },
- :voice => { :cnt => @project.lines.where(:line_type => 'voice').count },
- :voicemail => { :cnt => @project.lines.where(:line_type => 'voicemail').count },
- :fax => { :cnt => @project.lines.where(:line_type => 'fax').count },
- :modem => { :cnt => @project.lines.where(:line_type => 'modem').count }
+ called: { cnt: @project.calls.count },
+ answered: { cnt: @project.calls.where(answered: true).count },
+ analyzed: { cnt: @project.calls.where('analysis_completed_at IS NOT NULL').count },
+ voice: { cnt: @project.lines.where(line_type: 'voice').count },
+ voicemail: { cnt: @project.lines.where(line_type: 'voicemail').count },
+ fax: { cnt: @project.lines.where(line_type: 'fax').count },
+ modem: { cnt: @project.lines.where(line_type: 'modem').count }
}
if @boxes[:called][:cnt] == 0
@@ -78,7 +78,7 @@ class ProjectsController < ApplicationController
respond_to do |format|
format.html
- format.xml { render :xml => @project }
+ format.xml { render xml: @project }
end
end
@@ -86,7 +86,7 @@ class ProjectsController < ApplicationController
@new_project = Project.new
respond_to do |format|
format.html
- format.xml { render :xml => @new_project }
+ format.xml { render xml: @new_project }
end
end
@@ -102,10 +102,10 @@ class ProjectsController < ApplicationController
respond_to do |format|
if @new_project.save
format.html { redirect_to(project_path(@new_project)) }
- format.xml { render :xml => @project, :status => :created, :location => @new_project }
+ format.xml { render xml: @project, status: :created, location: @new_project }
else
- format.html { render :action => "new" }
- format.xml { render :xml => @new_project.errors, :status => :unprocessable_entity }
+ format.html { render action: "new" }
+ format.xml { render xml: @new_project.errors, status: :unprocessable_entity }
end
end
end
@@ -118,8 +118,8 @@ class ProjectsController < ApplicationController
format.html { redirect_to projects_path }
format.xml { head :ok }
else
- format.html { render :action => "edit" }
- format.xml { render :xml => @project.errors, :status => :unprocessable_entity }
+ format.html { render action: "edit" }
+ format.xml { render xml: @project.errors, status: :unprocessable_entity }
end
end
end
DIR diff --git a/app/controllers/providers_controller.rb b/app/controllers/providers_controller.rb
@@ -3,8 +3,8 @@ class ProvidersController < ApplicationController
def index
@providers = Provider.order('id DESC').paginate(
- :page => params[:page],
- :per_page => 10
+ page: params[:page],
+ per_page: 10
)
@new_provider = Provider.new
@@ -12,7 +12,7 @@ class ProvidersController < ApplicationController
respond_to do |format|
format.html # index.html.erb
- format.xml { render :xml => @providers }
+ format.xml { render xml: @providers }
end
end
@@ -23,7 +23,7 @@ class ProvidersController < ApplicationController
respond_to do |format|
format.html # new.html.erb
- format.xml { render :xml => @provider }
+ format.xml { render xml: @provider }
end
end
@@ -40,10 +40,10 @@ class ProvidersController < ApplicationController
if @provider.save
flash[:notice] = 'Provider was successfully created.'
format.html { redirect_to providers_path }
- format.xml { render :xml => @provider, :status => :created, :location => providers_path }
+ format.xml { render xml: @provider, status: :created, location: providers_path }
else
- format.html { render :action => "new" }
- format.xml { render :xml => @provider.errors, :status => :unprocessable_entity }
+ format.html { render action: "new" }
+ format.xml { render xml: @provider.errors, status: :unprocessable_entity }
end
end
end
@@ -63,8 +63,8 @@ class ProvidersController < ApplicationController
format.html { redirect_to providers_path }
format.xml { head :ok }
else
- format.html { render :action => "edit" }
- format.xml { render :xml => @provider.errors, :status => :unprocessable_entity }
+ format.html { render action: "edit" }
+ format.xml { render xml: @provider.errors, status: :unprocessable_entity }
end
end
end
DIR diff --git a/app/controllers/user_sessions_controller.rb b/app/controllers/user_sessions_controller.rb
@@ -1,6 +1,6 @@
class UserSessionsController < ApplicationController
- before_action :require_no_user, :only => [:new, :create]
- before_action :require_user, :only => :destroy
+ before_action :require_no_user, only: [:new, :create]
+ before_action :require_user, only: :destroy
layout 'login'
def new
@@ -12,7 +12,7 @@ class UserSessionsController < ApplicationController
if @user_session.save
redirect_back_or_default projects_path
else
- render :action => :new
+ render action: :new
end
end
DIR diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb
@@ -1,6 +1,6 @@
class UsersController < ApplicationController
- before_action :require_no_user, :only => [:new, :create]
- before_action :require_user, :only => [:show, :edit, :update]
+ before_action :require_no_user, only: [:new, :create]
+ before_action :require_user, only: [:show, :edit, :update]
def new
@user = User.new
@@ -12,7 +12,7 @@ class UsersController < ApplicationController
flash[:notice] = "Account registered!"
redirect_back_or_default user_path(@user)
else
- render :action => :new
+ render action: :new
end
end
@@ -30,7 +30,7 @@ class UsersController < ApplicationController
flash[:notice] = "Account updated!"
redirect_to user_path(@user)
else
- render :action => :edit
+ render action: :edit
end
end
DIR diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
@@ -2,7 +2,7 @@
module ApplicationHelper
def select_tag_for_filter(nvpairs, params)
- _url = ( url_for :overwrite_params => { }).split('?')[0]
+ _url = ( url_for overwrite_params: { }).split('?')[0]
_html = %{<span class="pull-left filter-label">Filter: </span> }
_html << %{<select name="show" class="filter-select" }
_html << %{onchange="window.location='#{_url}' + '?show=' + this.value"> }
@@ -19,7 +19,7 @@ module ApplicationHelper
end
def select_match_scope(nvpairs, params)
- _url = ( url_for :overwrite_params => { }).split('?')[0]
+ _url = ( url_for overwrite_params: { }).split('?')[0]
_html = %{<span class="pull-left filter-label">Matching Scope: </span> }
_html << %{<select name="match_scope" class="filter-select" }
_html << %{onchange="window.location='#{_url}' + '?match_scope=' + this.value"> }
@@ -45,8 +45,8 @@ module ApplicationHelper
ttip = raw("<div class='task_args_formatted'>")
info.each_pair do |k,v|
- ttip << raw("<div class='task_args_var'>") + h(truncate(k.to_s, :length => 20)) + raw(": </div> ")
- ttip << raw("<div class='task_args_val'>") + h(truncate((v.to_s), :length => 20)) + raw(" </div>")
+ ttip << raw("<div class='task_args_var'>") + h(truncate(k.to_s, length: 20)) + raw(": </div> ")
+ ttip << raw("<div class='task_args_val'>") + h(truncate((v.to_s), length: 20)) + raw(" </div>")
end
ttip << raw("</div>\n")
outp = raw("<span class='xpopover' rel='popover' data-title=\"#{job.task.capitalize} Task ##{job.id}\" data-content=\"#{ttip}\">#{h job.task.capitalize}</span>")
@@ -120,9 +120,9 @@ module ApplicationHelper
def submit_checkboxes_to(name, path, html={})
if html[:confirm]
confirm = html.delete(:confirm)
- link_to(name, "#", html.merge({:onclick => "if(confirm('#{h confirm}')){ submit_checkboxes_to('#{path}','#{form_authenticity_token}')}else{return false;}" }))
+ link_to(name, "#", html.merge({onclick: "if(confirm('#{h confirm}')){ submit_checkboxes_to('#{path}','#{form_authenticity_token}')}else{return false;}" }))
else
- link_to(name, "#", html.merge({:onclick => "submit_checkboxes_to('#{path}','#{form_authenticity_token}')" }))
+ link_to(name, "#", html.merge({onclick: "submit_checkboxes_to('#{path}','#{form_authenticity_token}')" }))
end
end
@@ -143,7 +143,7 @@ module ApplicationHelper
# Generate the markup for the call's row checkbox.
# Returns the String markup html, escaped for json.
def call_checkbox_tag(call)
- check_box_tag("result_ids[]", call.id, false, :id => nil).to_json.html_safe
+ check_box_tag("result_ids[]", call.id, false, id: nil).to_json.html_safe
end
def call_number_html(call)
DIR diff --git a/app/models/call.rb b/app/models/call.rb
@@ -26,20 +26,20 @@
class Call < ApplicationRecord
- reportable :hourly, :aggregation => :count, :grouping => :hour, :live_data => true, :cacheable => false, :limit => 24
- reportable :daily, :aggregation => :count, :grouping => :day, :live_data => true, :cacheable => false, :limit => 7
- reportable :weekly, :aggregation => :count, :grouping => :week, :live_data => true, :cacheable => false, :limit => 52
- reportable :monthly, :aggregation => :count, :grouping => :month, :live_data => true, :cacheable => false, :limit => 12
+ reportable :hourly, aggregation: :count, grouping: :hour, live_data: true, cacheable: false, limit: 24
+ reportable :daily, aggregation: :count, grouping: :day, live_data: true, cacheable: false, limit: 7
+ reportable :weekly, aggregation: :count, grouping: :week, live_data: true, cacheable: false, limit: 52
+ reportable :monthly, aggregation: :count, grouping: :month, live_data: true, cacheable: false, limit: 12
- reportable :analyzed_hourly, :aggregation => :count, :grouping => :hour, :date_column => :analysis_completed_at, :live_data => true, :cacheable => false, :limit => 24
- reportable :analyzed_daily, :aggregation => :count, :grouping => :day, :date_column => :analysis_completed_at, :live_data => true, :cacheable => false, :limit => 7
- reportable :analyzed_weekly, :aggregation => :count, :grouping => :week, :date_column => :analysis_completed_at, :live_data => true, :cacheable => false, :limit => 52
- reportable :analyzed_monthly, :aggregation => :count, :grouping => :month, :date_column => :analysis_completed_at, :live_data => true, :cacheable => false, :limit => 12
+ reportable :analyzed_hourly, aggregation: :count, grouping: :hour, date_column: :analysis_completed_at, live_data: true, cacheable: false, limit: 24
+ reportable :analyzed_daily, aggregation: :count, grouping: :day, date_column: :analysis_completed_at, live_data: true, cacheable: false, limit: 7
+ reportable :analyzed_weekly, aggregation: :count, grouping: :week, date_column: :analysis_completed_at, live_data: true, cacheable: false, limit: 52
+ reportable :analyzed_monthly, aggregation: :count, grouping: :month, date_column: :analysis_completed_at, live_data: true, cacheable: false, limit: 12
belongs_to :project
belongs_to :provider
belongs_to :job
- has_one :call_medium, :dependent => :delete
+ has_one :call_medium, dependent: :delete
def matches
# "AND (( icount(\'{#{fprint.map{|x| x.to_s}.join(",")}}\'::int[] & calls.fprint::int[]) / icount(\'{#{fprint.map{|x| x.to_s}.join(",")}}'::int[])::float ) * 100.0 ) > 10.0 " +
@@ -103,7 +103,7 @@ class Call < ApplicationRecord
args << min_match.to_f
query = [match_sql, *args]
- Call.paginate_by_sql(query, :page => page, :per_page => per_page)
+ Call.paginate_by_sql(query, page: page, per_page: per_page)
end
def media
DIR diff --git a/app/models/job.rb b/app/models/job.rb
@@ -20,10 +20,10 @@
class Job < ApplicationRecord
- reportable :hourly, :aggregation => :count, :grouping => :hour, :date_column => :created_at, :cacheable => false
- reportable :daily, :aggregation => :count, :grouping => :day, :date_column => :created_at, :cacheable => false
- reportable :weeky, :aggregation => :count, :grouping => :week, :date_column => :created_at, :cacheable => false
- reportable :monthly, :aggregation => :count, :grouping => :month, :date_column => :created_at, :cacheable => false
+ reportable :hourly, aggregation: :count, grouping: :hour, date_column: :created_at, cacheable: false
+ reportable :daily, aggregation: :count, grouping: :day, date_column: :created_at, cacheable: false
+ reportable :weeky, aggregation: :count, grouping: :week, date_column: :created_at, cacheable: false
+ reportable :monthly, aggregation: :count, grouping: :month, date_column: :created_at, cacheable: false
class JobValidator < ActiveModel::Validator
def validate(record)
@@ -54,10 +54,10 @@ class Job < ApplicationRecord
unless ['calls', 'job', 'project', 'global'].include?(record.scope)
record.errors[:scope] << "Scope must be calls, job, project, or global"
end
- if record.scope == "job" and Job.where(:id => record.target_id.to_i, :task => ['import', 'dialer']).count == 0
+ if record.scope == "job" and Job.where(id: record.target_id.to_i, task: ['import', 'dialer']).count == 0
record.errors[:job_id] << "The job_id is not valid"
end
- if record.scope == "project" and Project.where(:id => record.target_id.to_i).count == 0
+ if record.scope == "project" and Project.where(id: record.target_id.to_i).count == 0
record.errors[:project_id] << "The project_id is not valid"
end
if record.scope == "calls" and (record.target_ids.nil? or record.target_ids.length == 0)
@@ -71,7 +71,7 @@ class Job < ApplicationRecord
end
# XXX: Purging a single job will be slow, but deleting the project is fast
- has_many :calls, :dependent => :destroy
+ has_many :calls, dependent: :destroy
belongs_to :project
@@ -97,9 +97,9 @@ class Job < ApplicationRecord
def update_progress(pct)
if pct >= 100
- self.class.where(id: self.id).update_all(:progress => pct, :completed_at => Time.now, :status => 'completed')
+ self.class.where(id: self.id).update_all(progress: pct, completed_at: Time.now, status: 'completed')
else
- self.class.where(id: self.id).update_all(:progress => pct)
+ self.class.where(id: self.id).update_all(progress: pct)
end
end
@@ -112,10 +112,10 @@ class Job < ApplicationRecord
when 'dialer'
self.status = 'submitted'
self.args = Marshal.dump({
- :range => self.range,
- :lines => self.lines.to_i,
- :seconds => self.seconds.to_i,
- :cid_mask => self.cid_mask
+ range: self.range,
+ lines: self.lines.to_i,
+ seconds: self.seconds.to_i,
+ cid_mask: self.cid_mask
})
return self.save
@@ -123,18 +123,18 @@ class Job < ApplicationRecord
when 'analysis'
self.status = 'submitted'
d = {
- :scope => self.scope, # job / project/ global
- :force => !!(self.force), # true / false
- :target_id => self.target_id.to_i, # job_id or project_id or nil
- :target_ids => (self.target_ids || []).map{|x| x.to_i }
+ scope: self.scope, # job / project/ global
+ force: !!(self.force), # true / false
+ target_id: self.target_id.to_i, # job_id or project_id or nil
+ target_ids: (self.target_ids || []).map{|x| x.to_i }
}
$stderr.puts d.inspect
self.args = Marshal.dump({
- :scope => self.scope, # job / project/ global
- :force => !!(self.force), # true / false
- :target_id => self.target_id.to_i, # job_id or project_id or nil
- :target_ids => (self.target_ids || []).map{|x| x.to_i }
+ scope: self.scope, # job / project/ global
+ force: !!(self.force), # true / false
+ target_id: self.target_id.to_i, # job_id or project_id or nil
+ target_ids: (self.target_ids || []).map{|x| x.to_i }
})
return self.save
else
DIR diff --git a/app/models/line.rb b/app/models/line.rb
@@ -12,7 +12,7 @@
#
class Line < ApplicationRecord
- has_many :line_attributes, :dependent => :delete_all
+ has_many :line_attributes, dependent: :delete_all
belongs_to :project
def set_attribute(name, value, ctype='text/plain')
@@ -24,6 +24,6 @@ class Line < ApplicationRecord
end
def get_attribute(name)
- LineAttribute.where(:line_id => self[:id], :name => name).first
+ LineAttribute.where(line_id: self[:id], name: name).first
end
end
DIR diff --git a/app/models/project.rb b/app/models/project.rb
@@ -18,9 +18,9 @@ class Project < ApplicationRecord
validates_uniqueness_of :name
# This is optimized for fast project deletion, even with thousands of calls/jobs/lines
- has_many :lines, :dependent => :delete_all
- has_many :line_attributes, :dependent => :delete_all
- has_many :calls, :dependent => :delete_all
- has_many :call_media, :dependent => :delete_all
- has_many :jobs, :dependent => :delete_all
+ has_many :lines, dependent: :delete_all
+ has_many :line_attributes, dependent: :delete_all
+ has_many :calls, dependent: :delete_all
+ has_many :call_media, dependent: :delete_all
+ has_many :jobs, dependent: :delete_all
end
DIR diff --git a/app/models/provider.rb b/app/models/provider.rb
@@ -18,6 +18,6 @@ class Provider < ApplicationRecord
has_many :dial_results
validates_presence_of :name, :host, :port, :user, :pass, :lines
- validates_numericality_of :port, :less_than => 65536, :greater_than => 0
- validates_numericality_of :lines, :less_than => 255, :greater_than => 0
+ validates_numericality_of :port, less_than: 65536, greater_than: 0
+ validates_numericality_of :lines, less_than: 255, greater_than: 0
end
DIR diff --git a/app/models/user.rb b/app/models/user.rb
@@ -27,8 +27,8 @@ class User < ApplicationRecord
include RailsSettings::Extend
acts_as_authentic do |c|
c.validate_email_field = false
- c.merge_validates_length_of_password_field_options :minimum => 8
- c.merge_validates_length_of_password_confirmation_field_options :minimum => 8
+ c.merge_validates_length_of_password_field_options minimum: 8
+ c.merge_validates_length_of_password_confirmation_field_options minimum: 8
c.logged_in_timeout = 1.day
end
end
DIR diff --git a/bin/adduser b/bin/adduser
@@ -9,7 +9,7 @@ require 'bundler/setup'
# rails/all must be required explicitly to get the railties that pro/ui/config/application.rb uses
require 'rails/all'
# require all the gems in the current environment
-Bundler.require(*Rails.groups(:assets => %w(development test cucumber)))
+Bundler.require(*Rails.groups(assets: %w(development test cucumber)))
APP_PATH = File.expand_path('../../config/application', __FILE__)
require File.expand_path('../../config/boot', __FILE__)
DIR diff --git a/bin/export_audio.rb b/bin/export_audio.rb
@@ -49,7 +49,7 @@ end
FileUtils.mkdir_p(output)
begin
- cond = { :project_id => project_id.to_i, :answered => true, :busy => false }
+ cond = { project_id: project_id.to_i, answered: true, busy: false }
if line_type
cond[:line_type] = line_type.downcase
end
DIR diff --git a/bin/export_list.rb b/bin/export_list.rb
@@ -51,7 +51,7 @@ end
fields = %W{ number line_type caller_id answered busy audio_length ring_length peak_freq }
begin
$stdout.puts fields.to_csv
- cond = { :project_id => project_id.to_i }
+ cond = { project_id: project_id.to_i }
if line_type
cond[:line_type] = line_type.downcase
end
DIR diff --git a/bin/iaxrecord.rb b/bin/iaxrecord.rb
@@ -16,7 +16,7 @@ require "optparse"
parser = OptionParser.new
opts = {
- :recording_time => 52
+ recording_time: 52
}
parser.banner = "Usage: #{$0} [options]"
DIR diff --git a/bin/import_audio.rb b/bin/import_audio.rb
@@ -49,7 +49,7 @@ project = nil
provider = nil
if project_id
- project = Project.where(:id => project_id).first
+ project = Project.where(id: project_id).first
unless project
$stderr.puts "Error: Specified Project ID not found"
exit(1)
@@ -57,7 +57,7 @@ if project_id
end
if provider_id
- provider = Provider.where(:id => provider_id).first
+ provider = Provider.where(id: provider_id).first
unless provider
$stderr.puts "Error: Specified Provider ID not found"
exit(1)
@@ -66,21 +66,21 @@ end
unless project
project = Project.create(
- :name => "Import from #{dir} at #{Time.now.utc.to_s}",
- :created_by => "importer"
+ name: "Import from #{dir} at #{Time.now.utc.to_s}",
+ created_by: "importer"
)
end
provider = Provider.first
unless provider
provider = Provider.create(
- :name => 'Import Provider',
- :host => 'localhost',
- :port => 4369,
- :user => "null",
- :pass => "null",
- :lines => 1,
- :enabled => false
+ name: 'Import Provider',
+ host: 'localhost',
+ port: 4369,
+ user: "null",
+ pass: "null",
+ lines: 1,
+ enabled: false
)
end
@@ -92,7 +92,7 @@ job.locked_at = Time.now.utc
job.started_at = Time.now.utc
job.created_by = "importer"
job.task = "import"
-job.args = Marshal.dump({ :directory => dir, :project_id => project.id, :provider_id => provider.id })
+job.args = Marshal.dump({ directory: dir, project_id: project.id, provider_id: provider.id })
job.status = "running"
job.save!
DIR diff --git a/bin/resetpw b/bin/resetpw
@@ -9,7 +9,7 @@ require 'bundler/setup'
# rails/all must be required explicitly to get the railties that pro/ui/config/application.rb uses
require 'rails/all'
# require all the gems in the current environment
-Bundler.require(*Rails.groups(:assets => %w(development test cucumber)))
+Bundler.require(*Rails.groups(assets: %w(development test cucumber)))
APP_PATH = File.expand_path('../../config/application', __FILE__)
require File.expand_path('../../config/boot', __FILE__)
DIR diff --git a/bin/worker_manager.rb b/bin/worker_manager.rb
@@ -32,7 +32,7 @@ def stop
end
# Update the database
- Job.update_all({ :status => "stopped", :completed_at => Time.now.utc}, { :id => @jobs.map{|j| j[:id] } })
+ Job.update_all({ status: "stopped", completed_at: Time.now.utc}, { id: @jobs.map{|j| j[:id] } })
# Signal running jobs to shut down
@jobs.map{|j| Process.kill("TERM", j[:pid]) rescue nil }
@@ -55,8 +55,8 @@ end
def schedule_job(j)
WarVOX::Log.debug("Worker Manager is launching job #{j.id}")
@jobs << {
- :id => j.id,
- :pid => Process.fork { exec("#{@worker_path} #{j.id}") }
+ id: j.id,
+ pid: Process.fork { exec("#{@worker_path} #{j.id}") }
}
end
@@ -67,7 +67,7 @@ def stop_cancelled_jobs
end
return if jids.length == 0
- Job.where(:status => 'cancelled', :id => jids).find_each do |j|
+ Job.where(status: 'cancelled', id: jids).find_each do |j|
job = @jobs.select{ |o| o[:id] == j.id }.first
next unless job and job[:pid]
pid = job[:pid]
@@ -131,7 +131,7 @@ def clear_stale_jobs
# Mark these jobs as abandoned
if dead.length > 0
WarVOX::Log.debug("Worker Manager is marking #{dead.length} jobs as abandoned")
- Job.where(:id => dead).update_all({locked_by: nil, status: 'abandoned'})
+ Job.where(id: dead).update_all({locked_by: nil, status: 'abandoned'})
end
end
DIR diff --git a/config/routes.rb b/config/routes.rb
@@ -50,5 +50,5 @@ Rails.application.routes.draw do
get '/help' => 'home#help', :as => :help
get '/check' => 'home#check', :as => :check
- root :to => "projects#index"
+ root to: "projects#index"
end
DIR diff --git a/db/migrate/20121228171549_initial_schema.rb b/db/migrate/20121228171549_initial_schema.rb
@@ -5,27 +5,27 @@ class InitialSchema < ActiveRecord::Migration[5.0]
execute("CREATE EXTENSION IF NOT EXISTS intarray")
create_table :settings do |t|
- t.string :var, :null => false
- t.text :value, :null => true
- t.integer :thing_id, :null => true
- t.string :thing_type, :limit => 30, :null => true
+ t.string :var, null: false
+ t.text :value, null: true
+ t.integer :thing_id, null: true
+ t.string :thing_type, limit: 30, null: true
t.timestamps null: false
end
- add_index :settings, [ :thing_type, :thing_id, :var ], :unique => true
+ add_index :settings, [ :thing_type, :thing_id, :var ], unique: true
create_table 'users' do |t|
- t.string :login, :null => false # optional, you can use email instead, or both
- t.string :email, :null => true # optional, you can use login instead, or both
- t.string :crypted_password, :null => false # optional, see below
- t.string :password_salt, :null => false # optional, but highly recommended
- t.string :persistence_token, :null => false # required
- t.string :single_access_token, :null => false # optional, see Authlogic::Session::Params
- t.string :perishable_token, :null => false # optional, see Authlogic::Session::Perishability
+ t.string :login, null: false # optional, you can use email instead, or both
+ t.string :email, null: true # optional, you can use login instead, or both
+ t.string :crypted_password, null: false # optional, see below
+ t.string :password_salt, null: false # optional, but highly recommended
+ t.string :persistence_token, null: false # required
+ t.string :single_access_token, null: false # optional, see Authlogic::Session::Params
+ t.string :perishable_token, null: false # optional, see Authlogic::Session::Perishability
# Magic columns, just like ActiveRecord's created_at and updated_at. These are automatically maintained by Authlogic if they are present.
- t.integer :login_count, :null => false, :default => 0 # optional, see Authlogic::Session::MagicColumns
- t.integer :failed_login_count, :null => false, :default => 0 # optional, see Authlogic::Session::MagicColumns
+ t.integer :login_count, null: false, default: 0 # optional, see Authlogic::Session::MagicColumns
+ t.integer :failed_login_count, null: false, default: 0 # optional, see Authlogic::Session::MagicColumns
t.datetime :last_request_at # optional, see Authlogic::Session::MagicColumns
t.datetime :current_login_at # optional, see Authlogic::Session::MagicColumns
t.datetime :last_login_at # optional, see Authlogic::Session::MagicColumns
@@ -33,13 +33,13 @@ class InitialSchema < ActiveRecord::Migration[5.0]
t.string :last_login_ip # optional, see Authlogic::Session::MagicColumns
t.timestamps null: false
- t.boolean "enabled", :default => true
- t.boolean "admin", :default => true
+ t.boolean "enabled", default: true
+ t.boolean "admin", default: true
end
create_table 'projects' do |t|
t.timestamps null: false
- t.text "name", :null => false
+ t.text "name", null: false
t.text "description"
t.text "included"
t.text "excluded"
@@ -48,43 +48,43 @@ class InitialSchema < ActiveRecord::Migration[5.0]
create_table "jobs" do |t|
t.timestamps null: false
- t.integer "project_id", :null => false
+ t.integer "project_id", null: false
t.string "locked_by"
t.timestamp "locked_at"
t.timestamp "started_at"
t.timestamp "completed_at"
t.string "created_by"
- t.string "task", :null => false
+ t.string "task", null: false
t.binary "args"
t.string "status"
t.text "error"
- t.integer "progress", :default => 0
+ t.integer "progress", default: 0
end
create_table "lines" do |t|
t.timestamps null: false
- t.text "number", :null => false
- t.integer "project_id", :null => false
+ t.text "number", null: false
+ t.integer "project_id", null: false
t.text "line_type"
t.text "notes"
end
create_table "line_attributes" do |t|
t.timestamps null: false
- t.integer "line_id", :null => false
- t.integer "project_id", :null => false
- t.text "name", :null => false
- t.binary "value", :null => false
- t.string "content_type", :default => "text"
+ t.integer "line_id", null: false
+ t.integer "project_id", null: false
+ t.text "name", null: false
+ t.binary "value", null: false
+ t.string "content_type", default: "text"
end
create_table "calls" do |t|
# Created by the dialer job
t.timestamps null: false
- t.text "number", :null => false
- t.integer "project_id", :null => false
- t.integer "job_id", :null => false
- t.integer "provider_id", :null => false
+ t.text "number", null: false
+ t.integer "project_id", null: false
+ t.integer "job_id", null: false
+ t.integer "provider_id", null: false
t.boolean "answered"
t.boolean "busy"
t.text "error"
@@ -99,12 +99,12 @@ class InitialSchema < ActiveRecord::Migration[5.0]
t.float "peak_freq"
t.text "peak_freq_data"
t.text "line_type"
- t.integer "fprint", :array => true
+ t.integer "fprint", array: true
end
create_table "call_media" do |t|
- t.integer "call_id", :null => false
- t.integer "project_id", :null => false
+ t.integer "call_id", null: false
+ t.integer "project_id", null: false
t.binary "audio"
t.binary "mp3"
t.binary "png_big"
@@ -116,7 +116,7 @@ class InitialSchema < ActiveRecord::Migration[5.0]
create_table "signatures" do |t|
t.timestamps null: false
- t.text "name", :null => false
+ t.text "name", null: false
t.string "source"
t.text "description"
t.string "category"
@@ -125,19 +125,19 @@ class InitialSchema < ActiveRecord::Migration[5.0]
end
create_table "signature_fp" do |t|
- t.integer "signature_id", :null => false
- t.integer "fprint", :array => true
+ t.integer "signature_id", null: false
+ t.integer "fprint", array: true
end
create_table "providers" do |t|
t.timestamps null: false
- t.text "name", :null => false
- t.text "host", :null => false
- t.integer "port", :null => false
+ t.text "name", null: false
+ t.text "host", null: false
+ t.integer "port", null: false
t.text "user"
t.text "pass"
- t.integer "lines", :null => false, :default => 1
- t.boolean "enabled", :default => true
+ t.integer "lines", null: false, default: 1
+ t.boolean "enabled", default: true
end
add_index :jobs, :project_id
DIR diff --git a/db/migrate/20130113004653_create_reportable_cache.rb b/db/migrate/20130113004653_create_reportable_cache.rb
@@ -1,13 +1,13 @@
class CreateReportableCache < ActiveRecord::Migration[5.0]
def up
- create_table :reportable_cache, :force => true do |t|
- t.string :model_name, :null => false, :limit => 100
- t.string :report_name, :null => false, :limit => 100
- t.string :grouping, :null => false, :limit => 10
- t.string :aggregation, :null => false, :limit => 10
- t.string :conditions, :null => false, :limit => 100
- t.float :value, :null => false, :default => 0
- t.datetime :reporting_period, :null => false
+ create_table :reportable_cache, force: true do |t|
+ t.string :model_name, null: false, limit: 100
+ t.string :report_name, null: false, limit: 100
+ t.string :grouping, null: false, limit: 10
+ t.string :aggregation, null: false, limit: 10
+ t.string :conditions, null: false, limit: 100
+ t.float :value, null: false, default: 0
+ t.datetime :reporting_period, null: false
t.timestamps null: false
end
@@ -18,7 +18,7 @@ class CreateReportableCache < ActiveRecord::Migration[5.0]
:grouping,
:aggregation,
:conditions
- ], :name => :name_model_grouping_agregation
+ ], name: :name_model_grouping_agregation
add_index :reportable_cache, [
:model_name,
:report_name,
@@ -26,12 +26,12 @@ class CreateReportableCache < ActiveRecord::Migration[5.0]
:aggregation,
:conditions,
:reporting_period
- ], :unique => true, :name => :name_model_grouping_aggregation_period
+ ], unique: true, name: :name_model_grouping_aggregation_period
end
def self.down
- remove_index :reportable_cache, :name => :name_model_grouping_agregation
- remove_index :reportable_cache, :name => :name_model_grouping_aggregation_period
+ remove_index :reportable_cache, name: :name_model_grouping_agregation
+ remove_index :reportable_cache, name: :name_model_grouping_aggregation_period
drop_table :reportable_cache
end
DIR diff --git a/lib/warvox/audio/raw.rb b/lib/warvox/audio/raw.rb
@@ -88,7 +88,7 @@ class Raw
raise RuntimeError, "The sox binary could not be find, make sure it is installed"
end
- o, s = Open3.capture2("#{sox} -t raw -b 16 -e signed-integer -r 8000 - -t flac -r 16000 -", :binmode => true, :stdin_data => self.to_raw)
+ o, s = Open3.capture2("#{sox} -t raw -b 16 -e signed-integer -r 8000 - -t flac -r 16000 -", binmode: true, stdin_data: self.to_raw)
o
end
DIR diff --git a/lib/warvox/jobs/analysis.rb b/lib/warvox/jobs/analysis.rb
@@ -72,27 +72,27 @@ class Analysis < Base
case @conf[:scope]
when 'calls'
if @conf[:force]
- query = {:id => @conf[:target_ids], :answered => true, :busy => false}
+ query = {id: @conf[:target_ids], answered: true, busy: false}
else
- query = {:id => @conf[:target_ids], :answered => true, :busy => false, :analysis_started_at => nil}
+ query = {id: @conf[:target_ids], answered: true, busy: false, analysis_started_at: nil}
end
when 'job'
if @conf[:force]
- query = {:job_id => @conf[:target_id], :answered => true, :busy => false}
+ query = {job_id: @conf[:target_id], answered: true, busy: false}
else
- query = {:job_id => @conf[:target_id], :answered => true, :busy => false, :analysis_started_at => nil}
+ query = {job_id: @conf[:target_id], answered: true, busy: false, analysis_started_at: nil}
end
when 'project'
if @conf[:force]
- query = {:project_id => @conf[:target_id], :answered => true, :busy => false}
+ query = {project_id: @conf[:target_id], answered: true, busy: false}
else
- query = {:project_id => @conf[:target_id], :answered => true, :busy => false, :analysis_started_at => nil}
+ query = {project_id: @conf[:target_id], answered: true, busy: false, analysis_started_at: nil}
end
when 'global'
if @conf[:force]
- query = {:answered => true, :busy => false}
+ query = {answered: true, busy: false}
else
- query = {:answered => true, :busy => false, :analysis_started_at => nil}
+ query = {answered: true, busy: false, analysis_started_at: nil}
end
else
# Bail if we don't have a valid scope
@@ -295,14 +295,14 @@ class Analysis < Base
sproc = Classifier.new
sproc.data =
{
- :raw => raw,
- :freq => freq,
- :fcnt => fcnt,
- :fft => fft,
- :pks => pks,
- :pkz => pkz,
- :maxf => maxf,
- :maxp => maxp
+ raw: raw,
+ freq: freq,
+ fcnt: fcnt,
+ fft: fft,
+ pks: pks,
+ pkz: pkz,
+ maxf: maxf,
+ maxp: maxp
}
WarVOX::Config.classifiers_load.each do |sigfile|
DIR diff --git a/lib/warvox/jobs/dialer.rb b/lib/warvox/jobs/dialer.rb
@@ -48,15 +48,15 @@ class Dialer < Base
res = []
::ActiveRecord::Base.connection_pool.with_connection {
- ::Provider.where(:enabled => true).all.each do |prov|
+ ::Provider.where(enabled: true).all.each do |prov|
info = {
- :name => prov.name,
- :id => prov.id,
- :port => prov.port,
- :host => prov.host,
- :user => prov.user,
- :pass => prov.pass,
- :lines => prov.lines
+ name: prov.name,
+ id: prov.id,
+ port: prov.port,
+ host: prov.host,
+ user: prov.user,
+ pass: prov.pass,
+ lines: prov.lines
}
1.upto(prov.lines) {|i| res.push(info) }
end
DIR diff --git a/lib/warvox/proto/iax2/client.rb b/lib/warvox/proto/iax2/client.rb
@@ -22,10 +22,10 @@ class Client
def initialize(uopts={})
opts = {
- :caller_number => '15555555555',
- :caller_name => '',
- :server_port => IAX2_DEFAULT_PORT,
- :context => { }
+ caller_number: '15555555555',
+ caller_name: '',
+ server_port: IAX2_DEFAULT_PORT,
+ context: { }
}.merge(uopts)
self.caller_name = opts[:caller_name]
DIR diff --git a/spec/factories/settings.rb b/spec/factories/settings.rb
@@ -12,7 +12,7 @@
#
FactoryGirl.define do
- factory :setting, :class => 'Settings' do
+ factory :setting, class: 'Settings' do
var "CachedStuff"
end