From c02f95c1f923349e9c405835d0270d2575686aaf Mon Sep 17 00:00:00 2001 From: AnaTofuZ Date: Wed, 28 Feb 2018 10:32:24 +0900 Subject: [PATCH 01/20] touch events.html.haml and add static_pages_controller_spec test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `/events`を作りたい為、雛形hamlファイルとコントローラー 及び適切に`/events` が表示できるかのテストコードを追加した。 --- app/controllers/static_pages_controller.rb | 9 +++++++++ app/views/static_pages/events.html.haml | 19 +++++++++++++++++++ config/routes.rb | 1 + .../static_pages_controller_spec.rb | 7 +++++++ 4 files changed, 36 insertions(+) create mode 100644 app/views/static_pages/events.html.haml diff --git a/app/controllers/static_pages_controller.rb b/app/controllers/static_pages_controller.rb index e59d786a3..4ff391fc8 100644 --- a/app/controllers/static_pages_controller.rb +++ b/app/controllers/static_pages_controller.rb @@ -34,6 +34,15 @@ def stats end end + def events + @url = request.url + @regions_and_dojos = Dojo.eager_load(:prefecture).default_order.group_by { |dojo| dojo.prefecture.region } + @events = Dojo.where(evented_at: + Time.zone.now..Time.zone.now.end_of_year) + #@hoge = Statistics::Aggregation.new(from: Time.current.strftime('%Y'),to:Time.current.strftime('%Y')).run + end + + def letsencrypt if params[:id] == ENV['LETSENCRYPT_REQUEST'] render text: ENV['LETSENCRYPT_RESPONSE'] diff --git a/app/views/static_pages/events.html.haml b/app/views/static_pages/events.html.haml new file mode 100644 index 000000000..4fc52b9da --- /dev/null +++ b/app/views/static_pages/events.html.haml @@ -0,0 +1,19 @@ +- provide(:url, @url) +- provide(:title, 'イベント情報') +- provide(:meta_description, '近日開催される CoderDojo の情報をまとめています。') +%section.cover + = image_tag "coderdojo-stats_cover.png", class: "cursor-default" +%section#dojos.dojos.text-center + %bpr + %h1 イベント情報 + %p 本ページでは近日開催される CoderDojo の情報をまとめています。 + CoderDojo の活動状況を把握する際などにご活用ください。 + + + %h3 関連リンク + %ul{:style => "list-style: none; margin-left: -40px;"} + %li + %a{:href => "https://docs.google.com/spreadsheets/d/17-M-qv5c0MdE_ZIFk566I2CGCIDHFkQwXWiunDXCGVw/edit#gid=354377216"} 日本の CoderDojo (zen登録済) - Google Spreadsheet + %li + %a{:href => "https://github.com/coderdojo-japan/coderdojo.jp/issues/258"} 直近の CoderDojo 開催情報を表示したい issue 258 +%br/ diff --git a/config/routes.rb b/config/routes.rb index d85abd06b..cd6811ee0 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -10,6 +10,7 @@ # Static Pages root "static_pages#home" get "/stats", to: 'static_pages#stats' + get "/events", to: 'static_pages#events' # Redirects get "/releases/2016/12/12/new-backend", to: redirect('/news/2016/12/12/new-backend') diff --git a/spec/controllers/static_pages_controller_spec.rb b/spec/controllers/static_pages_controller_spec.rb index 550145558..1b2e2b75a 100644 --- a/spec/controllers/static_pages_controller_spec.rb +++ b/spec/controllers/static_pages_controller_spec.rb @@ -9,4 +9,11 @@ end end + describe "GET #events" do + it "returns http success" do + get :events + expect(response).to have_http_status(:success) + end + end + end From 2a0529a5dc6de68b70177398ff04c6a54ff26343 Mon Sep 17 00:00:00 2001 From: AnaTofuZ Date: Mon, 5 Mar 2018 11:02:18 +0900 Subject: [PATCH 02/20] modofied namespace statiscs/providers/ to providers/ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit statiscs/providersにはDojoのイベントAPIにアクセスする為の実装がある. 直近のイベント情報を取得する際も、APIアクセスが必要となる為この資産を使いたい。 > statistics 系の資源を使いつつ、直近情報を入手する実装がやっぱり良さそう > ネームスペースが気持ち悪いと思うので、Statisticsの外に出してしまうと良いかもしれないですねぇ。 そこで名前空間をstatiscs/providersからprovidersに変更した --- lib/{statistics => }/providers.rb | 0 lib/{statistics => }/providers/connpass.rb | 0 lib/{statistics => }/providers/doorkeeper.rb | 0 lib/{statistics => }/providers/facebook.rb | 0 lib/{statistics => }/providers/static_yaml.rb | 0 5 files changed, 0 insertions(+), 0 deletions(-) rename lib/{statistics => }/providers.rb (100%) rename lib/{statistics => }/providers/connpass.rb (100%) rename lib/{statistics => }/providers/doorkeeper.rb (100%) rename lib/{statistics => }/providers/facebook.rb (100%) rename lib/{statistics => }/providers/static_yaml.rb (100%) diff --git a/lib/statistics/providers.rb b/lib/providers.rb similarity index 100% rename from lib/statistics/providers.rb rename to lib/providers.rb diff --git a/lib/statistics/providers/connpass.rb b/lib/providers/connpass.rb similarity index 100% rename from lib/statistics/providers/connpass.rb rename to lib/providers/connpass.rb diff --git a/lib/statistics/providers/doorkeeper.rb b/lib/providers/doorkeeper.rb similarity index 100% rename from lib/statistics/providers/doorkeeper.rb rename to lib/providers/doorkeeper.rb diff --git a/lib/statistics/providers/facebook.rb b/lib/providers/facebook.rb similarity index 100% rename from lib/statistics/providers/facebook.rb rename to lib/providers/facebook.rb diff --git a/lib/statistics/providers/static_yaml.rb b/lib/providers/static_yaml.rb similarity index 100% rename from lib/statistics/providers/static_yaml.rb rename to lib/providers/static_yaml.rb From 1a03b3ca909ebb3d05be8c9c6154d23302d9b048 Mon Sep 17 00:00:00 2001 From: AnaTofuZ Date: Mon, 5 Mar 2018 11:06:35 +0900 Subject: [PATCH 03/20] remove module Statistics namespace for lib/providers/*.rb MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 先程のcommitでnamespaceの変更を行った為、Statisticsの名前空間を削除した --- lib/providers.rb | 5 +---- lib/providers/connpass.rb | 4 +--- lib/providers/doorkeeper.rb | 4 +--- lib/providers/facebook.rb | 4 +--- lib/providers/static_yaml.rb | 4 +--- 5 files changed, 5 insertions(+), 16 deletions(-) diff --git a/lib/providers.rb b/lib/providers.rb index 7f5069eef..203e62902 100644 --- a/lib/providers.rb +++ b/lib/providers.rb @@ -1,7 +1,4 @@ -module Statistics - module Providers - end -end +module Providers ;end require_relative 'providers/connpass' require_relative 'providers/doorkeeper' diff --git a/lib/providers/connpass.rb b/lib/providers/connpass.rb index 9689ad425..fbbdf73f9 100644 --- a/lib/providers/connpass.rb +++ b/lib/providers/connpass.rb @@ -1,5 +1,4 @@ -module Statistics - module Providers +module Providers class Connpass ENDPOINT = 'https://connpass.com/api/v1'.freeze @@ -38,5 +37,4 @@ def fetch_events(series_id:, yyyymm: nil, yyyymmdd: nil) events end end - end end diff --git a/lib/providers/doorkeeper.rb b/lib/providers/doorkeeper.rb index 557dea9dc..3b058489d 100644 --- a/lib/providers/doorkeeper.rb +++ b/lib/providers/doorkeeper.rb @@ -1,5 +1,4 @@ -module Statistics - module Providers +module Providers class Doorkeeper ENDPOINT = 'https://api.doorkeeper.jp'.freeze @@ -47,5 +46,4 @@ def fetch_events(group_id:, since_at: @default_since, until_at: @default_until) end end end - end end diff --git a/lib/providers/facebook.rb b/lib/providers/facebook.rb index e7b2eb7b2..d7b7b8761 100644 --- a/lib/providers/facebook.rb +++ b/lib/providers/facebook.rb @@ -1,5 +1,4 @@ -module Statistics - module Providers +module Providers class Facebook class_attribute :access_token @@ -30,5 +29,4 @@ def fetch_events(group_id:, since_at: nil, until_at: nil) events end end - end end diff --git a/lib/providers/static_yaml.rb b/lib/providers/static_yaml.rb index 6c496a3d2..9411205ab 100644 --- a/lib/providers/static_yaml.rb +++ b/lib/providers/static_yaml.rb @@ -1,5 +1,4 @@ -module Statistics - module Providers +module Providers class StaticYaml YAML_FILE = Rails.root.join('db', 'static_event_histories.yaml') @@ -7,5 +6,4 @@ def fetch_events YAML.load_file(YAML_FILE) || [] end end - end end From 4b8f227d002ae0fffd3fd8326ca2e4e48964f92c Mon Sep 17 00:00:00 2001 From: AnaTofuZ Date: Mon, 5 Mar 2018 11:09:59 +0900 Subject: [PATCH 04/20] =?UTF-8?q?lib/statistics.rb=E3=81=A7=E3=81=AE=20`pr?= =?UTF-8?q?oviders`=20=E3=81=AE=E5=90=8D=E5=89=8D=E7=A9=BA=E9=96=93?= =?UTF-8?q?=E3=81=8B=E3=82=89statistics=E3=82=92=E5=A4=96=E3=81=97?= =?UTF-8?q?=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `providers` の名前空間を`statistics` から外した為、require_relativeのパ スを修正した --- lib/statistics.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/statistics.rb b/lib/statistics.rb index e543557ac..ef5cc7288 100644 --- a/lib/statistics.rb +++ b/lib/statistics.rb @@ -1,6 +1,6 @@ module Statistics; end require_relative 'statistics/client' -require_relative 'statistics/providers' require_relative 'statistics/tasks' require_relative 'statistics/aggregation' +require_relative 'providers' From ec1f07be33cc150c5a7695326fe8251e9918415c Mon Sep 17 00:00:00 2001 From: AnaTofuZ Date: Mon, 5 Mar 2018 11:11:56 +0900 Subject: [PATCH 05/20] =?UTF-8?q?=E5=90=8D=E5=89=8D=E7=A9=BA=E9=96=93?= =?UTF-8?q?=E3=81=AE=E5=A4=89=E6=9B=B4=E3=81=AB=E4=BC=B4=E3=81=86lib/tasks?= =?UTF-8?q?/statistics.rake=E3=81=A7=E3=81=AEStatistics::Providers?= =?UTF-8?q?=E3=81=AE=E5=90=8D=E5=89=8D=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Statistics::ProvidersからProvides::に名前空間を修正した為 使用しているrakeファイルの名前空間を修正した --- lib/tasks/statistics.rake | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/tasks/statistics.rake b/lib/tasks/statistics.rake index b1611aded..1bf4f75f7 100644 --- a/lib/tasks/statistics.rake +++ b/lib/tasks/statistics.rake @@ -3,7 +3,7 @@ require_relative '../statistics.rb' namespace :statistics do desc '月次/週次のイベント履歴を集計します' task :aggregation, [:from, :to] => :environment do |tasks, args| - Statistics::Providers::Facebook.access_token = Koala::Facebook::OAuth.new(ENV['FACEBOOK_APP_ID'], ENV['FACEBOOK_APP_SECRET']).get_app_access_token + Providers::Facebook.access_token = Koala::Facebook::OAuth.new(ENV['FACEBOOK_APP_ID'], ENV['FACEBOOK_APP_SECRET']).get_app_access_token Statistics::Aggregation.new(args).run end @@ -14,9 +14,9 @@ namespace :statistics do require 'pp' puts 'Searching Connpass' - pp Statistics::Providers::Connpass.new.search(keyword: args[:keyword]) + pp Providers::Connpass.new.search(keyword: args[:keyword]) puts 'Searching Doorkeeper' - pp Statistics::Providers::Doorkeeper.new.search(keyword: args[:keyword]) + pp Providers::Doorkeeper.new.search(keyword: args[:keyword]) end end From 1e412e47470d2fe0b4a66b6aa9eac61ea33f4e81 Mon Sep 17 00:00:00 2001 From: AnaTofuZ Date: Mon, 5 Mar 2018 11:19:26 +0900 Subject: [PATCH 06/20] git mv spec/lib/statistics/providers -> spec/lib/providers/* --- spec/lib/{statistics => }/providers/connpass_spec.rb | 0 spec/lib/{statistics => }/providers/doorkeeper_spec.rb | 0 spec/lib/{statistics => }/providers/facebook_spec.rb | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename spec/lib/{statistics => }/providers/connpass_spec.rb (100%) rename spec/lib/{statistics => }/providers/doorkeeper_spec.rb (100%) rename spec/lib/{statistics => }/providers/facebook_spec.rb (100%) diff --git a/spec/lib/statistics/providers/connpass_spec.rb b/spec/lib/providers/connpass_spec.rb similarity index 100% rename from spec/lib/statistics/providers/connpass_spec.rb rename to spec/lib/providers/connpass_spec.rb diff --git a/spec/lib/statistics/providers/doorkeeper_spec.rb b/spec/lib/providers/doorkeeper_spec.rb similarity index 100% rename from spec/lib/statistics/providers/doorkeeper_spec.rb rename to spec/lib/providers/doorkeeper_spec.rb diff --git a/spec/lib/statistics/providers/facebook_spec.rb b/spec/lib/providers/facebook_spec.rb similarity index 100% rename from spec/lib/statistics/providers/facebook_spec.rb rename to spec/lib/providers/facebook_spec.rb From 47218988f9c65d1e77d632ab233a0573c70d0399 Mon Sep 17 00:00:00 2001 From: AnaTofuZ Date: Mon, 5 Mar 2018 11:21:57 +0900 Subject: [PATCH 07/20] =?UTF-8?q?spec/lib/providers*=20=E3=81=A7=E3=81=AE?= =?UTF-8?q?=E3=83=86=E3=82=B9=E3=83=88=E5=AF=BE=E8=B1=A1=E3=81=AE=E5=90=8D?= =?UTF-8?q?=E5=89=8D=E7=A9=BA=E9=96=93=E3=81=AE=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit テストコードが`Statistics::Providers` を参照していた為、`Statistics` 名 前空間を外した --- spec/lib/providers/connpass_spec.rb | 4 ++-- spec/lib/providers/doorkeeper_spec.rb | 4 ++-- spec/lib/providers/facebook_spec.rb | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/spec/lib/providers/connpass_spec.rb b/spec/lib/providers/connpass_spec.rb index 6dace0f18..f0e9dad55 100644 --- a/spec/lib/providers/connpass_spec.rb +++ b/spec/lib/providers/connpass_spec.rb @@ -1,7 +1,7 @@ require 'rails_helper' -require 'statistics' +require 'providers' -RSpec.describe Statistics::Providers::Connpass do +RSpec.describe Providers::Connpass do include_context 'Use stubs for Connpass' describe '#search' do diff --git a/spec/lib/providers/doorkeeper_spec.rb b/spec/lib/providers/doorkeeper_spec.rb index f53bce364..eebe8a60d 100644 --- a/spec/lib/providers/doorkeeper_spec.rb +++ b/spec/lib/providers/doorkeeper_spec.rb @@ -1,7 +1,7 @@ require 'rails_helper' -require 'statistics' +require 'providers' -RSpec.describe Statistics::Providers::Doorkeeper do +RSpec.describe Providers::Doorkeeper do include_context 'Use stubs for Doorkeeper' describe '#search' do diff --git a/spec/lib/providers/facebook_spec.rb b/spec/lib/providers/facebook_spec.rb index 9ab64af3f..29fd19454 100644 --- a/spec/lib/providers/facebook_spec.rb +++ b/spec/lib/providers/facebook_spec.rb @@ -1,7 +1,7 @@ require 'rails_helper' -require 'statistics' +require 'providers' -RSpec.describe Statistics::Providers::Facebook do +RSpec.describe Providers::Facebook do include_context 'Use stubs for Facebook' describe '#fetch_events' do From 6219af4d718fc8639bc6c4c77c8cb201df9e6af1 Mon Sep 17 00:00:00 2001 From: AnaTofuZ Date: Mon, 5 Mar 2018 11:55:53 +0900 Subject: [PATCH 08/20] rm `/events` components MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 今回のPRでは`/events` の変更は行わない為削除した --- app/controllers/static_pages_controller.rb | 9 --------- app/views/static_pages/events.html.haml | 19 ------------------- config/routes.rb | 1 - 3 files changed, 29 deletions(-) delete mode 100644 app/views/static_pages/events.html.haml diff --git a/app/controllers/static_pages_controller.rb b/app/controllers/static_pages_controller.rb index 4ff391fc8..e59d786a3 100644 --- a/app/controllers/static_pages_controller.rb +++ b/app/controllers/static_pages_controller.rb @@ -34,15 +34,6 @@ def stats end end - def events - @url = request.url - @regions_and_dojos = Dojo.eager_load(:prefecture).default_order.group_by { |dojo| dojo.prefecture.region } - @events = Dojo.where(evented_at: - Time.zone.now..Time.zone.now.end_of_year) - #@hoge = Statistics::Aggregation.new(from: Time.current.strftime('%Y'),to:Time.current.strftime('%Y')).run - end - - def letsencrypt if params[:id] == ENV['LETSENCRYPT_REQUEST'] render text: ENV['LETSENCRYPT_RESPONSE'] diff --git a/app/views/static_pages/events.html.haml b/app/views/static_pages/events.html.haml deleted file mode 100644 index 4fc52b9da..000000000 --- a/app/views/static_pages/events.html.haml +++ /dev/null @@ -1,19 +0,0 @@ -- provide(:url, @url) -- provide(:title, 'イベント情報') -- provide(:meta_description, '近日開催される CoderDojo の情報をまとめています。') -%section.cover - = image_tag "coderdojo-stats_cover.png", class: "cursor-default" -%section#dojos.dojos.text-center - %bpr - %h1 イベント情報 - %p 本ページでは近日開催される CoderDojo の情報をまとめています。 - CoderDojo の活動状況を把握する際などにご活用ください。 - - - %h3 関連リンク - %ul{:style => "list-style: none; margin-left: -40px;"} - %li - %a{:href => "https://docs.google.com/spreadsheets/d/17-M-qv5c0MdE_ZIFk566I2CGCIDHFkQwXWiunDXCGVw/edit#gid=354377216"} 日本の CoderDojo (zen登録済) - Google Spreadsheet - %li - %a{:href => "https://github.com/coderdojo-japan/coderdojo.jp/issues/258"} 直近の CoderDojo 開催情報を表示したい issue 258 -%br/ diff --git a/config/routes.rb b/config/routes.rb index cd6811ee0..d85abd06b 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -10,7 +10,6 @@ # Static Pages root "static_pages#home" get "/stats", to: 'static_pages#stats' - get "/events", to: 'static_pages#events' # Redirects get "/releases/2016/12/12/new-backend", to: redirect('/news/2016/12/12/new-backend') From f3418033e8646191404408a907f79b08755b9033 Mon Sep 17 00:00:00 2001 From: AnaTofuZ Date: Mon, 5 Mar 2018 11:59:59 +0900 Subject: [PATCH 09/20] remove spec/controller/static_pages_controller_spec for /evens --- spec/controllers/static_pages_controller_spec.rb | 7 ------- 1 file changed, 7 deletions(-) diff --git a/spec/controllers/static_pages_controller_spec.rb b/spec/controllers/static_pages_controller_spec.rb index 1b2e2b75a..550145558 100644 --- a/spec/controllers/static_pages_controller_spec.rb +++ b/spec/controllers/static_pages_controller_spec.rb @@ -9,11 +9,4 @@ end end - describe "GET #events" do - it "returns http success" do - get :events - expect(response).to have_http_status(:success) - end - end - end From f609b2dc97165ea9660fa1a620c20efc349ff408 Mon Sep 17 00:00:00 2001 From: AnaTofuZ Date: Mon, 5 Mar 2018 12:21:36 +0900 Subject: [PATCH 10/20] git mv providers/* -> eventservice/providers/* --- lib/{ => eventservice}/providers/connpass.rb | 0 lib/{ => eventservice}/providers/doorkeeper.rb | 0 lib/{ => eventservice}/providers/facebook.rb | 0 lib/{ => eventservice}/providers/static_yaml.rb | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename lib/{ => eventservice}/providers/connpass.rb (100%) rename lib/{ => eventservice}/providers/doorkeeper.rb (100%) rename lib/{ => eventservice}/providers/facebook.rb (100%) rename lib/{ => eventservice}/providers/static_yaml.rb (100%) diff --git a/lib/providers/connpass.rb b/lib/eventservice/providers/connpass.rb similarity index 100% rename from lib/providers/connpass.rb rename to lib/eventservice/providers/connpass.rb diff --git a/lib/providers/doorkeeper.rb b/lib/eventservice/providers/doorkeeper.rb similarity index 100% rename from lib/providers/doorkeeper.rb rename to lib/eventservice/providers/doorkeeper.rb diff --git a/lib/providers/facebook.rb b/lib/eventservice/providers/facebook.rb similarity index 100% rename from lib/providers/facebook.rb rename to lib/eventservice/providers/facebook.rb diff --git a/lib/providers/static_yaml.rb b/lib/eventservice/providers/static_yaml.rb similarity index 100% rename from lib/providers/static_yaml.rb rename to lib/eventservice/providers/static_yaml.rb From b30cdbda26bfe674c12514e2be1a45acdced9ac0 Mon Sep 17 00:00:00 2001 From: AnaTofuZ Date: Mon, 5 Mar 2018 12:59:42 +0900 Subject: [PATCH 11/20] move providers.rb to eventservice/providers.rb and new eventservice.rb module MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 名前空間を切り分けるために eventservice/providers.rbにproviders.rbを変更し 大本のeventservice.rbを作成した --- lib/eventservice.rb | 3 +++ lib/{ => eventservice}/providers.rb | 0 2 files changed, 3 insertions(+) create mode 100644 lib/eventservice.rb rename lib/{ => eventservice}/providers.rb (100%) diff --git a/lib/eventservice.rb b/lib/eventservice.rb new file mode 100644 index 000000000..098735119 --- /dev/null +++ b/lib/eventservice.rb @@ -0,0 +1,3 @@ +module EventService; end + +require_relative 'eventservice/providers' diff --git a/lib/providers.rb b/lib/eventservice/providers.rb similarity index 100% rename from lib/providers.rb rename to lib/eventservice/providers.rb From fd426de301c5f5cbc01016d527328d1b63f26bfd Mon Sep 17 00:00:00 2001 From: AnaTofuZ Date: Mon, 5 Mar 2018 13:44:49 +0900 Subject: [PATCH 12/20] add eventservice name space for lib/**/*.rb --- lib/eventservice/providers.rb | 5 ++++- lib/eventservice/providers/connpass.rb | 2 ++ lib/eventservice/providers/doorkeeper.rb | 2 ++ lib/eventservice/providers/facebook.rb | 2 ++ lib/eventservice/providers/static_yaml.rb | 2 ++ lib/statistics.rb | 2 +- 6 files changed, 13 insertions(+), 2 deletions(-) diff --git a/lib/eventservice/providers.rb b/lib/eventservice/providers.rb index 203e62902..1f923b608 100644 --- a/lib/eventservice/providers.rb +++ b/lib/eventservice/providers.rb @@ -1,4 +1,7 @@ -module Providers ;end +module EventService + module Providers + end +end require_relative 'providers/connpass' require_relative 'providers/doorkeeper' diff --git a/lib/eventservice/providers/connpass.rb b/lib/eventservice/providers/connpass.rb index fbbdf73f9..d121fecf0 100644 --- a/lib/eventservice/providers/connpass.rb +++ b/lib/eventservice/providers/connpass.rb @@ -1,3 +1,4 @@ +module EventService module Providers class Connpass ENDPOINT = 'https://connpass.com/api/v1'.freeze @@ -38,3 +39,4 @@ def fetch_events(series_id:, yyyymm: nil, yyyymmdd: nil) end end end +end diff --git a/lib/eventservice/providers/doorkeeper.rb b/lib/eventservice/providers/doorkeeper.rb index 3b058489d..5451904b4 100644 --- a/lib/eventservice/providers/doorkeeper.rb +++ b/lib/eventservice/providers/doorkeeper.rb @@ -1,3 +1,4 @@ +module EventService module Providers class Doorkeeper ENDPOINT = 'https://api.doorkeeper.jp'.freeze @@ -47,3 +48,4 @@ def fetch_events(group_id:, since_at: @default_since, until_at: @default_until) end end end +end diff --git a/lib/eventservice/providers/facebook.rb b/lib/eventservice/providers/facebook.rb index d7b7b8761..c7a7fa21f 100644 --- a/lib/eventservice/providers/facebook.rb +++ b/lib/eventservice/providers/facebook.rb @@ -1,3 +1,4 @@ +module EventService module Providers class Facebook class_attribute :access_token @@ -30,3 +31,4 @@ def fetch_events(group_id:, since_at: nil, until_at: nil) end end end +end diff --git a/lib/eventservice/providers/static_yaml.rb b/lib/eventservice/providers/static_yaml.rb index 9411205ab..bc7f599c2 100644 --- a/lib/eventservice/providers/static_yaml.rb +++ b/lib/eventservice/providers/static_yaml.rb @@ -1,3 +1,4 @@ +module EventService module Providers class StaticYaml YAML_FILE = Rails.root.join('db', 'static_event_histories.yaml') @@ -7,3 +8,4 @@ def fetch_events end end end +end diff --git a/lib/statistics.rb b/lib/statistics.rb index ef5cc7288..f4c3d90aa 100644 --- a/lib/statistics.rb +++ b/lib/statistics.rb @@ -3,4 +3,4 @@ module Statistics; end require_relative 'statistics/client' require_relative 'statistics/tasks' require_relative 'statistics/aggregation' -require_relative 'providers' +require_relative 'eventservice' From d044d001f4834c9877e5526d7b2dcfa42ec71539 Mon Sep 17 00:00:00 2001 From: AnaTofuZ Date: Mon, 5 Mar 2018 13:46:13 +0900 Subject: [PATCH 13/20] modified lib/eventservice/providers/*.rb indents --- lib/eventservice/providers/connpass.rb | 58 +++++++++--------- lib/eventservice/providers/doorkeeper.rb | 72 +++++++++++------------ lib/eventservice/providers/facebook.rb | 52 ++++++++-------- lib/eventservice/providers/static_yaml.rb | 14 ++--- 4 files changed, 98 insertions(+), 98 deletions(-) diff --git a/lib/eventservice/providers/connpass.rb b/lib/eventservice/providers/connpass.rb index d121fecf0..14dd10808 100644 --- a/lib/eventservice/providers/connpass.rb +++ b/lib/eventservice/providers/connpass.rb @@ -1,42 +1,42 @@ module EventService -module Providers - class Connpass - ENDPOINT = 'https://connpass.com/api/v1'.freeze + module Providers + class Connpass + ENDPOINT = 'https://connpass.com/api/v1'.freeze - def initialize - @client = Statistics::Client.new(ENDPOINT) - end + def initialize + @client = Statistics::Client.new(ENDPOINT) + end - def search(keyword:) - @client.get('event/', { keyword: keyword, count: 100 }) - end + def search(keyword:) + @client.get('event/', { keyword: keyword, count: 100 }) + end - def fetch_events(series_id:, yyyymm: nil, yyyymmdd: nil) - params = { - series_id: series_id, - start: 1, - count: 100 - } - params[:ym] = yyyymm if yyyymm - params[:ymd] = yyyymmdd if yyyymmdd - events = [] + def fetch_events(series_id:, yyyymm: nil, yyyymmdd: nil) + params = { + series_id: series_id, + start: 1, + count: 100 + } + params[:ym] = yyyymm if yyyymm + params[:ymd] = yyyymmdd if yyyymmdd + events = [] - loop do - part = @client.get('event/', params) + loop do + part = @client.get('event/', params) - break if part['results_returned'].zero? + break if part['results_returned'].zero? - events.push(*part.fetch('events')) + events.push(*part.fetch('events')) - break if part.size < params[:count] + break if part.size < params[:count] - break if params[:start] + params[:count] > part['results_available'] + break if params[:start] + params[:count] > part['results_available'] - params[:start] += params[:count] - end + params[:start] += params[:count] + end - events + events + end end - end -end + end end diff --git a/lib/eventservice/providers/doorkeeper.rb b/lib/eventservice/providers/doorkeeper.rb index 5451904b4..285b184c1 100644 --- a/lib/eventservice/providers/doorkeeper.rb +++ b/lib/eventservice/providers/doorkeeper.rb @@ -1,51 +1,51 @@ module EventService -module Providers - class Doorkeeper - ENDPOINT = 'https://api.doorkeeper.jp'.freeze + module Providers + class Doorkeeper + ENDPOINT = 'https://api.doorkeeper.jp'.freeze - def initialize - @client = Statistics::Client.new(ENDPOINT) do |c| - c.authorization(:Bearer, ENV.fetch('DOORKEEPER_API_TOKEN')) + def initialize + @client = Statistics::Client.new(ENDPOINT) do |c| + c.authorization(:Bearer, ENV.fetch('DOORKEEPER_API_TOKEN')) + end + @default_since = Time.zone.parse('2010-07-01') + @default_until = Time.zone.now.end_of_day end - @default_since = Time.zone.parse('2010-07-01') - @default_until = Time.zone.now.end_of_day - end - def search(keyword:) - @client.get('events', q: keyword, since: @default_since, expand: 'group') - end + def search(keyword:) + @client.get('events', q: keyword, since: @default_since, expand: 'group') + end - def fetch_events(group_id:, since_at: @default_since, until_at: @default_until) - begin - params = { - page: 1, - since: since_at, - until: until_at - } - events = [] + def fetch_events(group_id:, since_at: @default_since, until_at: @default_until) + begin + params = { + page: 1, + since: since_at, + until: until_at + } + events = [] - loop do - part = @client.get("groups/#{group_id}/events", params) + loop do + part = @client.get("groups/#{group_id}/events", params) - break if part.size.zero? + break if part.size.zero? - events.push(*part.map { |e| e['event'] }) + events.push(*part.map { |e| e['event'] }) - break if part.size < 25 # 25 items / 1 request + break if part.size < 25 # 25 items / 1 request - params[:page] += 1 - end + params[:page] += 1 + end - events - rescue Faraday::ClientError => e - raise e unless e.response[:status] == 429 + events + rescue Faraday::ClientError => e + raise e unless e.response[:status] == 429 - puts 'API rate limit exceeded.' - puts "This task will retry in 60 seconds from now(#{Time.zone.now})." - sleep 60 - retry + puts 'API rate limit exceeded.' + puts "This task will retry in 60 seconds from now(#{Time.zone.now})." + sleep 60 + retry + end end end - end -end + end end diff --git a/lib/eventservice/providers/facebook.rb b/lib/eventservice/providers/facebook.rb index c7a7fa21f..ff7d72ff3 100644 --- a/lib/eventservice/providers/facebook.rb +++ b/lib/eventservice/providers/facebook.rb @@ -1,34 +1,34 @@ module EventService -module Providers - class Facebook - class_attribute :access_token + module Providers + class Facebook + class_attribute :access_token - def initialize - @client = Koala::Facebook::API.new(self.access_token) - end - - def fetch_events(group_id:, since_at: nil, until_at: nil) - params = { - fields: %i(attending_count start_time owner), - limit: 100 - }.tap do |h| - # @note FacebookのGraph APIはPDTがタイムゾーンとなっており、 - # JST<->PDTのオフセット8時間を追加した時刻をパラメータとする必要がある - # @see https://github.com/coderdojo-japan/coderdojo.jp/pull/182#discussion_r148935458 - h[:since] = since_at.since(8.hours).to_i if since_at - h[:until] = until_at.since(8.hours).to_i if until_at + def initialize + @client = Koala::Facebook::API.new(self.access_token) end - events = [] + def fetch_events(group_id:, since_at: nil, until_at: nil) + params = { + fields: %i(attending_count start_time owner), + limit: 100 + }.tap do |h| + # @note FacebookのGraph APIはPDTがタイムゾーンとなっており、 + # JST<->PDTのオフセット8時間を追加した時刻をパラメータとする必要がある + # @see https://github.com/coderdojo-japan/coderdojo.jp/pull/182#discussion_r148935458 + h[:since] = since_at.since(8.hours).to_i if since_at + h[:until] = until_at.since(8.hours).to_i if until_at + end - collection = @client.get_object("#{group_id}/events", params) - events.push(*collection.to_a) - while !collection.empty? && collection.paging['next'] do - events.push(*collection.next_page.to_a) - end + events = [] - events + collection = @client.get_object("#{group_id}/events", params) + events.push(*collection.to_a) + while !collection.empty? && collection.paging['next'] do + events.push(*collection.next_page.to_a) + end + + events + end end - end -end + end end diff --git a/lib/eventservice/providers/static_yaml.rb b/lib/eventservice/providers/static_yaml.rb index bc7f599c2..7a458d97f 100644 --- a/lib/eventservice/providers/static_yaml.rb +++ b/lib/eventservice/providers/static_yaml.rb @@ -1,11 +1,11 @@ module EventService -module Providers - class StaticYaml - YAML_FILE = Rails.root.join('db', 'static_event_histories.yaml') + module Providers + class StaticYaml + YAML_FILE = Rails.root.join('db', 'static_event_histories.yaml') - def fetch_events - YAML.load_file(YAML_FILE) || [] + def fetch_events + YAML.load_file(YAML_FILE) || [] + end end - end -end + end end From a20eac9609a8313aab48671742c53728d4026add Mon Sep 17 00:00:00 2001 From: AnaTofuZ Date: Mon, 5 Mar 2018 13:51:48 +0900 Subject: [PATCH 14/20] git mv spec/lib/providers -> spec/lib/eventservice/providers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit providersの名前空間をeventservice以下にする為テストコードの名前空間を切り分けた --- spec/lib/{ => eventservice}/providers/connpass_spec.rb | 0 spec/lib/{ => eventservice}/providers/doorkeeper_spec.rb | 0 spec/lib/{ => eventservice}/providers/facebook_spec.rb | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename spec/lib/{ => eventservice}/providers/connpass_spec.rb (100%) rename spec/lib/{ => eventservice}/providers/doorkeeper_spec.rb (100%) rename spec/lib/{ => eventservice}/providers/facebook_spec.rb (100%) diff --git a/spec/lib/providers/connpass_spec.rb b/spec/lib/eventservice/providers/connpass_spec.rb similarity index 100% rename from spec/lib/providers/connpass_spec.rb rename to spec/lib/eventservice/providers/connpass_spec.rb diff --git a/spec/lib/providers/doorkeeper_spec.rb b/spec/lib/eventservice/providers/doorkeeper_spec.rb similarity index 100% rename from spec/lib/providers/doorkeeper_spec.rb rename to spec/lib/eventservice/providers/doorkeeper_spec.rb diff --git a/spec/lib/providers/facebook_spec.rb b/spec/lib/eventservice/providers/facebook_spec.rb similarity index 100% rename from spec/lib/providers/facebook_spec.rb rename to spec/lib/eventservice/providers/facebook_spec.rb From 0fd4ef8767d75c1fb635934ec38d4c18438b4479 Mon Sep 17 00:00:00 2001 From: AnaTofuZ Date: Mon, 5 Mar 2018 13:57:20 +0900 Subject: [PATCH 15/20] modofied spec/lib/eventservice/providers use Providers -> EventService::Providers --- spec/lib/eventservice/providers/connpass_spec.rb | 4 ++-- spec/lib/eventservice/providers/doorkeeper_spec.rb | 4 ++-- spec/lib/eventservice/providers/facebook_spec.rb | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/spec/lib/eventservice/providers/connpass_spec.rb b/spec/lib/eventservice/providers/connpass_spec.rb index f0e9dad55..e2649e2dd 100644 --- a/spec/lib/eventservice/providers/connpass_spec.rb +++ b/spec/lib/eventservice/providers/connpass_spec.rb @@ -1,7 +1,7 @@ require 'rails_helper' -require 'providers' +require 'eventservice' -RSpec.describe Providers::Connpass do +RSpec.describe EventService::Providers::Connpass do include_context 'Use stubs for Connpass' describe '#search' do diff --git a/spec/lib/eventservice/providers/doorkeeper_spec.rb b/spec/lib/eventservice/providers/doorkeeper_spec.rb index eebe8a60d..35a1dcc79 100644 --- a/spec/lib/eventservice/providers/doorkeeper_spec.rb +++ b/spec/lib/eventservice/providers/doorkeeper_spec.rb @@ -1,7 +1,7 @@ require 'rails_helper' -require 'providers' +require 'eventservice' -RSpec.describe Providers::Doorkeeper do +RSpec.describe EventService::Providers::Doorkeeper do include_context 'Use stubs for Doorkeeper' describe '#search' do diff --git a/spec/lib/eventservice/providers/facebook_spec.rb b/spec/lib/eventservice/providers/facebook_spec.rb index 29fd19454..3e1352900 100644 --- a/spec/lib/eventservice/providers/facebook_spec.rb +++ b/spec/lib/eventservice/providers/facebook_spec.rb @@ -1,7 +1,7 @@ require 'rails_helper' -require 'providers' +require 'eventservice' -RSpec.describe Providers::Facebook do +RSpec.describe EventService::Providers::Facebook do include_context 'Use stubs for Facebook' describe '#fetch_events' do From 4fc5347863fb4ce6115c397922129302cae6afb2 Mon Sep 17 00:00:00 2001 From: AnaTofuZ Date: Mon, 5 Mar 2018 13:58:08 +0900 Subject: [PATCH 16/20] modofied lib/task/statistics use Providers -> EventService::Providers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 名前空間を変更した為,lib/tasks/statisticsの使用しているモジュールパスを 変更した --- lib/tasks/statistics.rake | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/tasks/statistics.rake b/lib/tasks/statistics.rake index 1bf4f75f7..4d9a952b7 100644 --- a/lib/tasks/statistics.rake +++ b/lib/tasks/statistics.rake @@ -3,7 +3,7 @@ require_relative '../statistics.rb' namespace :statistics do desc '月次/週次のイベント履歴を集計します' task :aggregation, [:from, :to] => :environment do |tasks, args| - Providers::Facebook.access_token = Koala::Facebook::OAuth.new(ENV['FACEBOOK_APP_ID'], ENV['FACEBOOK_APP_SECRET']).get_app_access_token + EventService::Providers::Facebook.access_token = Koala::Facebook::OAuth.new(ENV['FACEBOOK_APP_ID'], ENV['FACEBOOK_APP_SECRET']).get_app_access_token Statistics::Aggregation.new(args).run end @@ -14,9 +14,9 @@ namespace :statistics do require 'pp' puts 'Searching Connpass' - pp Providers::Connpass.new.search(keyword: args[:keyword]) + pp EventService::Providers::Connpass.new.search(keyword: args[:keyword]) puts 'Searching Doorkeeper' - pp Providers::Doorkeeper.new.search(keyword: args[:keyword]) + pp EventService::Providers::Doorkeeper.new.search(keyword: args[:keyword]) end end From 5e052ab68615f749555c43a92fe3830e6d6587c1 Mon Sep 17 00:00:00 2001 From: AnaTofuZ Date: Mon, 5 Mar 2018 14:05:19 +0900 Subject: [PATCH 17/20] use Everything namespace for lib/statistics/tasks/*.rb MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 名前空間を変更した物を修正し忘れていた為変更 --- lib/statistics/tasks/connpass.rb | 2 +- lib/statistics/tasks/doorkeeper.rb | 2 +- lib/statistics/tasks/facebook.rb | 2 +- lib/statistics/tasks/static_yaml.rb | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/statistics/tasks/connpass.rb b/lib/statistics/tasks/connpass.rb index 13cc2f1dc..acbf01319 100644 --- a/lib/statistics/tasks/connpass.rb +++ b/lib/statistics/tasks/connpass.rb @@ -6,7 +6,7 @@ def self.delete_event_histories(period) end def initialize(dojos, date, weekly) - @client = Providers::Connpass.new + @client = EventService::Providers::Connpass.new @dojos = dojos @params = build_params(date, weekly) end diff --git a/lib/statistics/tasks/doorkeeper.rb b/lib/statistics/tasks/doorkeeper.rb index 7997c4312..a1c246145 100644 --- a/lib/statistics/tasks/doorkeeper.rb +++ b/lib/statistics/tasks/doorkeeper.rb @@ -6,7 +6,7 @@ def self.delete_event_histories(period) end def initialize(dojos, date, weekly) - @client = Providers::Doorkeeper.new + @client = EventService::Providers::Doorkeeper.new @dojos = dojos @params = build_params(date, weekly) end diff --git a/lib/statistics/tasks/facebook.rb b/lib/statistics/tasks/facebook.rb index 6c6ee2b06..1980fa046 100644 --- a/lib/statistics/tasks/facebook.rb +++ b/lib/statistics/tasks/facebook.rb @@ -6,7 +6,7 @@ def self.delete_event_histories(period) end def initialize(dojos, date, weekly) - @client = Providers::Facebook.new + @client = EventService::Providers::Facebook.new @dojos = dojos @params = build_params(date, weekly) end diff --git a/lib/statistics/tasks/static_yaml.rb b/lib/statistics/tasks/static_yaml.rb index a783d4b52..304fab304 100644 --- a/lib/statistics/tasks/static_yaml.rb +++ b/lib/statistics/tasks/static_yaml.rb @@ -6,7 +6,7 @@ def self.delete_event_histories(_period) end def initialize(dojos, _date, _weekly) - @client = Providers::StaticYaml.new + @client = EventService::Providers::StaticYaml.new @dojos = dojos end From 1482972fae58c94e1fde963a3d63d3b8b16ceb58 Mon Sep 17 00:00:00 2001 From: AnaTofuZ Date: Tue, 6 Mar 2018 11:40:47 +0900 Subject: [PATCH 18/20] generate migration create_recent_events_table MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 直近のイベント情報を格納するtableが欲しかった為generateを行った。 スキーマの内容は `event_histories` から参加者を除いた分となっている $ be rails g migration CreateRecentlyEvents dojo_id:integer dojo_name:string service_name:string service_group_id:string event_id:string event_url:string evented_ad:datetime --- db/migrate/20180306024000_create_recently_events.rb | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 db/migrate/20180306024000_create_recently_events.rb diff --git a/db/migrate/20180306024000_create_recently_events.rb b/db/migrate/20180306024000_create_recently_events.rb new file mode 100644 index 000000000..09c5b652a --- /dev/null +++ b/db/migrate/20180306024000_create_recently_events.rb @@ -0,0 +1,13 @@ +class CreateRecentlyEvents < ActiveRecord::Migration[5.1] + def change + create_table :recently_events do |t| + t.integer :dojo_id + t.string :dojo_name + t.string :service_name + t.string :service_group_id + t.string :event_id + t.string :event_url + t.datetime :evented_ad + end + end +end From 2fe30dca679988d4a55da85b03e83ce3ec80972c Mon Sep 17 00:00:00 2001 From: AnaTofuZ Date: Tue, 6 Mar 2018 13:36:22 +0900 Subject: [PATCH 19/20] create recently_events table and migrateion MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit issues #258 にある通り、直近のeventを追加するテーブルを作成した。 ほぼ `event_histories` を模しており、唯一参加人数を保持しない設計となっている。 > 格納先について > event_histories とほぼ同じ構成 > 格納するtaskを statistics と別にする > 3週間ごとに新しいデータを持ってくるようにcron可能なtaskを書く --- .../20180306024000_create_recently_events.rb | 16 ++++++++++------ db/schema.rb | 15 ++++++++++++++- 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/db/migrate/20180306024000_create_recently_events.rb b/db/migrate/20180306024000_create_recently_events.rb index 09c5b652a..433521f62 100644 --- a/db/migrate/20180306024000_create_recently_events.rb +++ b/db/migrate/20180306024000_create_recently_events.rb @@ -1,13 +1,17 @@ class CreateRecentlyEvents < ActiveRecord::Migration[5.1] def change create_table :recently_events do |t| - t.integer :dojo_id - t.string :dojo_name - t.string :service_name + t.integer :dojo_id, null: false + t.string :dojo_name, null: false + t.string :service_name, null: false t.string :service_group_id - t.string :event_id - t.string :event_url - t.datetime :evented_ad + t.string :event_id, null: false + t.string :event_url, null: false + t.datetime :event_at, null: false + + t.index ["dojo_id"], name: "index_recently_events_on_dojo_id" + t.index ["event_at"], name: "index_recently_events_on_event_at" + t.index ["event_at", "dojo_id"], name: "index_recently_events_on_event_at_and_dojo_id" end end end diff --git a/db/schema.rb b/db/schema.rb index faab8f699..93e90cec2 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20180117164209) do +ActiveRecord::Schema.define(version: 20180306024000) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -61,6 +61,19 @@ t.index ["region"], name: "index_prefectures_on_region" end + create_table "recently_events", force: :cascade do |t| + t.integer "dojo_id", null: false + t.string "dojo_name", null: false + t.string "service_name", null: false + t.string "service_group_id" + t.string "event_id", null: false + t.string "event_url", null: false + t.datetime "event_at", null: false + t.index ["dojo_id"], name: "index_recently_events_on_dojo_id" + t.index ["event_at", "dojo_id"], name: "index_recently_events_on_event_at_and_dojo_id" + t.index ["event_at"], name: "index_recently_events_on_event_at" + end + add_foreign_key "dojo_event_services", "dojos" add_foreign_key "event_histories", "dojos" end From c03a16b6e017dca480aad5873e12f7656b93a3f4 Mon Sep 17 00:00:00 2001 From: AnaTofuZ Date: Mon, 12 Mar 2018 11:59:32 +0900 Subject: [PATCH 20/20] remove dojo_id for recently_events schema MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit テーブルの正規化を行う為に、dojo_idなどの非正規部分を削除した https://github.com/coderdojo-japan/coderdojo.jp/pull/277#pullrequestreview-102871498 --- db/migrate/20180306024000_create_recently_events.rb | 8 ++------ db/schema.rb | 8 ++------ 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/db/migrate/20180306024000_create_recently_events.rb b/db/migrate/20180306024000_create_recently_events.rb index 433521f62..0f06a8f11 100644 --- a/db/migrate/20180306024000_create_recently_events.rb +++ b/db/migrate/20180306024000_create_recently_events.rb @@ -1,17 +1,13 @@ class CreateRecentlyEvents < ActiveRecord::Migration[5.1] def change create_table :recently_events do |t| - t.integer :dojo_id, null: false - t.string :dojo_name, null: false - t.string :service_name, null: false - t.string :service_group_id + t.integer :dojo_event_service_id, null: false t.string :event_id, null: false t.string :event_url, null: false t.datetime :event_at, null: false - t.index ["dojo_id"], name: "index_recently_events_on_dojo_id" + t.index ["dojo_event_service_id"], name: "index_recently_events_on_dojo_event_service_id" t.index ["event_at"], name: "index_recently_events_on_event_at" - t.index ["event_at", "dojo_id"], name: "index_recently_events_on_event_at_and_dojo_id" end end end diff --git a/db/schema.rb b/db/schema.rb index 93e90cec2..f2d2dbc1d 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -62,15 +62,11 @@ end create_table "recently_events", force: :cascade do |t| - t.integer "dojo_id", null: false - t.string "dojo_name", null: false - t.string "service_name", null: false - t.string "service_group_id" + t.integer "dojo_event_service_id", null: false t.string "event_id", null: false t.string "event_url", null: false t.datetime "event_at", null: false - t.index ["dojo_id"], name: "index_recently_events_on_dojo_id" - t.index ["event_at", "dojo_id"], name: "index_recently_events_on_event_at_and_dojo_id" + t.index ["dojo_event_service_id"], name: "index_recently_events_on_dojo_event_service_id" t.index ["event_at"], name: "index_recently_events_on_event_at" end