2017-10-30 7 views
0

そこで、HappyFox(サポートチケットWebアプリケーション)にgetリクエストを送信し、JSONファイルTickets.jsonを取得するプログラムを作成しました。 JSONを解析し、必要な情報、つまりチケットの有無にかかわらずチケットを返すメソッドも書きました。Parse APIとView Output in Railsビュー

これを私のRailsアプリケーションとどのように統合すればよいですか?私はHappyFox View(レール)を使ってそれらのメソッドの出力を表示し、いつでも情報を更新できるようにしたい。

Rubyのコード:

require 'httparty' 

def happy_fox_call() 

    auth = { :username => 'REDACTED', 
      :password => 'REDACTED' } 
    @tickets = HTTParty.get("http://avatarfleet.happyfox.com/api/1.1/json/tickets/?size=50&page=1", 
          :basic_auth => auth) 
    tickets = File.new("Tickets.json", "w") 
    tickets.puts @tickets 
    tickets.close 
end 

puts "Calling API, please wait..." 
happy_fox_call() 
puts "Complete!" 


require 'json' 
$data = File.read('/home/joe/API/Tickets.json') 
$tickets = JSON.parse($data) 
$users = $tickets["data"][3]["name"] 

Count each status in ONE method 

def count_each_status(*statuses) 
    status_counters = Hash.new(0) 
    $tickets["data"].each do |tix| 
    if statuses.include?(tix["status"]["name"]) 
     #puts status_counters # this is cool! Run this 
     status_counters[tix["status"]["name"]] += 1 
    end 
    end 
    return status_counters 
end 


Count tickets with and without a response 

def count_unresponded(tickets) 
    true_counter = 0 
    false_counter = 0 
    $tickets["data"].each do |tix| 
    if tix["unresponded"] == false 
     false_counter += 1 
    else true_counter += 1 
    end 
    end 
    puts "There are #{true_counter} tickets without a response" 
    puts "There are #{false_counter} ticket with a response" 
end 

Make a function that creates a count of tickets by user 

    def user_count(users) 
    user_count = Hash.new(0) 
    $tickets["data"].each do |users| 
      user_count[users["user"]["name"]] += 1 
     end 
     return user_count 
    end 



puts count_each_status("Closed", "On Hold", "Open", "Unanswered", 
         "New", "Customer Review") 

puts count_unresponded($data) 

puts user_count($tickets) 

事前にありがとうございます!

+1

SOは無料のコーディングサービスではありません。何を試しましたか? – Fallenhero

+0

あなたはそうです。謝罪します。 私はそれにかなり新しいです。そして、私は完全に失われています。 私はレールアプリを構築しました。ビューとモデルと認証を持つシェルだけでした。そして私は上記のプログラムを書いた。私はちょうど2つを一緒に統合する方法に関するいくつかのガイダンスが必要でした。 – eskimojoe

答えて

0

libディレクトリにAPI呼び出し/ JSON解析を処理する新しいモジュールを作成し、そのファイルを対話させたいコントローラに含めることができます。そこから、変数を割り当て、望むように動的に表示するのはかなり直感的でなければなりません。

https://www.benfranklinlabs.com/where-to-put-rails-modules/

+0

ありがとう!私は今日それを試して、報告する。 私はあなたに私が何を考えているかを伝えます。 – eskimojoe