Last active
December 19, 2018 10:32
-
-
Save john45/91cddd0e2acda4d15f55a48a9e15f9c6 to your computer and use it in GitHub Desktop.
Revisions
-
john45 revised this gist
Dec 19, 2018 . No changes.There are no files selected for viewing
-
john45 revised this gist
Dec 19, 2018 . 1 changed file with 90 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -68,4 +68,93 @@ def add_client_to_incorrect_sync(user) @report.add_incorrect(1) @report.add_list_incorrect_clients(user[:client_id].to_i) end end ================================================================================================================== class ApplicationController < ActionController::Base require 'net/http' include Pundit include SessionsHelper include RedisHelper include PredictionsHelper include LoggerHelper protect_from_forgery with: :exception rescue_from Pundit::NotAuthorizedError, with: :user_not_authorized rescue_from Pundit::NotDefinedError, with: :user_not_authorized rescue_from NoMethodError, with: :no_method_error private def current_user_admin current_user end def user_not_authorized redirect_to root_path flash[:danger] = t('flash.denied') end def active_admin_not_authorized(_error = nil) redirect_to root_path flash[:danger] = t('flash.denied') end def no_method_error(exception = nil) if exception log = logger('not_found') log.error "Exception" log.error StandardError.new(request.url) log.error StandardError.new(exception) log.error exception.backtrace.join("\n") redirect_to root_path flash[:danger] = t('error.in_this_time') + " #{request.url} " + t('error.not_available') end end end ============================================================================================================ class PredictionsController < ApplicationController def predictions skip_authorization @leagues = League.where(is_active: true) end def league league = params[:league] @league = League.find_by(alias: "#{league}") @leagues = League.where(is_active: true) @id = @league.league_id case @id when 10 @show_group = true when 12 @show_group = true else @show_group = false end end def match @league_params = params[:league] @match_params = params[:match] result = ShowMatch.call(league_params: @league_params, match_params: @match_params) @league = result.league @match = result.match @odds = result.odds @picks = result.picks @show = result.show end def cup;end def landing;end end
-
john45 created this gist
Dec 19, 2018 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,71 @@ require_relative 'log_to_db' require_relative '../models/log_record' require_relative '../models/report' class ClientCheck attr_accessor :users, :correct_users, :incorrect_users def initialize(users) @users = users @report = Report.last @correct_users, @incorrect_users = Array.new, Array.new check_users end private def check_users return false if @users[:envelope][:body][:get_list_of_clients_response][:get_list_of_clients_result][:list_of_clients].nil? if get_users.is_a?(Hash) check_for_correct_user(get_users) else get_users.each do |user| check_for_correct_user(user) end end @correct_users = without_dup(@correct_users) @incorrect_users = without_dup(@incorrect_users) rescue => e LogToDb.log!(:check_users, :critical, e) raise e else LogToDb.log!(:check_users, :success) end def without_dup(users) return users if users.is_a?(Hash) users_without_duplicate = [] memo = [] users.each do |user| unless memo.include?(user[:client_id]) memo << user[:client_id] users_without_duplicate << user end end end def check_for_correct_user(user) if (user[:email] =~ /\A[\w+\-.]+@[a-z\d\-]+(\.[a-z\d\-]+)*\.[a-z]+\z/i).nil? || user[:email] == '[email protected]' @incorrect_users << user add_client_to_incorrect_sync(user) else @correct_users << user end end def get_users @users[:envelope][:body][:get_list_of_clients_response][:get_list_of_clients_result][:list_of_clients][:client_record] end def add_client_to_incorrect_sync(user) ClientSyncLog.create(status: "not sent", description: "wrong email address format: " + user[:email], report: @report, client_id: user[:client_id].to_i) @report.add_incorrect(1) @report.add_list_incorrect_clients(user[:client_id].to_i) end end