hackathon_manager 0.10.3 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/controllers/manage/application_controller.rb +5 -0
- data/app/controllers/manage/trackable_events_controller.rb +85 -0
- data/app/controllers/manage/trackable_tags_controller.rb +67 -0
- data/app/models/trackable_event.rb +8 -0
- data/app/models/trackable_tag.rb +10 -0
- data/app/views/layouts/manage/application.html.haml +4 -0
- data/app/views/manage/trackable_events/_form.html.haml +14 -0
- data/app/views/manage/trackable_events/edit.html.haml +11 -0
- data/app/views/manage/trackable_events/index.html.haml +29 -0
- data/app/views/manage/trackable_events/new.html.haml +3 -0
- data/app/views/manage/trackable_events/show.html.haml +18 -0
- data/app/views/manage/trackable_tags/_form.html.haml +9 -0
- data/app/views/manage/trackable_tags/edit.html.haml +4 -0
- data/app/views/manage/trackable_tags/index.html.haml +20 -0
- data/app/views/manage/trackable_tags/new.html.haml +4 -0
- data/app/views/manage/trackable_tags/show.html.haml +31 -0
- data/config/routes.rb +2 -0
- data/db/migrate/20190107232955_create_trackable_tags.rb +10 -0
- data/db/migrate/20190107233210_create_trackable_events.rb +11 -0
- data/lib/hackathon_manager/version.rb +1 -1
- data/test/factories/trackable_event.rb +7 -0
- data/test/factories/trackable_tag.rb +7 -0
- metadata +20 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: de045d24ad6751129f094dc294549b9eb0931d8619d3873142f862ba286ba0c8
         | 
| 4 | 
            +
              data.tar.gz: 43adf2336dce9187e1a430f99b6ae87cc82f827b06dbffdaa83cb974c69c1d92
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: d29229b913d9af245341d9826308a6fcf53bd5c1c4bff7aacf2aad0e50f0a5351de3766b4571ebc3bd63867fd6f89d60cb6850179a912544dc8f5a1e4974491b
         | 
| 7 | 
            +
              data.tar.gz: 1c33c481248ac95f4ae82ee9ab150e42aa812a6529c5a010a9886478495d1ae77ee1f428de676869e36a8fb01f6467445fdffe86968e754e6a681d4b412cbf57
         | 
| @@ -1,6 +1,7 @@ | |
| 1 1 | 
             
            class Manage::ApplicationController < ApplicationController
         | 
| 2 2 | 
             
              before_action :logged_in
         | 
| 3 3 | 
             
              before_action :limit_admin_access, only: ["edit", "update", "new", "create", "destroy", "convert_to_admin", "deliver", "merge", "perform_merge", "toggle_bus_captain", "duplicate", "update_acc_status", "send_update_email", "live_preview"]
         | 
| 4 | 
            +
              skip_before_action :verify_authenticity_token, if: :json_request?
         | 
| 4 5 |  | 
| 5 6 | 
             
              def logged_in
         | 
| 6 7 | 
             
                authenticate_user!
         | 
| @@ -10,4 +11,8 @@ class Manage::ApplicationController < ApplicationController | |
| 10 11 | 
             
              def limit_admin_access
         | 
| 11 12 | 
             
                redirect_to url_for(controller: controller_name, action: :index) if current_user.admin_limited_access
         | 
| 12 13 | 
             
              end
         | 
| 14 | 
            +
             | 
| 15 | 
            +
              def json_request?
         | 
| 16 | 
            +
                request.format.json?
         | 
| 17 | 
            +
              end
         | 
| 13 18 | 
             
            end
         | 
| @@ -0,0 +1,85 @@ | |
| 1 | 
            +
            class Manage::TrackableEventsController < Manage::ApplicationController
         | 
| 2 | 
            +
              before_action :set_trackable_event, only: [:show, :edit, :update, :destroy]
         | 
| 3 | 
            +
              before_action :scope_limited_admin_access, only: [:edit, :update, :destroy]
         | 
| 4 | 
            +
             | 
| 5 | 
            +
              respond_to :html, :json
         | 
| 6 | 
            +
             | 
| 7 | 
            +
              # GET /manage/trackable_events
         | 
| 8 | 
            +
              def index
         | 
| 9 | 
            +
                @trackable_events = TrackableEvent.all
         | 
| 10 | 
            +
                respond_with(:manage, @trackable_events)
         | 
| 11 | 
            +
              end
         | 
| 12 | 
            +
             | 
| 13 | 
            +
              # GET /manage/trackable_events/1
         | 
| 14 | 
            +
              def show
         | 
| 15 | 
            +
                respond_with(:manage, @trackable_event)
         | 
| 16 | 
            +
              end
         | 
| 17 | 
            +
             | 
| 18 | 
            +
              # GET /manage/trackable_events/new
         | 
| 19 | 
            +
              def new
         | 
| 20 | 
            +
                trackable_tag_id = params[:trackable_tag_id]
         | 
| 21 | 
            +
                @trackable_event = TrackableEvent.new(trackable_tag_id: trackable_tag_id)
         | 
| 22 | 
            +
                respond_with(:manage, @trackable_event)
         | 
| 23 | 
            +
              end
         | 
| 24 | 
            +
             | 
| 25 | 
            +
              # GET /manage/trackable_events/1/edit
         | 
| 26 | 
            +
              def edit
         | 
| 27 | 
            +
              end
         | 
| 28 | 
            +
             | 
| 29 | 
            +
              # POST /manage/trackable_events
         | 
| 30 | 
            +
              def create
         | 
| 31 | 
            +
                @trackable_event = TrackableEvent.new(trackable_event_params.merge(user_id: current_user.id))
         | 
| 32 | 
            +
             | 
| 33 | 
            +
                if @trackable_event.save
         | 
| 34 | 
            +
                  respond_to do |format|
         | 
| 35 | 
            +
                    format.html { redirect_to manage_trackable_tag_path(@trackable_event.trackable_tag), notice: 'Trackable event was successfully created.' }
         | 
| 36 | 
            +
                    format.json { render json: @trackable_event }
         | 
| 37 | 
            +
                  end
         | 
| 38 | 
            +
                else
         | 
| 39 | 
            +
                  render :new
         | 
| 40 | 
            +
                end
         | 
| 41 | 
            +
              end
         | 
| 42 | 
            +
             | 
| 43 | 
            +
              # PATCH/PUT /manage/trackable_events/1
         | 
| 44 | 
            +
              def update
         | 
| 45 | 
            +
                if @trackable_event.update(trackable_event_params)
         | 
| 46 | 
            +
                  respond_to do |format|
         | 
| 47 | 
            +
                    format.html { redirect_to manage_trackable_tag_path(@trackable_event.trackable_tag), notice: 'Trackable event was successfully updated.' }
         | 
| 48 | 
            +
                    format.json { render json: @trackable_event }
         | 
| 49 | 
            +
                  end
         | 
| 50 | 
            +
                else
         | 
| 51 | 
            +
                  render :edit
         | 
| 52 | 
            +
                end
         | 
| 53 | 
            +
              end
         | 
| 54 | 
            +
             | 
| 55 | 
            +
              # DELETE /manage/trackable_events/1
         | 
| 56 | 
            +
              def destroy
         | 
| 57 | 
            +
                @trackable_event.destroy
         | 
| 58 | 
            +
                respond_to do |format|
         | 
| 59 | 
            +
                  format.html { redirect_to manage_trackable_tag_url(@trackable_event.trackable_tag), notice: 'Trackable event was successfully destroyed.' }
         | 
| 60 | 
            +
                  format.json { render json: @trackable_event }
         | 
| 61 | 
            +
                end
         | 
| 62 | 
            +
              end
         | 
| 63 | 
            +
             | 
| 64 | 
            +
              private
         | 
| 65 | 
            +
             | 
| 66 | 
            +
              # Use callbacks to share common setup or constraints between actions.
         | 
| 67 | 
            +
              def set_trackable_event
         | 
| 68 | 
            +
                @trackable_event = TrackableEvent.find(params[:id])
         | 
| 69 | 
            +
              end
         | 
| 70 | 
            +
             | 
| 71 | 
            +
              # Only allow a trusted parameter "white list" through.
         | 
| 72 | 
            +
              def trackable_event_params
         | 
| 73 | 
            +
                params.require(:trackable_event).permit(:band_id, :trackable_tag_id)
         | 
| 74 | 
            +
              end
         | 
| 75 | 
            +
             | 
| 76 | 
            +
              # Permit limited-access admins (overrides Manage::ApplicationController#limit_admin_access)
         | 
| 77 | 
            +
              def limit_admin_access
         | 
| 78 | 
            +
              end
         | 
| 79 | 
            +
             | 
| 80 | 
            +
              # If the admin is limited, scope changes only to those they created
         | 
| 81 | 
            +
              def scope_limited_admin_access
         | 
| 82 | 
            +
                return if !current_user.admin_limited_access || @trackable_event.blank? || @trackable_event.user.blank?
         | 
| 83 | 
            +
                redirect_to manage_trackable_events_path, notice: 'You may not view events you did not create.' if @trackable_event.user != current_user
         | 
| 84 | 
            +
              end
         | 
| 85 | 
            +
            end
         | 
| @@ -0,0 +1,67 @@ | |
| 1 | 
            +
            class Manage::TrackableTagsController < Manage::ApplicationController
         | 
| 2 | 
            +
              before_action :set_trackable_tag, only: [:show, :edit, :update, :destroy]
         | 
| 3 | 
            +
             | 
| 4 | 
            +
              respond_to :html, :json
         | 
| 5 | 
            +
             | 
| 6 | 
            +
              # GET /manage/trackable_tags
         | 
| 7 | 
            +
              def index
         | 
| 8 | 
            +
                @trackable_tags = TrackableTag.all
         | 
| 9 | 
            +
                respond_with(:manage, @trackable_tags)
         | 
| 10 | 
            +
              end
         | 
| 11 | 
            +
             | 
| 12 | 
            +
              # GET /manage/trackable_tags/1
         | 
| 13 | 
            +
              def show
         | 
| 14 | 
            +
                respond_with(:manage, @trackable_tag)
         | 
| 15 | 
            +
              end
         | 
| 16 | 
            +
             | 
| 17 | 
            +
              # GET /manage/trackable_tags/new
         | 
| 18 | 
            +
              def new
         | 
| 19 | 
            +
                @trackable_tag = TrackableTag.new
         | 
| 20 | 
            +
                respond_with(:manage, @questionnaire)
         | 
| 21 | 
            +
              end
         | 
| 22 | 
            +
             | 
| 23 | 
            +
              # GET /manage/trackable_tags/1/edit
         | 
| 24 | 
            +
              def edit
         | 
| 25 | 
            +
              end
         | 
| 26 | 
            +
             | 
| 27 | 
            +
              # POST /manage/trackable_tags
         | 
| 28 | 
            +
              def create
         | 
| 29 | 
            +
                @trackable_tag = TrackableTag.new(trackable_tag_params)
         | 
| 30 | 
            +
             | 
| 31 | 
            +
                if @trackable_tag.save
         | 
| 32 | 
            +
                  flash[:notice] = 'Trackable tag was successfully created.'
         | 
| 33 | 
            +
                  respond_with(:manage, @trackable_tag)
         | 
| 34 | 
            +
                else
         | 
| 35 | 
            +
                  render :new
         | 
| 36 | 
            +
                end
         | 
| 37 | 
            +
              end
         | 
| 38 | 
            +
             | 
| 39 | 
            +
              # PATCH/PUT /manage/trackable_tags/1
         | 
| 40 | 
            +
              def update
         | 
| 41 | 
            +
                if @trackable_tag.update(trackable_tag_params)
         | 
| 42 | 
            +
                  flash[:notice] = 'Trackable tag was successfully updated.'
         | 
| 43 | 
            +
                  respond_with(:manage, @trackable_tag)
         | 
| 44 | 
            +
                else
         | 
| 45 | 
            +
                  render :edit
         | 
| 46 | 
            +
                end
         | 
| 47 | 
            +
              end
         | 
| 48 | 
            +
             | 
| 49 | 
            +
              # DELETE /manage/trackable_tags/1
         | 
| 50 | 
            +
              def destroy
         | 
| 51 | 
            +
                @trackable_tag.destroy
         | 
| 52 | 
            +
                flash[:notice] = 'Trackable tag was successfully destroyed.'
         | 
| 53 | 
            +
                respond_with(:manage, @trackable_tag)
         | 
| 54 | 
            +
              end
         | 
| 55 | 
            +
             | 
| 56 | 
            +
              private
         | 
| 57 | 
            +
             | 
| 58 | 
            +
              # Use callbacks to share common setup or constraints between actions.
         | 
| 59 | 
            +
              def set_trackable_tag
         | 
| 60 | 
            +
                @trackable_tag = TrackableTag.find(params[:id])
         | 
| 61 | 
            +
              end
         | 
| 62 | 
            +
             | 
| 63 | 
            +
              # Only allow a trusted parameter "white list" through.
         | 
| 64 | 
            +
              def trackable_tag_params
         | 
| 65 | 
            +
                params.require(:trackable_tag).permit(:name)
         | 
| 66 | 
            +
              end
         | 
| 67 | 
            +
            end
         | 
| @@ -55,6 +55,10 @@ | |
| 55 55 | 
             
                            = active_link_to manage_stats_path, class: "nav-link" do
         | 
| 56 56 | 
             
                              .fa.fa-table.fa-fw.icon-space-r-half
         | 
| 57 57 | 
             
                              Stats
         | 
| 58 | 
            +
                          %li.nav-item
         | 
| 59 | 
            +
                            = active_link_to manage_trackable_tags_path, class: "nav-link" do
         | 
| 60 | 
            +
                              .fa.fa-tag.fa-fw.icon-space-r-half
         | 
| 61 | 
            +
                              Trackable Tags
         | 
| 58 62 | 
             
                        - unless current_user.admin_limited_access?
         | 
| 59 63 | 
             
                          %h6.sidebar-heading.d-flex.justify-content-between.align-items-center.px-3.mt-4.mb-1.text-muted
         | 
| 60 64 | 
             
                            %span Advanced
         | 
| @@ -0,0 +1,14 @@ | |
| 1 | 
            +
            .form-container
         | 
| 2 | 
            +
              = bs_horizontal_simple_form_for @trackable_event, url: url_for(action: @trackable_event.new_record? ? "create" : "update", controller: "trackable_events"), html: { "data-validate" => "form" } do |f|
         | 
| 3 | 
            +
                = f.error_notification
         | 
| 4 | 
            +
             | 
| 5 | 
            +
                .form-inputs
         | 
| 6 | 
            +
                  = f.input :band_id
         | 
| 7 | 
            +
                  = f.input :trackable_tag_id, collection: TrackableTag.all, required: true
         | 
| 8 | 
            +
                  %p
         | 
| 9 | 
            +
                    User:
         | 
| 10 | 
            +
                    = current_user.email
         | 
| 11 | 
            +
                    (current user, this can't be changed)
         | 
| 12 | 
            +
             | 
| 13 | 
            +
                .form-actions
         | 
| 14 | 
            +
                  = f.button :submit, class: 'btn-primary'
         | 
| @@ -0,0 +1,11 @@ | |
| 1 | 
            +
            = render "layouts/manage/page_title", title: "Edit Trackable Event", subtitle: @trackable_event.id
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            = render 'form'
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            %br
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            = link_to 'Show', manage_trackable_event_path(@trackable_event)
         | 
| 8 | 
            +
            \|
         | 
| 9 | 
            +
            = link_to 'Back', manage_trackable_events_path
         | 
| 10 | 
            +
            \|
         | 
| 11 | 
            +
            = link_to 'Destroy', manage_trackable_event_path(@trackable_event), method: :delete, data: { confirm: 'Are you sure?' }
         | 
| @@ -0,0 +1,29 @@ | |
| 1 | 
            +
            = render "layouts/manage/page_title", title: "Trackable Events"
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            %table.table.table-striped
         | 
| 4 | 
            +
              %thead
         | 
| 5 | 
            +
                %tr
         | 
| 6 | 
            +
                  %th Band
         | 
| 7 | 
            +
                  %th Trackable tag
         | 
| 8 | 
            +
                  %th User
         | 
| 9 | 
            +
                  %th
         | 
| 10 | 
            +
                  %th
         | 
| 11 | 
            +
                  %th
         | 
| 12 | 
            +
             | 
| 13 | 
            +
              %tbody
         | 
| 14 | 
            +
                - @trackable_events.each do |trackable_event|
         | 
| 15 | 
            +
                  %tr
         | 
| 16 | 
            +
                    %td= trackable_event.band_id
         | 
| 17 | 
            +
                    %td= trackable_event.trackable_tag.name
         | 
| 18 | 
            +
                    %td= trackable_event.user.email
         | 
| 19 | 
            +
                    %td= link_to 'Show', manage_trackable_event_path(trackable_event)
         | 
| 20 | 
            +
                    - unless current_user.admin_limited_access && current_user != trackable_event.user
         | 
| 21 | 
            +
                      %td= link_to 'Edit', edit_manage_trackable_event_path(trackable_event)
         | 
| 22 | 
            +
                      %td= link_to 'Destroy', manage_trackable_event_path(trackable_event), method: :delete, data: { confirm: 'Are you sure?' }
         | 
| 23 | 
            +
                    - else
         | 
| 24 | 
            +
                      %td
         | 
| 25 | 
            +
                      %td
         | 
| 26 | 
            +
             | 
| 27 | 
            +
            %br
         | 
| 28 | 
            +
             | 
| 29 | 
            +
            = link_to 'New Trackable event', new_manage_trackable_event_path
         | 
| @@ -0,0 +1,18 @@ | |
| 1 | 
            +
            = render "layouts/manage/page_title", title: "Trackable Event", subtitle: @trackable_event.id
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            %p
         | 
| 4 | 
            +
              %b Band:
         | 
| 5 | 
            +
              = @trackable_event.band_id
         | 
| 6 | 
            +
            %p
         | 
| 7 | 
            +
              %b Created:
         | 
| 8 | 
            +
              = display_datetime(@trackable_event.created_at)
         | 
| 9 | 
            +
            %p
         | 
| 10 | 
            +
              %b Trackable tag:
         | 
| 11 | 
            +
              = link_to @trackable_event.trackable_tag.name, manage_trackable_tag_path(@trackable_event.trackable_tag)
         | 
| 12 | 
            +
            %p
         | 
| 13 | 
            +
              %b User:
         | 
| 14 | 
            +
              = link_to @trackable_event.user.email, manage_admin_path(@trackable_event.user)
         | 
| 15 | 
            +
             | 
| 16 | 
            +
            = link_to 'Edit', edit_manage_trackable_event_path(@trackable_event)
         | 
| 17 | 
            +
            \|
         | 
| 18 | 
            +
            = link_to 'Back', manage_trackable_events_path
         | 
| @@ -0,0 +1,9 @@ | |
| 1 | 
            +
            .form-container
         | 
| 2 | 
            +
              = bs_horizontal_simple_form_for @trackable_tag, url: url_for(action: @trackable_tag.new_record? ? "create" : "update", controller: "trackable_tags"), html: { "data-validate" => "form" } do |f|
         | 
| 3 | 
            +
                = f.error_notification
         | 
| 4 | 
            +
             | 
| 5 | 
            +
                .form-inputs
         | 
| 6 | 
            +
                  = f.input :name
         | 
| 7 | 
            +
             | 
| 8 | 
            +
                .form-actions
         | 
| 9 | 
            +
                  = f.button :submit, class: 'btn-primary'
         | 
| @@ -0,0 +1,20 @@ | |
| 1 | 
            +
            = render "layouts/manage/page_title", title: "Trackable Tags" do
         | 
| 2 | 
            +
              = link_to "New Tag", new_manage_trackable_tag_path, class: "btn btn-sm btn-outline-secondary"
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            %table.table.table-striped
         | 
| 5 | 
            +
              %thead
         | 
| 6 | 
            +
                %tr
         | 
| 7 | 
            +
                  %th Name
         | 
| 8 | 
            +
                  %th Events
         | 
| 9 | 
            +
                  %th Last event
         | 
| 10 | 
            +
                  %th Add event
         | 
| 11 | 
            +
             | 
| 12 | 
            +
              %tbody
         | 
| 13 | 
            +
                - @trackable_tags.each do |trackable_tag|
         | 
| 14 | 
            +
                  %tr
         | 
| 15 | 
            +
                    %td= link_to trackable_tag.name, manage_trackable_tag_path(trackable_tag)
         | 
| 16 | 
            +
                    %td= pluralize(trackable_tag.trackable_events.count, "event")
         | 
| 17 | 
            +
                    %td= trackable_tag.trackable_events.any? ? display_datetime(trackable_tag.sorted_events.first.created_at) : ''
         | 
| 18 | 
            +
                    %td= link_to 'Add event', new_manage_trackable_event_path(trackable_tag_id: trackable_tag.id)
         | 
| 19 | 
            +
             | 
| 20 | 
            +
            %br
         | 
| @@ -0,0 +1,31 @@ | |
| 1 | 
            +
            = render "layouts/manage/page_title", title: @trackable_tag.name, subtitle: "Trackable Tag" do
         | 
| 2 | 
            +
              .btn-group
         | 
| 3 | 
            +
                = link_to 'Edit', edit_manage_trackable_tag_path(@trackable_tag), class: 'btn btn-sm btn-outline-secondary'
         | 
| 4 | 
            +
                = link_to 'Delete', manage_trackable_tag_path(@trackable_tag), method: :delete, data: { confirm: "Are you sure? The trackable tag \"#{@trackable_tag.name}\" will be permanently erased. This action is irreversible." }, class: 'btn btn-sm btn-outline-secondary'
         | 
| 5 | 
            +
             | 
| 6 | 
            +
            %p
         | 
| 7 | 
            +
              %b Name:
         | 
| 8 | 
            +
              = @trackable_tag.name
         | 
| 9 | 
            +
             | 
| 10 | 
            +
            %p
         | 
| 11 | 
            +
              %b= link_to 'Add event', new_manage_trackable_event_path(trackable_tag_id: @trackable_tag.id)
         | 
| 12 | 
            +
             | 
| 13 | 
            +
            = area_chart @trackable_tag.trackable_events.group_by_minute(:created_at).count
         | 
| 14 | 
            +
             | 
| 15 | 
            +
            %table.table.table-striped
         | 
| 16 | 
            +
              %thead
         | 
| 17 | 
            +
                %tr
         | 
| 18 | 
            +
                  %th Date
         | 
| 19 | 
            +
                  %th Band
         | 
| 20 | 
            +
                  %th Entered by
         | 
| 21 | 
            +
                  %th
         | 
| 22 | 
            +
             | 
| 23 | 
            +
              %tbody
         | 
| 24 | 
            +
                - @trackable_tag.sorted_events.each do |trackable_event|
         | 
| 25 | 
            +
                  %tr
         | 
| 26 | 
            +
                    %td= display_datetime(trackable_event.created_at)
         | 
| 27 | 
            +
                    %td= trackable_event.band_id
         | 
| 28 | 
            +
                    %td= trackable_event.user.email
         | 
| 29 | 
            +
                    %td
         | 
| 30 | 
            +
                      - unless current_user.admin_limited_access && current_user != trackable_event.user
         | 
| 31 | 
            +
                        = link_to 'Edit', edit_manage_trackable_event_path(trackable_event)
         | 
    
        data/config/routes.rb
    CHANGED
    
    
| @@ -0,0 +1,11 @@ | |
| 1 | 
            +
            class CreateTrackableEvents < ActiveRecord::Migration[5.2]
         | 
| 2 | 
            +
              def change
         | 
| 3 | 
            +
                create_table :trackable_events do |t|
         | 
| 4 | 
            +
                  t.string :band_id
         | 
| 5 | 
            +
                  t.references :trackable_tag, foreign_key: true
         | 
| 6 | 
            +
                  t.references :user, type: :integer, foreign_key: true
         | 
| 7 | 
            +
             | 
| 8 | 
            +
                  t.timestamps
         | 
| 9 | 
            +
                end
         | 
| 10 | 
            +
              end
         | 
| 11 | 
            +
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: hackathon_manager
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.11.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Stuart Olivera
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2019-01- | 
| 11 | 
            +
            date: 2019-01-09 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: rails
         | 
| @@ -531,6 +531,8 @@ files: | |
| 531 531 | 
             
            - app/controllers/manage/questionnaires_controller.rb
         | 
| 532 532 | 
             
            - app/controllers/manage/schools_controller.rb
         | 
| 533 533 | 
             
            - app/controllers/manage/stats_controller.rb
         | 
| 534 | 
            +
            - app/controllers/manage/trackable_events_controller.rb
         | 
| 535 | 
            +
            - app/controllers/manage/trackable_tags_controller.rb
         | 
| 534 536 | 
             
            - app/controllers/questionnaires_controller.rb
         | 
| 535 537 | 
             
            - app/controllers/rsvps_controller.rb
         | 
| 536 538 | 
             
            - app/controllers/users/omniauth_callbacks_controller.rb
         | 
| @@ -557,6 +559,8 @@ files: | |
| 557 559 | 
             
            - app/models/questionnaire.rb
         | 
| 558 560 | 
             
            - app/models/school.rb
         | 
| 559 561 | 
             
            - app/models/school_name_duplicate.rb
         | 
| 562 | 
            +
            - app/models/trackable_event.rb
         | 
| 563 | 
            +
            - app/models/trackable_tag.rb
         | 
| 560 564 | 
             
            - app/models/user.rb
         | 
| 561 565 | 
             
            - app/views/application/_bus_list_info.html.haml
         | 
| 562 566 | 
             
            - app/views/application/_bus_list_stats.html.haml
         | 
| @@ -622,6 +626,16 @@ files: | |
| 622 626 | 
             
            - app/views/manage/schools/new.html.haml
         | 
| 623 627 | 
             
            - app/views/manage/schools/show.html.haml
         | 
| 624 628 | 
             
            - app/views/manage/stats/index.html.haml
         | 
| 629 | 
            +
            - app/views/manage/trackable_events/_form.html.haml
         | 
| 630 | 
            +
            - app/views/manage/trackable_events/edit.html.haml
         | 
| 631 | 
            +
            - app/views/manage/trackable_events/index.html.haml
         | 
| 632 | 
            +
            - app/views/manage/trackable_events/new.html.haml
         | 
| 633 | 
            +
            - app/views/manage/trackable_events/show.html.haml
         | 
| 634 | 
            +
            - app/views/manage/trackable_tags/_form.html.haml
         | 
| 635 | 
            +
            - app/views/manage/trackable_tags/edit.html.haml
         | 
| 636 | 
            +
            - app/views/manage/trackable_tags/index.html.haml
         | 
| 637 | 
            +
            - app/views/manage/trackable_tags/new.html.haml
         | 
| 638 | 
            +
            - app/views/manage/trackable_tags/show.html.haml
         | 
| 625 639 | 
             
            - app/views/questionnaires/_form.html.haml
         | 
| 626 640 | 
             
            - app/views/questionnaires/edit.html.haml
         | 
| 627 641 | 
             
            - app/views/questionnaires/new.html.haml
         | 
| @@ -692,6 +706,8 @@ files: | |
| 692 706 | 
             
            - db/migrate/20181125213158_add_grad_year_and_race_ethnicity_to_questionnaires.rb
         | 
| 693 707 | 
             
            - db/migrate/20181221194407_create_doorkeeper_tables.rb
         | 
| 694 708 | 
             
            - db/migrate/20181221195241_enable_pkce.rb
         | 
| 709 | 
            +
            - db/migrate/20190107232955_create_trackable_tags.rb
         | 
| 710 | 
            +
            - db/migrate/20190107233210_create_trackable_events.rb
         | 
| 695 711 | 
             
            - db/schools.csv
         | 
| 696 712 | 
             
            - db/seed_messages/questionnaire--accepted.md
         | 
| 697 713 | 
             
            - db/seed_messages/questionnaire--denied.md
         | 
| @@ -711,6 +727,8 @@ files: | |
| 711 727 | 
             
            - test/factories/school.rb
         | 
| 712 728 | 
             
            - test/factories/school_name_duplicate.rb
         | 
| 713 729 | 
             
            - test/factories/temp_doorkeeper.rb
         | 
| 730 | 
            +
            - test/factories/trackable_event.rb
         | 
| 731 | 
            +
            - test/factories/trackable_tag.rb
         | 
| 714 732 | 
             
            - test/factories/users.rb
         | 
| 715 733 | 
             
            homepage: https://github.com/sman591/hackathon_manager
         | 
| 716 734 | 
             
            licenses:
         |