-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Initial pass at data model and seeding records from JSON files.
Some notes on the work so far: * The use of `_id` is a little surprising to me, since these do appear to be id columns, and the convention I've usually seen (in Ruby at least) is for underscore-prefixed values to be unused. For now, I've just aliased the attribute. * I had initially assumed that all users would be associated with organizations - there are three users who don't belong to an organization (two agents and an end user). Not clear if that's invalid data, or if an expectation gap on my part. * There are a number of Ticket records with what may be invalid data (the fact that these values are all "555" feels like a tell that this is intentional for the purposes of this exercise 🙂). To document those for now: - bc736a06-eeb0-4271-b4a8-c66f61b5df1f has `submitter_id` 555 - 7523607d-d45c-4e3a-93aa-419402e64d73 has `organization_id` 555 - 4d0ab657-4c59-43e4-aab3-162753043a59 has `assignee_id` 555 For now, I'm going to punt on deciding how to handle those - I've set those all to valid values, but will revisit that as other pieces come together. * I'm deferring support for domain names and tags for now. * Given I'm not sure what reviewers have easily available, I'll be using SQLite rather than Postgres - PostgreSQL does have some built-in search that would be useful, and much better support for UUID values, but I think I have a reasonable-enough workaround for UUID values, and this feels like a good opportunity to kick the tires on Sunspot.
- Loading branch information
Christopher Patterson
committed
Feb 15, 2020
0 parents
commit 7ccbc59
Showing
101 changed files
with
16,543 additions
and
0 deletions.
There are no files selected for viewing
This file contains 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 characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
defaults |
This file contains 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 characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
# See https://help.github.com/articles/ignoring-files for more about ignoring files. | ||
# | ||
# If you find yourself ignoring temporary files generated by your text editor | ||
# or operating system, you probably want to add a global ignore instead: | ||
# git config --global core.excludesfile '~/.gitignore_global' | ||
|
||
# Ignore bundler config. | ||
/.bundle | ||
|
||
# Ignore the default SQLite database. | ||
/db/*.sqlite3 | ||
/db/*.sqlite3-journal | ||
/db/*.sqlite3-* | ||
|
||
# Ignore all logfiles and tempfiles. | ||
/log/* | ||
/tmp/* | ||
!/log/.keep | ||
!/tmp/.keep | ||
|
||
# Ignore uploaded files in development. | ||
/storage/* | ||
!/storage/.keep | ||
|
||
/public/assets | ||
.byebug_history | ||
|
||
# Ignore master key for decrypting credentials and more. | ||
/config/master.key | ||
|
||
/public/packs | ||
/public/packs-test | ||
/node_modules | ||
/yarn-error.log | ||
yarn-debug.log* | ||
.yarn-integrity |
This file contains 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 characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
AllCops: | ||
TargetRubyVersion: 2.6.5 | ||
Exclude: | ||
- bin/**/* | ||
- db/schema.rb | ||
- db/seeds.rb | ||
- node_modules/**/* | ||
- storage/**/* | ||
|
||
# We don't need to alphabetize gems | ||
Bundler/OrderedGems: | ||
Enabled: false | ||
|
||
Layout/ExtraSpacing: | ||
Enabled: false | ||
|
||
Layout/IndentationConsistency: | ||
EnforcedStyle: indented_internal_methods | ||
|
||
Layout/MultilineMethodCallIndentation: | ||
EnforcedStyle: indented | ||
|
||
Metrics/AbcSize: | ||
Exclude: | ||
- db/migrate/**/* | ||
|
||
Metrics/BlockLength: | ||
Exclude: | ||
- config/environments/**/* | ||
- config/routes.rb | ||
- db/migrate/**/* | ||
|
||
Metrics/ClassLength: | ||
Exclude: | ||
- db/migrate/**/* | ||
|
||
# Allow more room than the default value of 80. | ||
Layout/LineLength: | ||
Max: 120 | ||
|
||
Metrics/MethodLength: | ||
Exclude: | ||
- db/migrate/**/* | ||
- test/**/* | ||
|
||
Metrics/ModuleLength: | ||
Exclude: | ||
- test/**/* | ||
|
||
# Avoid offenses for default Rails files like config/application.rb | ||
Style/Documentation: | ||
Enabled: false | ||
|
||
# Match the style that Rails generators use | ||
Style/EmptyMethod: | ||
EnforcedStyle: expanded |
This file contains 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 characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
ruby-2.6.5 |
This file contains 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 characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
# frozen_string_literal: true | ||
|
||
source 'https://rubygems.org' | ||
git_source(:github) { |repo| "https://github.com/#{repo}.git" } | ||
|
||
ruby '2.6.5' | ||
|
||
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails' | ||
gem 'rails', '~> 6.0.2', '>= 6.0.2.1' | ||
# Use sqlite3 as the database for Active Record | ||
gem 'sqlite3', '~> 1.4' | ||
# Use Puma as the app server | ||
gem 'puma', '~> 4.1' | ||
# Use SCSS for stylesheets | ||
gem 'sass-rails', '>= 6' | ||
# Transpile app-like JavaScript. Read more: https://github.com/rails/webpacker | ||
gem 'webpacker', '~> 4.0' | ||
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks | ||
gem 'turbolinks', '~> 5' | ||
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder | ||
gem 'jbuilder', '~> 2.7' | ||
# Use Redis adapter to run Action Cable in production | ||
# gem 'redis', '~> 4.0' | ||
# Use Active Model has_secure_password | ||
# gem 'bcrypt', '~> 3.1.7' | ||
|
||
# Use Active Storage variant | ||
# gem 'image_processing', '~> 1.2' | ||
|
||
# Reduces boot times through caching; required in config/boot.rb | ||
gem 'bootsnap', '>= 1.4.2', require: false | ||
|
||
group :development, :test do | ||
# Call 'byebug' anywhere in the code to stop execution and get a debugger console | ||
gem 'byebug', platforms: %i[mri mingw x64_mingw] | ||
end | ||
|
||
group :development do | ||
# Access an interactive console on exception pages or by calling 'console' anywhere in the code. | ||
gem 'web-console', '>= 3.3.0' | ||
gem 'listen', '>= 3.0.5', '< 3.2' | ||
gem 'rubocop', require: false | ||
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring | ||
gem 'spring' | ||
gem 'spring-watcher-listen', '~> 2.0.0' | ||
end | ||
|
||
group :test do | ||
# Adds support for Capybara system testing and selenium driver | ||
gem 'capybara', '>= 2.15' | ||
gem 'selenium-webdriver' | ||
# Easy installation and use of web drivers to run system tests with browsers | ||
gem 'webdrivers' | ||
end | ||
|
||
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem | ||
gem 'tzinfo-data', platforms: %i[mingw mswin x64_mingw jruby] |
This file contains 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 characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,241 @@ | ||
GEM | ||
remote: https://rubygems.org/ | ||
specs: | ||
actioncable (6.0.2.1) | ||
actionpack (= 6.0.2.1) | ||
nio4r (~> 2.0) | ||
websocket-driver (>= 0.6.1) | ||
actionmailbox (6.0.2.1) | ||
actionpack (= 6.0.2.1) | ||
activejob (= 6.0.2.1) | ||
activerecord (= 6.0.2.1) | ||
activestorage (= 6.0.2.1) | ||
activesupport (= 6.0.2.1) | ||
mail (>= 2.7.1) | ||
actionmailer (6.0.2.1) | ||
actionpack (= 6.0.2.1) | ||
actionview (= 6.0.2.1) | ||
activejob (= 6.0.2.1) | ||
mail (~> 2.5, >= 2.5.4) | ||
rails-dom-testing (~> 2.0) | ||
actionpack (6.0.2.1) | ||
actionview (= 6.0.2.1) | ||
activesupport (= 6.0.2.1) | ||
rack (~> 2.0, >= 2.0.8) | ||
rack-test (>= 0.6.3) | ||
rails-dom-testing (~> 2.0) | ||
rails-html-sanitizer (~> 1.0, >= 1.2.0) | ||
actiontext (6.0.2.1) | ||
actionpack (= 6.0.2.1) | ||
activerecord (= 6.0.2.1) | ||
activestorage (= 6.0.2.1) | ||
activesupport (= 6.0.2.1) | ||
nokogiri (>= 1.8.5) | ||
actionview (6.0.2.1) | ||
activesupport (= 6.0.2.1) | ||
builder (~> 3.1) | ||
erubi (~> 1.4) | ||
rails-dom-testing (~> 2.0) | ||
rails-html-sanitizer (~> 1.1, >= 1.2.0) | ||
activejob (6.0.2.1) | ||
activesupport (= 6.0.2.1) | ||
globalid (>= 0.3.6) | ||
activemodel (6.0.2.1) | ||
activesupport (= 6.0.2.1) | ||
activerecord (6.0.2.1) | ||
activemodel (= 6.0.2.1) | ||
activesupport (= 6.0.2.1) | ||
activestorage (6.0.2.1) | ||
actionpack (= 6.0.2.1) | ||
activejob (= 6.0.2.1) | ||
activerecord (= 6.0.2.1) | ||
marcel (~> 0.3.1) | ||
activesupport (6.0.2.1) | ||
concurrent-ruby (~> 1.0, >= 1.0.2) | ||
i18n (>= 0.7, < 2) | ||
minitest (~> 5.1) | ||
tzinfo (~> 1.1) | ||
zeitwerk (~> 2.2) | ||
addressable (2.7.0) | ||
public_suffix (>= 2.0.2, < 5.0) | ||
ast (2.4.0) | ||
bindex (0.8.1) | ||
bootsnap (1.4.5) | ||
msgpack (~> 1.0) | ||
builder (3.2.4) | ||
byebug (11.1.1) | ||
capybara (3.31.0) | ||
addressable | ||
mini_mime (>= 0.1.3) | ||
nokogiri (~> 1.8) | ||
rack (>= 1.6.0) | ||
rack-test (>= 0.6.3) | ||
regexp_parser (~> 1.5) | ||
xpath (~> 3.2) | ||
childprocess (3.0.0) | ||
concurrent-ruby (1.1.6) | ||
crass (1.0.6) | ||
erubi (1.9.0) | ||
ffi (1.12.2) | ||
globalid (0.4.2) | ||
activesupport (>= 4.2.0) | ||
i18n (1.8.2) | ||
concurrent-ruby (~> 1.0) | ||
jaro_winkler (1.5.4) | ||
jbuilder (2.10.0) | ||
activesupport (>= 5.0.0) | ||
listen (3.1.5) | ||
rb-fsevent (~> 0.9, >= 0.9.4) | ||
rb-inotify (~> 0.9, >= 0.9.7) | ||
ruby_dep (~> 1.2) | ||
loofah (2.4.0) | ||
crass (~> 1.0.2) | ||
nokogiri (>= 1.5.9) | ||
mail (2.7.1) | ||
mini_mime (>= 0.1.1) | ||
marcel (0.3.3) | ||
mimemagic (~> 0.3.2) | ||
method_source (0.9.2) | ||
mimemagic (0.3.4) | ||
mini_mime (1.0.2) | ||
mini_portile2 (2.4.0) | ||
minitest (5.14.0) | ||
msgpack (1.3.3) | ||
nio4r (2.5.2) | ||
nokogiri (1.10.8) | ||
mini_portile2 (~> 2.4.0) | ||
parallel (1.19.1) | ||
parser (2.6.5.0) | ||
ast (~> 2.4.0) | ||
public_suffix (4.0.3) | ||
puma (4.3.1) | ||
nio4r (~> 2.0) | ||
rack (2.2.2) | ||
rack-proxy (0.6.5) | ||
rack | ||
rack-test (1.1.0) | ||
rack (>= 1.0, < 3) | ||
rails (6.0.2.1) | ||
actioncable (= 6.0.2.1) | ||
actionmailbox (= 6.0.2.1) | ||
actionmailer (= 6.0.2.1) | ||
actionpack (= 6.0.2.1) | ||
actiontext (= 6.0.2.1) | ||
actionview (= 6.0.2.1) | ||
activejob (= 6.0.2.1) | ||
activemodel (= 6.0.2.1) | ||
activerecord (= 6.0.2.1) | ||
activestorage (= 6.0.2.1) | ||
activesupport (= 6.0.2.1) | ||
bundler (>= 1.3.0) | ||
railties (= 6.0.2.1) | ||
sprockets-rails (>= 2.0.0) | ||
rails-dom-testing (2.0.3) | ||
activesupport (>= 4.2.0) | ||
nokogiri (>= 1.6) | ||
rails-html-sanitizer (1.3.0) | ||
loofah (~> 2.3) | ||
railties (6.0.2.1) | ||
actionpack (= 6.0.2.1) | ||
activesupport (= 6.0.2.1) | ||
method_source | ||
rake (>= 0.8.7) | ||
thor (>= 0.20.3, < 2.0) | ||
rainbow (3.0.0) | ||
rake (13.0.1) | ||
rb-fsevent (0.10.3) | ||
rb-inotify (0.10.1) | ||
ffi (~> 1.0) | ||
regexp_parser (1.6.0) | ||
rubocop (0.78.0) | ||
jaro_winkler (~> 1.5.1) | ||
parallel (~> 1.10) | ||
parser (>= 2.6) | ||
rainbow (>= 2.2.2, < 4.0) | ||
ruby-progressbar (~> 1.7) | ||
unicode-display_width (>= 1.4.0, < 1.7) | ||
ruby-progressbar (1.10.1) | ||
ruby_dep (1.5.0) | ||
rubyzip (2.2.0) | ||
sass-rails (6.0.0) | ||
sassc-rails (~> 2.1, >= 2.1.1) | ||
sassc (2.2.1) | ||
ffi (~> 1.9) | ||
sassc-rails (2.1.2) | ||
railties (>= 4.0.0) | ||
sassc (>= 2.0) | ||
sprockets (> 3.0) | ||
sprockets-rails | ||
tilt | ||
selenium-webdriver (3.142.7) | ||
childprocess (>= 0.5, < 4.0) | ||
rubyzip (>= 1.2.2) | ||
spring (2.1.0) | ||
spring-watcher-listen (2.0.1) | ||
listen (>= 2.7, < 4.0) | ||
spring (>= 1.2, < 3.0) | ||
sprockets (4.0.0) | ||
concurrent-ruby (~> 1.0) | ||
rack (> 1, < 3) | ||
sprockets-rails (3.2.1) | ||
actionpack (>= 4.0) | ||
activesupport (>= 4.0) | ||
sprockets (>= 3.0.0) | ||
sqlite3 (1.4.2) | ||
thor (1.0.1) | ||
thread_safe (0.3.6) | ||
tilt (2.0.10) | ||
turbolinks (5.2.1) | ||
turbolinks-source (~> 5.2) | ||
turbolinks-source (5.2.0) | ||
tzinfo (1.2.6) | ||
thread_safe (~> 0.1) | ||
unicode-display_width (1.6.0) | ||
web-console (4.0.1) | ||
actionview (>= 6.0.0) | ||
activemodel (>= 6.0.0) | ||
bindex (>= 0.4.0) | ||
railties (>= 6.0.0) | ||
webdrivers (4.2.0) | ||
nokogiri (~> 1.6) | ||
rubyzip (>= 1.3.0) | ||
selenium-webdriver (>= 3.0, < 4.0) | ||
webpacker (4.2.2) | ||
activesupport (>= 4.2) | ||
rack-proxy (>= 0.6.1) | ||
railties (>= 4.2) | ||
websocket-driver (0.7.1) | ||
websocket-extensions (>= 0.1.0) | ||
websocket-extensions (0.1.4) | ||
xpath (3.2.0) | ||
nokogiri (~> 1.8) | ||
zeitwerk (2.2.2) | ||
|
||
PLATFORMS | ||
ruby | ||
|
||
DEPENDENCIES | ||
bootsnap (>= 1.4.2) | ||
byebug | ||
capybara (>= 2.15) | ||
jbuilder (~> 2.7) | ||
listen (>= 3.0.5, < 3.2) | ||
puma (~> 4.1) | ||
rails (~> 6.0.2, >= 6.0.2.1) | ||
rubocop | ||
sass-rails (>= 6) | ||
selenium-webdriver | ||
spring | ||
spring-watcher-listen (~> 2.0.0) | ||
sqlite3 (~> 1.4) | ||
turbolinks (~> 5) | ||
tzinfo-data | ||
web-console (>= 3.3.0) | ||
webdrivers | ||
webpacker (~> 4.0) | ||
|
||
RUBY VERSION | ||
ruby 2.6.5p114 | ||
|
||
BUNDLED WITH | ||
2.0.2 |
Oops, something went wrong.