├── .babelrc
├── .circleci
└── config.yml
├── .gitignore
├── .postcssrc.yml
├── .ssh
└── keep
├── CNAME
├── COMMIT_EDITMSG
├── Capfile
├── Dockerfile
├── Gemfile
├── Gemfile.lock
├── HEAD
├── LICENSE
├── Procfile.dev
├── README.md
├── Rakefile
├── _config.yml
├── app
├── assets
│ ├── config
│ │ └── manifest.js
│ ├── images
│ │ ├── .keep
│ │ ├── Facebook.png
│ │ ├── Instagram.png
│ │ ├── Internet.png
│ │ ├── Line.png
│ │ ├── Person@2x.png
│ │ ├── Twitter.png
│ │ ├── Wikipedia.png
│ │ └── Youtube.png
│ ├── javascripts
│ │ ├── application.js
│ │ ├── cable.js
│ │ ├── channels
│ │ │ └── .keep
│ │ ├── hirei_senkyokus.coffee
│ │ ├── prefs.coffee
│ │ ├── search.coffee
│ │ ├── senkyokus.coffee
│ │ └── static.coffee
│ └── stylesheets
│ │ ├── application.sass
│ │ ├── atoms
│ │ ├── colors.sass
│ │ ├── responsive.sass
│ │ └── typo.sass
│ │ ├── hirei-senkyokus
│ │ └── hirei-senkyoku-block.sass
│ │ ├── molecules
│ │ ├── area-type.sass
│ │ ├── detail-button.sass
│ │ ├── person.sass
│ │ ├── search-bar.sass
│ │ └── social-icons.sass
│ │ ├── organisms
│ │ ├── detail-block.sass
│ │ ├── footer.sass
│ │ ├── list-header.sass
│ │ ├── person-block.sass
│ │ └── person-item.sass
│ │ ├── prefs.scss
│ │ ├── prefs
│ │ └── show.sass
│ │ ├── search
│ │ ├── new.sass
│ │ └── show.sass
│ │ ├── senkyokus
│ │ └── senkyoku-block.sass
│ │ └── static.sass
├── channels
│ └── application_cable
│ │ ├── channel.rb
│ │ └── connection.rb
├── controllers
│ ├── application_controller.rb
│ ├── candidates_controller.rb
│ ├── concerns
│ │ └── .keep
│ ├── hirei_senkyokus_controller.rb
│ ├── prefs_controller.rb
│ ├── search_controller.rb
│ ├── senkyokus_controller.rb
│ └── static_controller.rb
├── helpers
│ ├── application_helper.rb
│ ├── hirei_senkyokus_helper.rb
│ ├── prefs_helper.rb
│ ├── search_helper.rb
│ ├── senkyokus_helper.rb
│ └── static_helper.rb
├── javascript
│ └── packs
│ │ └── application.js
├── jobs
│ └── application_job.rb
├── mailers
│ └── application_mailer.rb
├── models
│ ├── application_record.rb
│ ├── candidate.rb
│ ├── city.rb
│ ├── concerns
│ │ └── .keep
│ ├── hirei_senkyoku.rb
│ ├── hirei_senkyoku_pref.rb
│ ├── party.rb
│ ├── pref.rb
│ ├── senkyoku.rb
│ ├── senkyoku_zip_code.rb
│ └── zip_code.rb
└── views
│ ├── candidates
│ └── show.html.erb
│ ├── errors
│ └── 404.html.erb
│ ├── hirei_senkyokus
│ └── show.html.erb
│ ├── layouts
│ ├── application.html.erb
│ ├── hirei-senkyokus
│ │ └── _hirei-senkyoku-block.html.erb
│ ├── mailer.html.erb
│ ├── mailer.text.erb
│ ├── molecules
│ │ ├── _area-type.html.erb
│ │ ├── _detail-button.html.erb
│ │ ├── _person.html.erb
│ │ ├── _searchbar.html.erb
│ │ ├── _searchbar_by_name.html.erb
│ │ └── _social-icons.html.erb
│ ├── organisms
│ │ ├── _detail-block.html.erb
│ │ ├── _footer.html.erb
│ │ ├── _list-header.html.erb
│ │ ├── _menu.html.erb
│ │ ├── _person-block.html.erb
│ │ └── _person-item.html.erb
│ ├── senkyokus
│ │ └── _senkyoku-block.html.erb
│ └── static
│ │ └── _default.html.erb
│ ├── prefs
│ ├── show.html.erb
│ └── show.json.jbuilder
│ ├── search
│ ├── _candidate.html.erb
│ ├── by_name.html.erb
│ ├── index.html.erb
│ ├── new.html.erb
│ └── show.html.erb
│ ├── senkyokus
│ ├── _senkyoku.json.jbuilder
│ ├── show.html.erb
│ └── show.json.jbuilder
│ └── static
│ ├── about.html.erb
│ └── data.html.erb
├── bin
├── bundle
├── rails
├── rake
├── setup
├── update
├── webpack
├── webpack-dev-server
└── yarn
├── circle.yml
├── config.ru
├── config
├── application.rb
├── boot.rb
├── cable.yml
├── database.yml
├── deploy.rb
├── deploy
│ └── production.rb
├── environment.rb
├── environments
│ ├── development.rb
│ ├── production.rb
│ └── test.rb
├── fluent-logger.yml
├── initializers
│ ├── application_controller_renderer.rb
│ ├── assets.rb
│ ├── backtrace_silencers.rb
│ ├── cookies_serializer.rb
│ ├── filter_parameter_logging.rb
│ ├── inflections.rb
│ ├── mime_types.rb
│ └── wrap_parameters.rb
├── locales
│ └── en.yml
├── puma.rb
├── routes.rb
├── secrets.yml
├── spring.rb
├── unicorn.rb
├── webpack
│ ├── development.js
│ ├── environment.js
│ ├── production.js
│ └── test.js
└── webpacker.yml
├── db-server
├── Dockerfile
└── my_cfje.cnf
├── db
├── migrate
│ ├── 20171008021802_create_prefs.rb
│ ├── 20171008021837_create_senkyokus.rb
│ ├── 20171008040746_create_parties.rb
│ ├── 20171009070549_create_candidates.rb
│ ├── 20171009101715_add_wikidata_id_to_candidate.rb
│ ├── 20171009105609_add_uniq_on_wikidata_id.rb
│ ├── 20171010004130_create_zip_codes.rb
│ ├── 20171011020857_add_cols_on_candidates.rb
│ ├── 20171011170201_create_cities.rb
│ ├── 20171011170425_create_hirei_senkyokus.rb
│ ├── 20171011170455_create_pref_hirei_senkyokus.rb
│ ├── 20171012045609_change_is_hirei_on_candidates.rb
│ ├── 20171012145021_add_index_for_dbseed.rb
│ ├── 20171013020404_add_index_senkyoku_zipcd.rb
│ └── 20171014143033_add_hirei_meibo_order_no.rb
├── schema.rb
└── seeds.rb
├── description
├── docker-compose.yml
├── gulpfile.js
├── hooks
├── applypatch-msg.sample
├── commit-msg.sample
├── post-update.sample
├── pre-applypatch.sample
├── pre-commit.sample
├── pre-push.sample
├── pre-rebase.sample
├── prepare-commit-msg.sample
└── update.sample
├── index
├── info
└── exclude
├── lib
├── assets
│ └── .keep
├── capistrano
│ └── tasks
│ │ └── unicorn.rake
└── tasks
│ ├── .keep
│ └── import_graydb.rake
├── log
└── .keep
├── logs
├── HEAD
└── refs
│ ├── heads
│ ├── develop
│ └── master
│ └── remotes
│ └── origin
│ └── HEAD
├── nginx.conf
├── objects
├── 10
│ ├── 12fa3fabc9a76ee05e92a5767cf9d8199c8579
│ └── a4cba84df37181f4cf310fd85d8f0aaa5d90ba
├── 13
│ ├── 4b2fd76855c35801afee1553f5969a034bb79a
│ ├── 69aa5c14619a28f17734601b6ee970c5dc1cc6
│ └── 8e470f4d91b1050e77237918c1db240e4aec8d
├── 17
│ ├── 240489f64832c9ce080088e27780d3dc3ee29a
│ └── d132ec2e7dd2fb220cafa86979a44c91f57fae
├── 18
│ ├── 25686cfd1a51c1b6306133a5193b1001331026
│ └── fba85191440b5bc63e68a9c5caa0b7fc6b432c
├── 21
│ └── 181cefa2e87f9d9dbd5f4608629ef6ed8ee982
├── 22
│ └── fd39482e40b591679b74522eacefc2938d1ecc
├── 24
│ └── 4ee851b0be833c9607a49a973e3f02aa02fdd9
├── 27
│ └── 94f686736f590cf5a10e1c726f466441fd8123
├── 28
│ └── 6b2239d139960190594225e0134fe1a5c05370
├── 29
│ ├── 123ca44be81d8e9a40e37f98e80f0dabe52a97
│ └── a422c19251aeaeb907175e9b3219a9bed6c616
├── 30
│ ├── 56c46fc563266587017c26e22a5fb94df92ee6
│ ├── ae27a5321f311869fe64489c1c31949336603e
│ └── f5120df6986349c532c8ece3c170726118a703
├── 33
│ └── c6072aae71167ab9c5dbb54e78bcaa551d0324
├── 37
│ ├── a62cd9c55cd9e09b9c2aba2fbc551ac9d9affa
│ ├── b576a4a015ac63021a1121d55a96235ec03525
│ └── f0bddbd746bc24923ce9a8eb0dae1ca3076284
├── 40
│ └── a2eda750b7e3ae867333cb207d551b981ec881
├── 41
│ └── 0813fa39d9239f498fdce8cda851bd79589c6b
├── 42
│ ├── 4c710301a53079b942b76b3b9bd6f08c7e1df6
│ ├── 6333bb46978d897be4cc6fac77b9fcaacf59d0
│ └── ade33869e6a4f8842b434fecf0021aca83c499
├── 44
│ ├── 07c121a8f5153855ed552eaa91464ce14eb9c2
│ └── 496cf5a6b913b5e6e44535fff873ecf1df7cbf
├── 45
│ ├── 0c7c265b8356ea7fe3db2226d3540e66844690
│ └── 1a78b48ecb4541e2848b4757ede056798aa25f
├── 46
│ └── b20359fad6cb15808924074bdcdb1d053d01fe
├── 47
│ └── 83f4c31c5209fe22a092f731aecf93e33841c4
├── 48
│ ├── 06aa2d24aeb3f9fa955ac1a6ebbe9c553ceacf
│ └── 571b0a928f3a9134f5f375174e274080648a5f
├── 50
│ ├── 6ef7e55478398c196a8c27b597321d400881ca
│ └── a9f6bc07c70ed7089c86ae8712a57bd2a2f50f
├── 51
│ ├── 87e22186a6e9a43f5a4a45b901e4c3579f1aed
│ └── afa9df59420e3898f79c02f1f2e1a999e6e3af
├── 52
│ └── 23fa7b089f833e7ac2598bf3702dc477c34628
├── 54
│ └── b106ee07fd7ceab761d7528c9117251fa2c6c3
├── 55
│ └── 3bc676fc9427349136f2cc0d13251b548a5906
├── 56
│ └── f5fb62307e211bb940ae5a322f54acafb4770a
├── 57
│ └── d97a587b8ee3e891b61ed69d495775aa234135
├── 58
│ └── 83ad35cbe6fba199d83f258a355e5db26148bf
├── 59
│ └── 385cdf379bd06a8d2326dcd4de6d5cd5d3f5b0
├── 60
│ └── 4518803244292045a6be13bcf02f0803990570
├── 62
│ └── 37d94c345b1f57b1c09f33ab8b3e891e54a9a4
├── 63
│ └── cee708c6b82c072891ddf93cce373661663896
├── 64
│ ├── 26489363e1f5ea6c15db9fbb4cf53983662adc
│ └── 5e1a5b870141ff01c6cb137c76efabf0325424
├── 65
│ └── ecba220af556a81db53733408bd22f60323278
├── 66
│ ├── 6132142f316a338cd2084af293f8c6aef70bd2
│ ├── c275ca46223c28b107a1a03955c041953c287e
│ └── e9889e8b4aeea1af13e2396fb70594232a2ae3
├── 69
│ └── bfc81cc626917fc7c0160a76ce371fafcb4ee4
├── 71
│ └── e71658511e7b6ce19220fd5ab9559d89fb0551
├── 72
│ └── 793079f61256e9b8a5342c15d33e565fd317e2
├── 73
│ └── 9aa5f022071bfaefac9de447f6250b5d83dd83
├── 74
│ └── 5afc3d1bb597391f1a898130804d8293a98931
├── 78
│ ├── a030af22ea129d02a7745790b79fbe81a9e3ab
│ └── c4e861dc6f53c1c2e1e13674a0d1629d8c6621
├── 81
│ ├── 269f6513de64f42dea1f0a8736292abfaa9c84
│ └── 2927b95045cfbebd1a82bf2d47a1df01f70074
├── 82
│ └── 7cf8a07475aefb5d22848935c55e590e2f26b6
├── 84
│ └── f3d10c5c7c12191f3395b29744a7a6f8944672
├── 86
│ ├── b457947c60e40dec3914fcb81fbb89760f183b
│ └── c8e9a55aec138a8ea7f475616be8abb45950fb
├── 89
│ └── d2efab2ba659d7814a7665a99f7f8d7429a072
├── 92
│ ├── 0b9550007b794a90bcf8942b3850957b407dc6
│ └── 7460ca27b14bbf4c60f7b8b2c62289d9313481
├── 93
│ ├── 41b7a8f4f551cd973de40c98316bf1390b10cb
│ └── 83039663d08351ac654b5f34fbb8e1b51dfd11
├── 94
│ └── 44c551949eddbee9e58814e2accd347aa41d2f
├── 95
│ └── 4130ae1c1366cacbc026a0a802679e9b268f23
├── 96
│ ├── 587c6ba78d238d5cc7168706b18895a60f52cf
│ └── 7c0d928bec09b1f28ec9cb287141d152b9bbe0
├── 97
│ └── 77e17debc47be0f8dcf43e0bd61d3293cee927
├── 04
│ └── 12034e6f5590d84863cbd492d362bbe77674b8
├── 06
│ └── 91ff9de67363018c2bf21a35a0a95af4b3783d
├── 07
│ ├── 3966023774750c90fe9c89910c769a92da604b
│ └── d89d0b7e50929dea0dcf7e7354358c1133be86
├── 0e
│ └── 0677bdd6f629a7e77f9e66f02a2023beffea37
├── 0f
│ └── f5442f476f98d578f77221b57164cffcf08de0
├── 1c
│ ├── 07694e9d9f40e62ed5c07ae23bec2d2ec90d74
│ └── df3012f00921ac832eb4d78f9d91a21bebcf29
├── 1d
│ ├── 0981e2ee060b959d4aab9dcdd99785d2c29e7c
│ └── c50b5b24c5a91dc063104c745d3689e367248c
├── 1e
│ └── 19380dcb36bf3d7eaccb0055c456d39c108857
├── 1f
│ └── c6a14a476447629031bed9d0fc18cdd735bcec
├── 2b
│ └── e3af26fc5a3d019690b50e0849651dde258794
├── 2c
│ └── 216954b4bf73d830fb006be881b21459b970a4
├── 2d
│ └── 320a5aae897b399454f73421f0cbc7d3198e36
├── 2f
│ └── 1c60a817f48df4756ffa6a8d48258f297efa34
├── 3a
│ ├── 83cac2f77129104c1e8549fa97fe1252703adb
│ └── aa0c7c28ea02d8f9b1923f342ce734ad07a3e4
├── 3c
│ ├── 1baa6221c1c1c0b2483878b33d69ffae4d37ae
│ └── e5f417b0b400e108248423019ac0e799be67d7
├── 3e
│ └── 14b8ac83dea971e2f81036a8c784ac669f20dd
├── 4a
│ ├── 994e1e7bb7ce28dcec98bad48b9a891d7dec51
│ ├── a62049a11baa9eb663d97627bf6e3049163d26
│ └── cea76da1b1e2f188ad4aed94c2bc1935406275
├── 4b
│ ├── 828e80cb778244843194acf5f8a74238ec2c13
│ └── bdf86aa42cf1972210395828e2dc8cbf65e784
├── 4c
│ ├── 4a493feabd4e7afb5c75500b9e9adcec903e76
│ ├── d74af6baa8e3552f7c6ab1e55596e8a338e296
│ └── f0aec01eece5139084bd2668b62d43d4ecbd8a
├── 5a
│ └── 6a32d371fe575acf9f87e2ab7e8ae4d0f11e69
├── 6b
│ └── 781b981ec5780527e797e03d416382eaed264f
├── 6c
│ └── 11d7bf30f73ccdf57b8df411660001a7b3b7b5
├── 6d
│ └── 7a1449b789a582a76c640d3d022f20e825c0f4
├── 6f
│ └── 011cfa63ad313eb96595d0da6f7b5b3223d965
├── 7a
│ └── 5a3206d81b8835d1fdeb03bdc0cc01686b6ca7
├── 7d
│ └── fe5b8fd7f29030e6ab8c96bbf4f73b33152172
├── 7f
│ └── 9d028efdd973bcb0fa810f1f5a9df605232033
├── 8a
│ ├── 0729d74fc828d5b98df2548576857bd4be561e
│ └── c9ee58e6e3412b3e2fa0581fba74cc1e1f4d77
├── 8b
│ ├── 085d0a1996c53ce92f66c67417a357e4c4c34a
│ └── 13a63f346f46c482c682ec2198b4485c836300
├── 8d
│ └── 4b870af32968f2a99720a980cfa6e3b66e5888
├── 8e
│ └── 5cbde5334392bc835f32069c74800aedcf824f
├── 9a
│ └── 6b5ed2c64a21df2a4d718ace6bd920d11df911
├── 9c
│ └── d540a8d1d0e93841648e882a2a7fb525ddd482
├── 9e
│ ├── 3e73a86af89cc8718d88a711f17e9eef1417ce
│ └── 4a2f0d852d82e962ac4908bd1c1cb1071b84bc
├── 9f
│ ├── 7fe11bdd3523d4be6f7f3b0f9e89bb91f819e5
│ └── c1de7311980de43810370d76523ed9b293fb41
├── a0
│ └── 09ace51ccf46bab4ac06100a225a1fa1801e65
├── a1
│ └── 23d1fd22c30898d9bea602f04e79c577204191
├── a2
│ └── 8d430940083f447bdd0946db56b3ab74d855ef
├── a7
│ ├── 08840baf959d79f41d93677c4fcc4e7dca396b
│ └── 6cf1f2e4312077f944d433f318a477bbde84bd
├── a8
│ └── e4462f20340b73db6df04da3a3fa0dd842713f
├── aa
│ └── 9363ecb712071e878dd178a66e67fe4f970285
├── ac
│ └── 033bf9dc846101320c96a5ce8aceb8c96ec098
├── ad
│ └── dad95f46cc74d55b6c8780da1d26b66104d618
├── ae
│ └── ff9096f824eebf936e717fd8ebd958b70d46d4
├── b1
│ └── 6e53d6d56d262ebcd7692c54616a9df2a30f8b
├── b3
│ ├── c43eaabe07615c057ea68789c8f0f6bae71f51
│ └── ce20acba9fcf0f5b8f23aa92d44714859831e7
├── b4
│ └── 488a24672551abdb6a9671212d4ed5fd7e8aff
├── b6
│ ├── 842fd39d4e0253937372993e374aed23815ae1
│ └── e7280ec461d506967cd9b09367a5bb23ac308f
├── b7
│ └── aed002de9734309c91588854c5f8154ed60638
├── b8
│ └── 7ca86406299302d7485cae6ca573c5d255e18b
├── b9
│ └── 24754116f6d58da22cfcda7c8986798fb76686
├── ba
│ ├── 31c424d4f9c5330427854aeb8cd41b7fccbaca
│ └── cd4761a70e7216611c1a01cfd31e9cc404703c
├── bb
│ ├── 787cd5b18782f23f4dda336bf2e970526ab2a1
│ ├── c679f2c956148b647319745e1e5a0d6ea53188
│ └── fc3961bffef15dabb35fe0de4c409d6efb58c5
├── bc
│ └── 1510c0b5b68d89b8daefd6c21c4e3595d947c6
├── be
│ └── a5eb91890af294a27174dbe05aed7348b06370
├── c0
│ └── 8eac0d1df79f30154726ea242c08e0ee851c4b
├── c2
│ └── bacef836f2140d11d42535643d4d204b9d519c
├── c4
│ ├── 192631f25b34d77a7f159aa0da0e3ae99c4ef4
│ ├── 2881e76cc56e8091fbce5264be703bcc72b749
│ └── f4ce922eaa98c9f5c6d27c0b22324fe5d45016
├── c6
│ ├── e6d5f93220fd82379983ec366bc85eb6698d50
│ └── fd7590574cdde2eb3e5294641e7ee77a105ced
├── c8
│ ├── 08667ab56f550cc5ecae200230fa315da87f73
│ └── 34355418b56edf59cf62eb345aceb8efde334b
├── c9
│ └── 119b40c08eff8aef2d607f5bf42424483cbd15
├── cb
│ └── d34d2e9dd1176aeddb1efe6e1aeb0e2afd2931
├── ce
│ └── 3e102e477a9707b22a84465c0aa6dd14b99d50
├── cf
│ └── 5ea7c84706bd34ed42dcb1639474befd0a5972
├── d0
│ └── 5ea0f51121598f49fa5bebf85fa0723d33d1a4
├── d1
│ ├── 6d9af7434fab65b18780112a0427417e06dcd9
│ └── 9212abd5ced9378de164299b0eab073b16bd7e
├── d2
│ ├── 089f6b0c99fdc277b597ab56d83f8cd4d1e367
│ └── 3a7305c037a8bd627243217a3d98e93784cd95
├── d5
│ └── a2f6ed746ff862b56c98ca7616872a528d4397
├── d6
│ └── 7269728300b9dac6a4a0db443ece02d7b6c513
├── db
│ ├── d735e5fe8e274d032c48db019e0ee1e8d27846
│ └── e81b1992c6dcd1edeb47785dbdc2835775f42f
├── dc
│ └── 1899682b01c3a6d9673faf746e235fb64fc4d2
├── de
│ ├── 68f34b821e7ac8eb7bd2c2e21ced78b1440a4b
│ ├── 6be7945c6a59798eb0ace177df38b05e98c2f0
│ ├── cc5a85735df127f96b89043ed6c6911713941a
│ ├── d31c0d80df45c2c6216ecfb83444689acd0b68
│ └── e720facdcda703fe5067aef3fcec32c121f50b
├── e0
│ └── 338af6deb14aabcd79af5d1e47dfdf8474c872
├── e1
│ ├── 44d8dfb10683ef0fac596df1d05ce07eacf384
│ ├── 80ef17bada344e32e92a0f9499cf592461e521
│ ├── e9e9b910b34c1dc6477c69a16fbaa70c7fb462
│ └── faa4cbc1fa7c11a048bcd0608624b28cb1bf34
├── e3
│ ├── 4cd8b9135eb51f7e541023b81f7d206f721d57
│ └── c4ff0b8e55bace5ee73e69e9e1825834976641
├── e4
│ └── c125e02e9fbe66bebbd7382f7f54060a5781ca
├── e6
│ ├── 5b839257736a4842a419a60c3e5ca1f7cae0bf
│ └── 9de29bb2d1d6434b8b29ae775ad8c2e48c5391
├── e8
│ └── 5f913914bd9d1342eae4cdd97b5520733a592a
├── e9
│ └── f5cc14232633814ea83436a846ab5f23e23d94
├── ec
│ └── 792bd72b01057c87dc3ab4f565e4e3aef1c145
├── ee
│ └── 8dce5416e6ab070df60a4c6188266c653adcdd
├── ef
│ └── 1f79dc0783211cd05b8f1587588ad48b3ab9f4
├── f3
│ └── 000e332d8faa2f8496c72b6b83ab199ca63959
├── f4
│ └── e8c6e182a70c827464014857c378bc2a1b2a29
├── f7
│ ├── 682117f1e0d915cc97c38965852050f888c721
│ └── ba0b527b16a6f539991825ecd72c2e9b6e3af0
├── fa
│ └── 229300acbf80b6b63e40ffb3e71819d4885b44
└── fe
│ ├── 37e115ca6e397cc2778d8ee2aeb3e682e8cda7
│ ├── 6c744edaa5d02c30231f22e5b6b9fc0f2932e7
│ └── 960121e629f669bdc98e89eda4734fd9512080
├── package.json
├── packed-refs
├── public
├── 404.html
├── 422.html
├── 500.html
├── apple-touch-icon-precomposed.png
├── apple-touch-icon.png
├── favicon.ico
├── images
│ ├── kouhosha_ogp.png
│ └── top-bg.jpg
└── robots.txt
├── refs
├── heads
│ ├── develop
│ └── master
└── remotes
│ └── origin
│ └── HEAD
├── run_rails_cmd.sh
├── test
├── application_system_test_case.rb
├── controllers
│ ├── .keep
│ ├── hirei_senkyokus_controller_test.rb
│ ├── prefs_controller_test.rb
│ └── search_controller_test.rb
├── fixtures
│ ├── .keep
│ ├── cities.yml
│ ├── files
│ │ └── .keep
│ ├── hirei_senkyokus.yml
│ ├── pref_hirei_senkyokus.yml
│ ├── prefs.yml
│ ├── senkyoku_zip_codes.yml
│ ├── senkyokus.yml
│ └── zip_codes.yml
├── helpers
│ └── .keep
├── integration
│ └── .keep
├── mailers
│ └── .keep
├── models
│ ├── .keep
│ ├── city_test.rb
│ ├── hirei_senkyoku_test.rb
│ ├── pref_hirei_senkyoku_test.rb
│ ├── pref_test.rb
│ ├── senkyoku_test.rb
│ ├── senkyoku_zip_code_test.rb
│ └── zip_code_test.rb
├── system
│ ├── .keep
│ ├── prefs_test.rb
│ └── senkyokus_test.rb
└── test_helper.rb
├── tmp
└── .keep
├── vendor
└── .keep
└── yarn.lock
/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": [
3 | ["env", {
4 | "modules": false,
5 | "targets": {
6 | "browsers": "> 1%",
7 | "uglify": true
8 | },
9 | "useBuiltIns": true
10 | }]
11 | ],
12 |
13 | "plugins": [
14 | "syntax-dynamic-import",
15 | "transform-object-rest-spread",
16 | ["transform-class-properties", { "spec": true }]
17 | ]
18 | }
19 |
--------------------------------------------------------------------------------
/.circleci/config.yml:
--------------------------------------------------------------------------------
1 | version: 2
2 | jobs:
3 | build-job:
4 | docker:
5 | - image: circleci/ruby:2.4-node
6 | environment:
7 | RAILS_ENV: test
8 | DB_HOST: 127.0.0.1
9 | - image: circleci/mysql:5.7
10 | command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_bin
11 | environment:
12 | MYSQL_USER: root
13 | MYSQL_ALLOW_EMPTY_PASSWORD: yes
14 | steps:
15 | - checkout
16 | - run: bundle install --path vendor/bundle
17 | - run: bundle exec rails db:setup
18 | - run: bundle exec rake graydb:import
19 | - run:
20 | name: Run tests
21 | command: bundle exec rake test
22 |
23 | deploy-job:
24 | docker:
25 | - image: circleci/ruby:2.4-node
26 | steps:
27 | - checkout
28 | - run: bundle install --path vendor/bundle
29 | - run: bundle exec cap production deploy
30 |
31 | workflows:
32 | version: 2
33 | build-deploy:
34 | jobs:
35 | - build-job
36 | - deploy-job:
37 | requires:
38 | - build-job
39 | filters:
40 | branches:
41 | only: production
42 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files for more about ignoring files.
2 | #
3 | # If you find yourself ignoring temporary files generated by your text editor
4 | # or operating system, you probably want to add a global ignore instead:
5 | # git config --global core.excludesfile '~/.gitignore_global'
6 |
7 | # Ignore bundler config.
8 | /.bundle
9 |
10 | # Ignore all logfiles and tempfiles.
11 | /log/*
12 | /tmp/*
13 | !/log/.keep
14 | !/tmp/.keep
15 |
16 | /node_modules
17 | /yarn-error.log
18 |
19 | .byebug_history
20 | /public/packs
21 | /public/packs-test
22 | /node_modules
23 | .idea
24 | dist
25 |
26 | .ssh/id_rsa
27 | vendor/ruby
28 |
--------------------------------------------------------------------------------
/.postcssrc.yml:
--------------------------------------------------------------------------------
1 | plugins:
2 | postcss-smart-import: {}
3 | postcss-cssnext: {}
4 |
--------------------------------------------------------------------------------
/.ssh/keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/.ssh/keep
--------------------------------------------------------------------------------
/CNAME:
--------------------------------------------------------------------------------
1 | election.code4japan.org
--------------------------------------------------------------------------------
/COMMIT_EDITMSG:
--------------------------------------------------------------------------------
1 | first commit for webapp.
2 |
--------------------------------------------------------------------------------
/Capfile:
--------------------------------------------------------------------------------
1 | require "capistrano/setup"
2 | require "capistrano/deploy"
3 | require "capistrano/scm/git"
4 | install_plugin Capistrano::SCM::Git
5 |
6 | require 'rvm1/capistrano3'
7 | require 'capistrano/bundler'
8 | require 'capistrano/rails/migrations'
9 | require 'capistrano/rails/assets'
10 | Dir.glob('lib/capistrano/tasks/*.rake').each { |r| import r }
11 |
--------------------------------------------------------------------------------
/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM ruby:2.4.2
2 |
3 | # シェルスクリプトとしてbashを利用
4 | RUN rm /bin/sh && ln -s /bin/bash /bin/sh
5 |
6 | # .ssh/ 配下をホストにコピー(id_rsa が必要であれば予めコピーしておくこと)
7 | ADD .ssh /root/.ssh
8 | RUN chown -R root:root /root/.ssh
9 | RUN chmod -R 700 /root/.ssh
10 |
11 | # 必要なライブラリインストール
12 | RUN apt-get update -qq && apt-get install -y build-essential libpq-dev
13 |
14 | # yarnパッケージ管理ツールインストール
15 | RUN apt-get update && apt-get install -y curl apt-transport-https wget && \
16 | curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
17 | echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \
18 | apt-get update && apt-get install -y yarn && \
19 | apt-get install -y nginx
20 | # Node.jsをインストール
21 | RUN curl -sL https://deb.nodesource.com/setup_7.x | bash - && apt-get install nodejs
22 |
23 | # Nginx
24 | ADD nginx.conf /etc/nginx/sites-available/app.conf
25 | RUN rm -f /etc/nginx/sites-enabled/default && \
26 | ln -s /etc/nginx/sites-available/app.conf /etc/nginx/sites-enabled/app.conf
27 |
28 | # ワークディレクトリ設定
29 | ENV ROOT_PATH /codeforelection_front
30 | RUN mkdir $ROOT_PATH
31 | WORKDIR $ROOT_PATH
32 | ADD Gemfile $ROOT_PATH/Gemfile
33 | ADD Gemfile.lock $ROOT_PATH/Gemfile.lock
34 | RUN bundle install
35 | ADD . $ROOT_PATH
36 |
--------------------------------------------------------------------------------
/Gemfile:
--------------------------------------------------------------------------------
1 | source 'https://rubygems.org'
2 |
3 | git_source(:github) do |repo_name|
4 | repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
5 | "https://github.com/#{repo_name}.git"
6 | end
7 |
8 |
9 | # Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
10 | gem 'rails', '~> 5.1.4'
11 | # Use mysql as the database for Active Record
12 | gem 'mysql2', '>= 0.3.18', '< 0.5'
13 | # Use Puma as the app server
14 | gem 'puma', '~> 3.7'
15 | # Use SCSS for stylesheets
16 | gem 'sass-rails', '~> 5.0'
17 | # Use Uglifier as compressor for JavaScript assets
18 | gem 'uglifier', '>= 1.3.0'
19 | # Transpile app-like JavaScript. Read more: https://github.com/rails/webpacker
20 | gem 'webpacker', github: "rails/webpacker"
21 | # See https://github.com/rails/execjs#readme for more supported runtimes
22 | # gem 'therubyracer', platforms: :ruby
23 |
24 | # Use CoffeeScript for .coffee assets and views
25 | gem 'coffee-rails', '~> 4.2'
26 | # Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
27 | gem 'turbolinks', '~> 5'
28 | # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
29 | gem 'jbuilder', '~> 2.5'
30 | # Use Redis adapter to run Action Cable in production
31 | # gem 'redis', '~> 3.0'
32 | # Use ActiveModel has_secure_password
33 | # gem 'bcrypt', '~> 3.1.7'
34 | gem 'kaminari'
35 |
36 | gem 'activerecord-import'
37 |
38 | # Use Capistrano for deployment
39 | # gem 'capistrano-rails', group: :development
40 | gem 'capistrano','~> 3.7.2'
41 | gem 'capistrano-rails','~> 1.1.6', require: false
42 | gem 'capistrano-bundler','~> 1.1.4', require: false
43 | gem 'rvm1-capistrano3','~> 1.4.0', require: false
44 | gem 'unicorn'
45 | gem 'lograge'
46 | gem 'act-fluent-logger-rails'
47 |
48 | group :development, :test do
49 | # Call 'byebug' anywhere in the code to stop execution and get a debugger console
50 | gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
51 | # Adds support for Capybara system testing and selenium driver
52 | gem 'capybara', '~> 2.13'
53 | gem 'selenium-webdriver'
54 | end
55 |
56 | group :development do
57 | # Access an IRB console on exception pages or by using <%= console %> anywhere in the code.
58 | gem 'web-console', '>= 3.3.0'
59 | gem 'listen', '>= 3.0.5', '< 3.2'
60 | # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
61 | gem 'spring'
62 | gem 'spring-watcher-listen', '~> 2.0.0'
63 | gem 'foreman'
64 | gem 'rails-erd', '~> 1.5.0'
65 | end
66 |
67 | # Windows does not include zoneinfo files, so bundle the tzinfo-data gem
68 | gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
69 |
--------------------------------------------------------------------------------
/HEAD:
--------------------------------------------------------------------------------
1 | ref: refs/heads/develop
2 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2017 Code for Japan
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/Procfile.dev:
--------------------------------------------------------------------------------
1 | Procweb: rm -f /codeforelection_front/tmp/pids/server.pid && mkdir -p /codeforelection_front/tmp/sockets && bundle exec pumactl start
2 | nginx: /usr/sbin/nginx -g 'daemon off;' -c /etc/nginx/nginx.conf
3 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | [](https://circleci.com/gh/codeforjapan/codeforelection_front/tree/production)
2 |
3 | ## Code for 選挙プロジェクトへようこそ
4 | | ⚠️ This repository has been archived and will no longer be maintained. Thanks for all the stars, help and brainstorms! |
5 |
6 |
7 | Code for 選挙プロジェクトは、2017年衆議院選挙候補者のオープンなデータベースを作り、候補者の政策及び過去の実績を中立的に参照できるサイトを制作することを目的としています。
8 |
9 | ## プロジェクトについて
10 |
11 | [こちらの Github リポジトリ](https://github.com/codeforjapan/codeforelection)を参照下さい。
12 |
13 | ## インストール方法
14 |
15 | dockerのインストールすると簡単にセットアップすることが可能です。
16 |
17 | ```bash
18 | docker-compose build
19 | docker-compose up -d db
20 | docker-compose run --rm app bundle exec rails db:setup
21 | docker-compose up
22 | ```
23 |
24 |
25 | 候補者データのインポートは、docker-compose upでサーバを立ち上げた状態で、下記のコマンドを実行することで可能です。
26 |
27 | ```bash
28 | docker-compose exec app bundle exec rake graydb:import
29 | ```
30 |
31 | その後、ブラウザから http://localhost:3000 にアクセスして下さい。
32 |
--------------------------------------------------------------------------------
/Rakefile:
--------------------------------------------------------------------------------
1 | # Add your own tasks in files placed in lib/tasks ending in .rake,
2 | # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3 |
4 | require_relative 'config/application'
5 |
6 | Rails.application.load_tasks
7 |
--------------------------------------------------------------------------------
/_config.yml:
--------------------------------------------------------------------------------
1 | theme: jekyll-theme-cayman
2 | title: Code for 選挙
3 | description: 衆院選2017候補者オープンデータ作成プロジェクト
4 | google_analytics: UA-45275834-5
5 |
--------------------------------------------------------------------------------
/app/assets/config/manifest.js:
--------------------------------------------------------------------------------
1 | //= link_tree ../images
2 | //= link_directory ../javascripts .js
3 | //= link_directory ../stylesheets .css
4 |
--------------------------------------------------------------------------------
/app/assets/images/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/app/assets/images/.keep
--------------------------------------------------------------------------------
/app/assets/images/Facebook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/app/assets/images/Facebook.png
--------------------------------------------------------------------------------
/app/assets/images/Instagram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/app/assets/images/Instagram.png
--------------------------------------------------------------------------------
/app/assets/images/Internet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/app/assets/images/Internet.png
--------------------------------------------------------------------------------
/app/assets/images/Line.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/app/assets/images/Line.png
--------------------------------------------------------------------------------
/app/assets/images/Person@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/app/assets/images/Person@2x.png
--------------------------------------------------------------------------------
/app/assets/images/Twitter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/app/assets/images/Twitter.png
--------------------------------------------------------------------------------
/app/assets/images/Wikipedia.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/app/assets/images/Wikipedia.png
--------------------------------------------------------------------------------
/app/assets/images/Youtube.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/app/assets/images/Youtube.png
--------------------------------------------------------------------------------
/app/assets/javascripts/application.js:
--------------------------------------------------------------------------------
1 | // This is a manifest file that'll be compiled into application.js, which will include all the files
2 | // listed below.
3 | //
4 | // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, or any plugin's
5 | // vendor/assets/javascripts directory can be referenced here using a relative path.
6 | //
7 | // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8 | // compiled file. JavaScript code in this file should be added after the last require_* statement.
9 | //
10 | // Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
11 | // about supported directives.
12 | //
13 | //= require rails-ujs
14 | //= require turbolinks
15 | //= require_tree .
16 |
--------------------------------------------------------------------------------
/app/assets/javascripts/cable.js:
--------------------------------------------------------------------------------
1 | // Action Cable provides the framework to deal with WebSockets in Rails.
2 | // You can generate new channels where WebSocket features live using the `rails generate channel` command.
3 | //
4 | //= require action_cable
5 | //= require_self
6 | //= require_tree ./channels
7 |
8 | (function() {
9 | this.App || (this.App = {});
10 |
11 | App.cable = ActionCable.createConsumer();
12 |
13 | }).call(this);
14 |
--------------------------------------------------------------------------------
/app/assets/javascripts/channels/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/app/assets/javascripts/channels/.keep
--------------------------------------------------------------------------------
/app/assets/javascripts/hirei_senkyokus.coffee:
--------------------------------------------------------------------------------
1 | # Place all the behaviors and hooks related to the matching controller here.
2 | # All this logic will automatically be available in application.js.
3 | # You can use CoffeeScript in this file: http://coffeescript.org/
4 |
--------------------------------------------------------------------------------
/app/assets/javascripts/prefs.coffee:
--------------------------------------------------------------------------------
1 | # Place all the behaviors and hooks related to the matching controller here.
2 | # All this logic will automatically be available in application.js.
3 | # You can use CoffeeScript in this file: http://coffeescript.org/
4 |
--------------------------------------------------------------------------------
/app/assets/javascripts/search.coffee:
--------------------------------------------------------------------------------
1 | # Place all the behaviors and hooks related to the matching controller here.
2 | # All this logic will automatically be available in application.js.
3 | # You can use CoffeeScript in this file: http://coffeescript.org/
4 |
--------------------------------------------------------------------------------
/app/assets/javascripts/senkyokus.coffee:
--------------------------------------------------------------------------------
1 | # Place all the behaviors and hooks related to the matching controller here.
2 | # All this logic will automatically be available in application.js.
3 | # You can use CoffeeScript in this file: http://coffeescript.org/
4 |
--------------------------------------------------------------------------------
/app/assets/javascripts/static.coffee:
--------------------------------------------------------------------------------
1 | # Place all the behaviors and hooks related to the matching controller here.
2 | # All this logic will automatically be available in application.js.
3 | # You can use CoffeeScript in this file: http://coffeescript.org/
4 |
--------------------------------------------------------------------------------
/app/assets/stylesheets/application.sass:
--------------------------------------------------------------------------------
1 | /*
2 | * This is a manifest file that'll be compiled into application.css, which will include all the files
3 | * listed below.
4 | *
5 | * Any CSS and SCSS file within this directory, lib/assets/stylesheets, or any plugin's
6 | * vendor/assets/stylesheets directory can be referenced here using a relative path.
7 | *
8 | * You're free to add application-wide styles to this file and they'll appear at the bottom of the
9 | * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
10 | * files in this directory. Styles in this file should be added after the last require_* statement.
11 | * It is generally better to create a new file per style scope.
12 | *
13 | *= require_tree .
14 | *= require_self
15 | */
16 | @import "./atoms/responsive.sass"
17 | body
18 | margin: 0
19 | .container
20 | max-width: 1192px
21 | padding-right: 15px
22 | padding-left: 15px
23 | margin-right: auto
24 | margin-left: auto
25 |
26 | ul#menu
27 | list-style-type: none
28 | margin: 0
29 | padding: 0
30 | overflow: hidden
31 | background-color: #333
32 | li
33 | float: left
34 | li
35 | a
36 | display: block
37 | color: white
38 | text-align: center
39 | padding: 14px 16px
40 | text-decoration: none
41 | @media #{$sp}
42 | font-size: 14px
43 | @media #{$xs}
44 | font-size: 12px
45 | a:hover
46 | background-color: #111
47 |
48 | .pc
49 | display: block
50 | @media #{$sp}
51 | display: none
52 | .sp
53 | display: none
54 | @media #{$sp}
55 | display: block
56 |
--------------------------------------------------------------------------------
/app/assets/stylesheets/atoms/colors.sass:
--------------------------------------------------------------------------------
1 | $color-grey: #BDBDBD
2 | $color-red: #B7183F
3 |
--------------------------------------------------------------------------------
/app/assets/stylesheets/atoms/responsive.sass:
--------------------------------------------------------------------------------
1 | $xs: "only screen and (max-width: 320px), (max-device-width: 320px)"
2 | $sp: "only screen and (max-width: 450px), (max-device-width: 450px)"
--------------------------------------------------------------------------------
/app/assets/stylesheets/atoms/typo.sass:
--------------------------------------------------------------------------------
1 | @import "./responsive.sass"
2 | .typo-1
3 | font-size: 48px
4 | font-weight: 600
5 | @media #{$sp}
6 | font-size: 24px
7 | @media #{$xs}
8 | font-size: 18px
9 |
10 | .typo-2
11 | font-size: 24px
12 | @media #{$sp}
13 | font-size: 12px
14 |
15 | .typo-3
16 | font-size: 20px
17 | font-weight: 600
18 | @media #{$sp}
19 | font-size: 10px
20 |
21 | .typo-text-1
22 | font-size: 16px
23 | @media #{$sp}
24 | font-size: 8px
--------------------------------------------------------------------------------
/app/assets/stylesheets/hirei-senkyokus/hirei-senkyoku-block.sass:
--------------------------------------------------------------------------------
1 | .hirei-senkyoku-block
2 | width: 250px
3 | height: 120px
4 | background-color: #219653
5 | margin: 1px
6 | &:hover
7 | background-color: #1C7D46
8 | transition: .1s
9 | .typo-text-1
10 | width: 100%
11 | text-align: center
12 | font-size: 1.5em
13 | text-decoration: none
14 | height: 120px
15 | line-height: 120px
16 | a
17 | color: #FFFFFF
18 | text-decoration: none
19 | display: block
20 | .hirei_senkyoku_party
21 | width: 100%
22 |
--------------------------------------------------------------------------------
/app/assets/stylesheets/molecules/area-type.sass:
--------------------------------------------------------------------------------
1 | .area-type
2 | width: 20px
3 | height: 20px
4 | display: inline-block
5 | border-radius: 50px
6 | background-color: #C4C4C4
7 | line-height: 20px
8 | text-align: center
9 |
--------------------------------------------------------------------------------
/app/assets/stylesheets/molecules/detail-button.sass:
--------------------------------------------------------------------------------
1 | @import "../atoms/responsive.sass"
2 | a.link
3 | text-decoration: none
4 | .detail-btn
5 | cursor: pointer
6 | background-color: #C4C4C4
7 | width: 120px
8 | height: 40px
9 | border-radius: 20px
10 | @media #{$xs}
11 | width: 100px
12 | p.typo-2
13 | line-height: 40px
14 | color: #FFFFFF
15 | text-align: center
16 |
--------------------------------------------------------------------------------
/app/assets/stylesheets/molecules/person.sass:
--------------------------------------------------------------------------------
1 | .person
2 | img
3 | height: 217px
4 | width: 217px
5 |
--------------------------------------------------------------------------------
/app/assets/stylesheets/molecules/search-bar.sass:
--------------------------------------------------------------------------------
1 | @import "../atoms/responsive.sass"
2 | .search-bar
3 | height: 60px
4 | display: flex
5 | align-items: center
6 | justify-content: center
7 | border: 1px solid #BDBDBD
8 | border-radius: 60px
9 | position: relative
10 | width: 430px
11 | margin: 0 auto
12 | background-color: #FFFFFF
13 | @media #{$sp}
14 | height: 45px
15 | width: 325px
16 | @media #{$xs}
17 | width: 260px
18 | form
19 | width: 100%
20 | .typo-2
21 | width: 80%
22 | border: none
23 | padding: 0
24 | margin: 0 40px
25 | background: transparent
26 | text-align: center
27 | @media #{$xs}
28 | margin: 0 25px
29 | .fa-search
30 | position: absolute
31 | font-size: 24px
32 | line-height: 36px
33 | right: 20px
34 | top: 0.5em
35 | @media #{$sp}
36 | line-height: 21px
37 |
--------------------------------------------------------------------------------
/app/assets/stylesheets/molecules/social-icons.sass:
--------------------------------------------------------------------------------
1 | .icons-wrapper
2 | margin: 0 auto
3 | padding-top: 20px
4 | display: flex
5 | flex-wrap: nowrap
6 | justify-content: center
7 | .icon-item
8 | margin-right: 15px
9 |
--------------------------------------------------------------------------------
/app/assets/stylesheets/organisms/detail-block.sass:
--------------------------------------------------------------------------------
1 | .candidate-detail-wrapper
2 | margin: 0 80px
3 | .detail-item
4 | margin-bottom: 50px
5 | &:first-child
6 | margin-top: 50px
7 | p.typo-text-1
8 | margin-bottom: 5px
9 | p.typo-2
10 | margin-top: 5px
--------------------------------------------------------------------------------
/app/assets/stylesheets/organisms/footer.sass:
--------------------------------------------------------------------------------
1 | #footer
2 | background-color: #F2F2F2
3 | display: block
4 | clear: both
5 | text-align: center
6 | padding: 25px 0
7 | a
8 | color: #2F80ED
9 | text-decoration: none
10 | font-weight: 500
11 |
12 |
--------------------------------------------------------------------------------
/app/assets/stylesheets/organisms/list-header.sass:
--------------------------------------------------------------------------------
1 | @import "../atoms/responsive.sass"
2 | .list-header
3 | background-color: #333333
4 | min-height: 250px
5 | @media #{$sp}
6 | min-height: 200px
7 | .header-search-bar
8 | float: right
9 | width: 270px
10 | color: #FFFFFF
11 | margin: 20px 15px 0
12 | @media #{$sp}
13 | width: 180px
14 | .search-bar
15 | width: 100%
16 | background: none
17 | .typo-2
18 | background: none
19 | color: #FFFFFF
20 | margin: 0 15px
21 | @media #{$sp}
22 | font-size: 14px
23 | .header-senkyoku-name
24 | padding-top: 55px
25 | text-align: center
26 | font-size: 42px
27 | color: #FFFFFF
28 | @media #{$sp}
29 | padding-top: 74px
30 | font-size: 30px
31 | .header-title
32 | padding-top: 55px
33 | text-align: center
34 | font-size: 42px
35 | color: #FFFFFF
36 |
--------------------------------------------------------------------------------
/app/assets/stylesheets/organisms/person-block.sass:
--------------------------------------------------------------------------------
1 | @import "../atoms/responsive.sass"
2 | .person-block
3 | width: 100%
4 | height: 380px
5 | background-color: #F2F2F2
6 | display: flex
7 | align-items: center
8 | justify-content: center
9 | // margin-right: 30px
10 | @media #{$sp}
11 | height: 240px
12 | .profile
13 | width: 100%
14 | display: flex
15 | justify-content: space-around
16 | text-align: center
17 | align-items: flex-start
18 | flex-direction: column
19 | // margin-right: 30px
20 | .typo-text-1
21 | text-align: center
22 | margin: 0 auto
23 | .typo-3
24 | text-align: center
25 | margin: 0 auto
26 | .column
27 | display: flex
28 | align-items: baseline
29 | margin: 0 auto
30 | .person-name
31 | margin-right: 16px
32 |
--------------------------------------------------------------------------------
/app/assets/stylesheets/organisms/person-item.sass:
--------------------------------------------------------------------------------
1 | @import "../atoms/responsive.sass"
2 | .person-item
3 | width: 315px
4 | background-color: #F2F2F2
5 | display: flex
6 | align-items: center
7 | padding: 20px 0
8 | flex-direction: column
9 | .column
10 | display: flex
11 | align-items: baseline
12 | .person-name
13 | margin-right: 16px
14 | .former-job
15 | margin-right: 16px
16 | .person-age
17 | margin-right: 16px
18 |
--------------------------------------------------------------------------------
/app/assets/stylesheets/prefs.scss:
--------------------------------------------------------------------------------
1 | // Place all the styles related to the prefs controller here.
2 | // They will automatically be included in application.css.
3 | // You can use Sass (SCSS) here: http://sass-lang.com/
4 |
--------------------------------------------------------------------------------
/app/assets/stylesheets/prefs/show.sass:
--------------------------------------------------------------------------------
1 | .senkyokus
2 | display: flex
3 | justify-content: center
4 | align-items: center
5 | flex-direction: row
6 | flex-wrap: wrap
7 | margin: 30px
--------------------------------------------------------------------------------
/app/assets/stylesheets/search/new.sass:
--------------------------------------------------------------------------------
1 | #top
2 | text-align: center
3 | margin-top: 0
4 | background: url(image_path('top-bg.jpg')) center center / cover no-repeat
5 | width: 100%
6 | height: 100%
7 | padding: 72px 0
8 | h1.typo-1
9 | margin-top: 0
10 | .search-wrapper
11 | padding-bottom: 60px
12 | padding-top: 20px
13 | margin: 0 auto
14 | width: 90%
15 | margin-top: 30px
16 | margin-bottom: 30px
17 | h1
18 | text-align: center
19 | .top-desc
20 | padding: 0 15px
21 | #area-block
22 | .prefs
23 | display: flex
24 | justify-content: center
25 | align-items: center
26 | flex-direction: row
27 | flex-wrap: wrap
28 | margin: 30px 0
--------------------------------------------------------------------------------
/app/assets/stylesheets/search/show.sass:
--------------------------------------------------------------------------------
1 | @import "../atoms/responsive.sass"
2 | .candidate-wrapper
3 | margin: 0 10px
4 | display: -webkit-flex
5 | display: flex
6 | flex-wrap: wrap
7 | .person-item
8 | width: calc(33.3% - 20px)
9 | margin: 10px
10 | @media #{$sp}
11 | width: calc(50% - 20px)
12 |
--------------------------------------------------------------------------------
/app/assets/stylesheets/senkyokus/senkyoku-block.sass:
--------------------------------------------------------------------------------
1 | @import "../atoms/responsive.sass"
2 | .senkyoku-block
3 | width: 120px
4 | height: 120px
5 | background-color: #219653
6 | margin: 1px
7 | @media #{$sp}
8 | width: 90px
9 | height: 90px
10 | &:hover
11 | background-color: #1C7D46
12 | transition: .1s
13 | .typo-text-1
14 | width: 100%
15 | text-align: center
16 | font-size: 1.5em
17 | text-decoration: none
18 | height: 120px
19 | line-height: 120px
20 | @media #{$sp}
21 | height: 90px
22 | line-height: 90px
23 | a
24 | color: #FFFFFF
25 | text-decoration: none
26 | display: block
27 |
--------------------------------------------------------------------------------
/app/assets/stylesheets/static.sass:
--------------------------------------------------------------------------------
1 | // Place all the styles related to the Static controller here.
2 | // They will automatically be included in application.css.
3 | // You can use Sass (SCSS) here: http://sass-lang.com/
4 | .default
5 | margin: 0 80px
6 |
--------------------------------------------------------------------------------
/app/channels/application_cable/channel.rb:
--------------------------------------------------------------------------------
1 | module ApplicationCable
2 | class Channel < ActionCable::Channel::Base
3 | end
4 | end
5 |
--------------------------------------------------------------------------------
/app/channels/application_cable/connection.rb:
--------------------------------------------------------------------------------
1 | module ApplicationCable
2 | class Connection < ActionCable::Connection::Base
3 | end
4 | end
5 |
--------------------------------------------------------------------------------
/app/controllers/application_controller.rb:
--------------------------------------------------------------------------------
1 | class ApplicationController < ActionController::Base
2 | protect_from_forgery with: :exception
3 |
4 | rescue_from ActionController::RoutingError, with: :render_404
5 | rescue_from ActiveRecord::RecordNotFound, with: :render_404
6 |
7 | def render_404(exception = nil)
8 | render template: "errors/404", status: 404, formats: [:html]
9 | end
10 | end
11 |
--------------------------------------------------------------------------------
/app/controllers/candidates_controller.rb:
--------------------------------------------------------------------------------
1 | class CandidatesController < ApplicationController
2 | before_action :set_candidate, only: [:show]
3 |
4 | def show
5 | end
6 |
7 | private
8 | def set_candidate
9 | @candidate = Candidate.find_by!(wikidata_id: candidate_params[:id])
10 | @title = @candidate.full_name
11 | end
12 | def candidate_params
13 | params.permit(:id)
14 | end
15 |
16 | end
17 |
--------------------------------------------------------------------------------
/app/controllers/concerns/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/app/controllers/concerns/.keep
--------------------------------------------------------------------------------
/app/controllers/hirei_senkyokus_controller.rb:
--------------------------------------------------------------------------------
1 | class HireiSenkyokusController < ApplicationController
2 |
3 | def show
4 | @hirei_senkyoku = HireiSenkyoku.find_by(name: params[:name])
5 | @candidates = Candidate.includes(:party).where(hirei_area_id: @hirei_senkyoku.id).order('party_id, hirei_meibo_order_no').group_by {|candidate| candidate.party_id }
6 |
7 | @title = @hirei_senkyoku.name
8 | end
9 |
10 | end
11 |
--------------------------------------------------------------------------------
/app/controllers/prefs_controller.rb:
--------------------------------------------------------------------------------
1 | class PrefsController < ApplicationController
2 |
3 | def show
4 | @pref = Pref.find_by!(pref_code: pref_params[:pref_code])
5 | @title = "#{@pref.name}の選挙区"
6 | end
7 |
8 |
9 | private
10 | # Never trust parameters from the scary internet, only allow the white list through.
11 | def pref_params
12 | params.permit(:pref_code)
13 | end
14 |
15 | end
16 |
--------------------------------------------------------------------------------
/app/controllers/search_controller.rb:
--------------------------------------------------------------------------------
1 | class SearchController < ApplicationController
2 |
3 | def new
4 | @title = APP_SUB_TITLE
5 | end
6 |
7 | def index
8 | end
9 |
10 | def show
11 | _zip_code = params[:zip_code].gsub(/\D/, "")
12 | @senkyoku = ZipCode.where("zip_code LIKE ?", "#{_zip_code}%").first.senkyokus.first
13 | @title = "#{@senkyoku.name}の候補者一覧"
14 | end
15 |
16 | def by_name
17 | @keyword = params[:keyword]
18 | tokens = @keyword.scan(/\p{hiragana}+|\p{katakana}+|\p{Han}+|[A-Za-z]+/)
19 | last_name = tokens.first || ''
20 | first_name = (tokens[1..-1] || []).join('')
21 |
22 | if @keyword.blank?
23 | query = Candidate.all
24 | elsif first_name.blank?
25 | query = Candidate.single_name_search(last_name)
26 | else
27 | query = Candidate.pair_name_search(last_name, first_name)
28 | end
29 | @candidates = query.order('submission_order ASC').limit(100).to_a
30 |
31 | @title = "#{@keyword}の検索結果一覧"
32 | end
33 |
34 | private
35 | # Never trust parameters from the scary internet, only allow the white list through.
36 | def search_params
37 | params.permit(:zip_code)
38 | end
39 |
40 | end
41 |
--------------------------------------------------------------------------------
/app/controllers/senkyokus_controller.rb:
--------------------------------------------------------------------------------
1 | class SenkyokusController < ApplicationController
2 |
3 | # GET /senkyokus/1
4 | # GET /senkyokus/1.json
5 | def show
6 | @senkyoku = Senkyoku.find_by!(pref_code: senkyoku_params[:pref_code], senkyoku_no: senkyoku_params[:senkyoku_no])
7 | @title = @senkyoku.name
8 | end
9 |
10 | private
11 | # Never trust parameters from the scary internet, only allow the white list through.
12 | def senkyoku_params
13 | params.permit(:pref_code, :senkyoku_no)
14 | end
15 | end
16 |
--------------------------------------------------------------------------------
/app/controllers/static_controller.rb:
--------------------------------------------------------------------------------
1 | class StaticController < ApplicationController
2 | def about
3 | @title ="#{APP_SUB_TITLE}について"
4 | end
5 |
6 | def data
7 | @title = "データについて"
8 | end
9 | end
10 |
--------------------------------------------------------------------------------
/app/helpers/application_helper.rb:
--------------------------------------------------------------------------------
1 | module ApplicationHelper
2 | end
3 |
--------------------------------------------------------------------------------
/app/helpers/hirei_senkyokus_helper.rb:
--------------------------------------------------------------------------------
1 | module HireiSenkyokusHelper
2 | end
3 |
--------------------------------------------------------------------------------
/app/helpers/prefs_helper.rb:
--------------------------------------------------------------------------------
1 | module PrefsHelper
2 | end
3 |
--------------------------------------------------------------------------------
/app/helpers/search_helper.rb:
--------------------------------------------------------------------------------
1 | module SearchHelper
2 | end
3 |
--------------------------------------------------------------------------------
/app/helpers/senkyokus_helper.rb:
--------------------------------------------------------------------------------
1 | module SenkyokusHelper
2 | end
3 |
--------------------------------------------------------------------------------
/app/helpers/static_helper.rb:
--------------------------------------------------------------------------------
1 | module StaticHelper
2 | end
3 |
--------------------------------------------------------------------------------
/app/javascript/packs/application.js:
--------------------------------------------------------------------------------
1 | /* eslint no-console:0 */
2 | // This file is automatically compiled by Webpack, along with any other files
3 | // present in this directory. You're encouraged to place your actual application logic in
4 | // a relevant structure within app/javascript and only use these pack files to reference
5 | // that code so it'll be compiled.
6 | //
7 | // To reference this file, add <%= javascript_pack_tag 'application' %> to the appropriate
8 | // layout file, like app/views/layouts/application.html.erb
9 |
10 | console.log('Hello World from Webpacker')
11 |
--------------------------------------------------------------------------------
/app/jobs/application_job.rb:
--------------------------------------------------------------------------------
1 | class ApplicationJob < ActiveJob::Base
2 | end
3 |
--------------------------------------------------------------------------------
/app/mailers/application_mailer.rb:
--------------------------------------------------------------------------------
1 | class ApplicationMailer < ActionMailer::Base
2 | default from: 'from@example.com'
3 | layout 'mailer'
4 | end
5 |
--------------------------------------------------------------------------------
/app/models/application_record.rb:
--------------------------------------------------------------------------------
1 | class ApplicationRecord < ActiveRecord::Base
2 | self.abstract_class = true
3 | end
4 |
--------------------------------------------------------------------------------
/app/models/candidate.rb:
--------------------------------------------------------------------------------
1 | class Candidate < ApplicationRecord
2 |
3 | belongs_to :senkyoku, optional: true
4 | belongs_to :party, optional: true
5 | belongs_to :hirei_senkyoku, optional: true, foreign_key: 'hirei_area_id', class_name: 'HireiSenkyoku'
6 |
7 | validates :name_first, presence: true
8 | validates :name_last, presence: true
9 | validates :wikidata_id, presence: true, uniqueness: true
10 |
11 | scope :single_name_search, ->(name) do
12 | where(
13 | '(name_last LIKE ? OR name_last_furigana LIKE ?)' +
14 | ' OR (name_first LIKE ? OR name_first_furigana LIKE ?)' +
15 | ' OR CONCAT(name_last, name_first) LIKE ?' +
16 | ' OR CONCAT(name_last_furigana, name_first_furigana) LIKE ?',
17 | *6.times.map { like_escape(name) + '%' }
18 | )
19 | end
20 |
21 | scope :pair_name_search, ->(last_name, first_name) do
22 | last_like = like_escape(last_name) + '%'
23 | first_like = like_escape(first_name) + '%'
24 | full_like = like_escape(last_name + first_name) + '%'
25 | where(
26 | '(name_last LIKE ? OR name_last_furigana LIKE ?)' +
27 | ' AND (name_first LIKE ? OR name_first_furigana LIKE ?)' +
28 | ' OR CONCAT(name_last, name_first) LIKE ?' +
29 | ' OR CONCAT(name_last_furigana, name_first_furigana) LIKE ?' +
30 | # User maybe input the part of candidate's first name.
31 | ' OR name_first LIKE ? OR name_first_furigana LIKE ?',
32 | last_like, last_like, first_like, first_like, *4.times.map { full_like }
33 | )
34 | end
35 |
36 | def self.like_escape(str)
37 | # http://d.hatena.ne.jp/teracc/20090703/1246576620
38 | str.gsub(/([\\%_])/, '\\\\\\1')
39 | end
40 |
41 | def age(unit = "")
42 | if self.birth_day.present?
43 | sprintf("%d",((Time.now.to_i - self.birth_day.to_time.to_i) / 60 / 60 / 24) / 365) + unit
44 | end
45 | end
46 | def full_name
47 | "#{self.name_last} #{self.name_first}"
48 | end
49 | def full_name_furigana
50 | "#{self.name_last_furigana} #{self.name_first_furigana}"
51 | end
52 | def birth_day_to_jp
53 | self.birth_day.try(:strftime, "%Y年%m月%d日") || '-'
54 | end
55 | def gender_label
56 | case self.gender
57 | when 1
58 | "男性"
59 | when 2
60 | "女性"
61 | else
62 | "-"
63 | end
64 | end
65 | def current_position_label
66 | case current_position
67 | when 1
68 | '現職'
69 | when 2
70 | '新人'
71 | when 3
72 | '元職'
73 | else
74 | '-'
75 | end
76 | end
77 | def is_hirei
78 | hirei_area_id.blank? ? false : true
79 | end
80 | def is_syosenkyoku
81 | senkyoku_id.blank? ? false : true
82 | end
83 | def twitter_link
84 | "https://twitter.com/#{self.twitter_id}" if self.twitter_id and self.twitter_id != '-'
85 | end
86 | def facebook_link
87 | self.facebook_id unless self.facebook_id == '-'
88 | end
89 | def official_website_link
90 | self.official_website_url
91 | end
92 | end
93 |
--------------------------------------------------------------------------------
/app/models/city.rb:
--------------------------------------------------------------------------------
1 | class City < ApplicationRecord
2 | validates :city_code, presence: true, uniqueness: true
3 |
4 | end
5 |
--------------------------------------------------------------------------------
/app/models/concerns/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/app/models/concerns/.keep
--------------------------------------------------------------------------------
/app/models/hirei_senkyoku.rb:
--------------------------------------------------------------------------------
1 | class HireiSenkyoku < ApplicationRecord
2 |
3 | has_many :hirei_senkyoku_prefs
4 | has_many :prefs, through: :hirei_senkyoku_prefs
5 | has_many :candidates, foreign_key: 'hirei_area_id', class_name: 'Candidate'
6 |
7 | validates :name, presence: true, uniqueness: true
8 | end
9 |
--------------------------------------------------------------------------------
/app/models/hirei_senkyoku_pref.rb:
--------------------------------------------------------------------------------
1 | class HireiSenkyokuPref < ApplicationRecord
2 | self.table_name = :hirei_senkyokus_prefs
3 |
4 | validates :pref_id, presence: true, uniqueness: { scope: :hirei_senkyoku_id }
5 | validates :hirei_senkyoku_id, presence: true
6 |
7 | belongs_to :pref
8 | belongs_to :hirei_senkyoku
9 | end
10 |
--------------------------------------------------------------------------------
/app/models/party.rb:
--------------------------------------------------------------------------------
1 | class Party < ApplicationRecord
2 | has_many :candidates
3 |
4 | validates :full_name, presence: true, uniqueness: true
5 | validates :short_name, presence: true
6 | end
7 |
--------------------------------------------------------------------------------
/app/models/pref.rb:
--------------------------------------------------------------------------------
1 | class Pref < ApplicationRecord
2 | has_many :senkyokus, foreign_key: "pref_code", primary_key: "pref_code"
3 |
4 | has_one :hirei_senkyoku_pref
5 | has_one :hirei_senkyoku, through: :hirei_senkyoku_pref
6 |
7 | validates :pref_code, presence: true
8 | validates :name, presence: true
9 |
10 | end
11 |
--------------------------------------------------------------------------------
/app/models/senkyoku.rb:
--------------------------------------------------------------------------------
1 | class Senkyoku < ApplicationRecord
2 |
3 | belongs_to :pref, foreign_key: "pref_code", primary_key: "pref_code"
4 | has_many :candidates
5 | has_many :senkyoku_zip_codes
6 | has_many :zipcodes, through: :senkyoku_zip_codes
7 |
8 | validates :pref_code, presence: true
9 | validates :senkyoku_no, presence: true
10 |
11 | def name
12 | "#{pref.name}第#{senkyoku_no}選挙区"
13 | end
14 |
15 | end
16 |
--------------------------------------------------------------------------------
/app/models/senkyoku_zip_code.rb:
--------------------------------------------------------------------------------
1 | class SenkyokuZipCode < ApplicationRecord
2 | self.table_name = :senkyokus_zip_codes
3 |
4 | belongs_to :zip_code
5 | belongs_to :senkyoku
6 |
7 | validates :senkyoku_id, presence: true
8 | validates :zip_code_id, presence: true
9 | validates :zip_code_id, uniqueness: { scope: :senkyoku_id }
10 |
11 | end
12 |
--------------------------------------------------------------------------------
/app/models/zip_code.rb:
--------------------------------------------------------------------------------
1 | class ZipCode < ApplicationRecord
2 |
3 | has_many :senkyoku_zip_codes
4 | has_many :senkyokus, through: :senkyoku_zip_codes
5 |
6 | validates :zip_code, presence: true, uniqueness: true
7 | end
8 |
--------------------------------------------------------------------------------
/app/views/candidates/show.html.erb:
--------------------------------------------------------------------------------
1 | <%= render partial:'layouts/organisms/person-block',
2 | locals: {
3 | party: @candidate.party.try(:full_name),
4 | name: @candidate.full_name,
5 | furigana: @candidate.full_name_furigana,
6 | age: @candidate.age("歳"),
7 | job: @candidate.current_position_label,
8 | image: asset_path('Person@2x.png'),
9 | isHirei: @candidate.is_hirei,
10 | isSyosenkyoku: @candidate.is_syosenkyoku,
11 | facebookLink: @candidate.facebook_link,
12 | internetLink: @candidate.official_website_link,
13 | twitterLink: @candidate.twitter_link
14 | } %>
15 | <%= render partial:'layouts/organisms/detail-block',
16 | locals: {
17 | name: @candidate.full_name,
18 | party: @candidate.party.try(:full_name),
19 | job: @candidate.current_position_label,
20 | sex: @candidate.gender_label,
21 | birthDay: @candidate.birth_day_to_jp
22 | } %>
23 |
--------------------------------------------------------------------------------
/app/views/errors/404.html.erb:
--------------------------------------------------------------------------------
1 |
2 |
2017年衆議院選挙候補者インフォ
3 |
4 |
5 | このサイトでは、郵便番号からあなたの住む地域の選挙区と立候補者を検索し、その候補者の情報を表示することができます。
6 | 全ての候補者の情報は、中立的な立場で収集した事実情報に基いています。
7 |
8 |
9 | お探しのリソースは見つかりませんでした
10 |
--------------------------------------------------------------------------------
/app/views/hirei_senkyokus/show.html.erb:
--------------------------------------------------------------------------------
1 | <%= render :partial=>'layouts/organisms/list-header', :locals=>{ senkyokuName: @hirei_senkyoku.name} %>
2 |
3 | <% if @hirei_senkyoku.present? %>
4 |
5 |
6 | <% @candidates.each do |party| %>
7 |
<%= party[1].first.party.full_name %>
8 | <%= render partial: 'search/candidate', collection: party[1] %>
9 | <% end %>
10 |
11 |
12 | <% else %>
13 |
入力された郵便番号では選挙区は見つかりませんでした
14 | <% end %>
15 |
--------------------------------------------------------------------------------
/app/views/layouts/application.html.erb:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | <%= @title %> | <%= APP_TITLE %>
5 | <%= csrf_meta_tags %>
6 |
7 | <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
8 | <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
9 |
10 |
11 |
12 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 | <%= render 'layouts/organisms/menu' %>
31 | <%= yield %>
32 | <%= render 'layouts/organisms/footer' %>
33 |
34 |
35 |
--------------------------------------------------------------------------------
/app/views/layouts/hirei-senkyokus/_hirei-senkyoku-block.html.erb:
--------------------------------------------------------------------------------
1 |
2 |
3 | <%= link_to label_name, link_url %>
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/views/layouts/mailer.html.erb:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
8 |
9 |
10 |
11 | <%= yield %>
12 |
13 |
14 |
--------------------------------------------------------------------------------
/app/views/layouts/mailer.text.erb:
--------------------------------------------------------------------------------
1 | <%= yield %>
2 |
--------------------------------------------------------------------------------
/app/views/layouts/molecules/_area-type.html.erb:
--------------------------------------------------------------------------------
1 | <% if isSyosenkyoku == true %>
2 |
5 | <% end %>
6 |
7 | <% if isHirei == true %>
8 |
11 | <% end %>
12 |
--------------------------------------------------------------------------------
/app/views/layouts/molecules/_detail-button.html.erb:
--------------------------------------------------------------------------------
1 | <%= link_to detailUrl, class: "link" do %>
2 |
5 | <% end %>
6 |
--------------------------------------------------------------------------------
/app/views/layouts/molecules/_person.html.erb:
--------------------------------------------------------------------------------
1 |
2 |

3 |
4 |
--------------------------------------------------------------------------------
/app/views/layouts/molecules/_searchbar.html.erb:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
--------------------------------------------------------------------------------
/app/views/layouts/molecules/_searchbar_by_name.html.erb:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
--------------------------------------------------------------------------------
/app/views/layouts/molecules/_social-icons.html.erb:
--------------------------------------------------------------------------------
1 |
2 | <% if facebookLink.present? %>
3 | <%= link_to image_tag("Facebook.png", size: "38x38", alt: "Facebook Link", class: "icon-item"), facebookLink, { class: "icon-link" } %>
4 | <% end %>
5 | <% if internetLink.present? %>
6 | <%= link_to image_tag("Internet.png", size: "38x38", alt: "Internet Link", class: "icon-item"), internetLink, { class: "icon-link" } %>
7 | <% end %>
8 | <% if twitterLink.present? %>
9 | <%= link_to image_tag("Twitter.png", size: "38x38", alt: "Twitter Link", class: "icon-item"), twitterLink, { class: "icon-link" } %>
10 | <% end %>
11 |
12 |
--------------------------------------------------------------------------------
/app/views/layouts/organisms/_detail-block.html.erb:
--------------------------------------------------------------------------------
1 |
2 |
3 |
本名
4 |
<%= name %>
5 |
6 |
7 |
公認政党
8 |
<%= party %>
9 |
10 |
11 |
前職
12 |
<%= job %>
13 |
14 |
15 |
性別
16 |
<%= sex %>
17 |
18 |
19 |
生年月日
20 |
<%= birthDay %>
21 |
22 |
23 |
--------------------------------------------------------------------------------
/app/views/layouts/organisms/_footer.html.erb:
--------------------------------------------------------------------------------
1 |
25 |
--------------------------------------------------------------------------------
/app/views/layouts/organisms/_list-header.html.erb:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/app/views/layouts/organisms/_menu.html.erb:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/app/views/layouts/organisms/_person-block.html.erb:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | <%= party %> <%= render partial:'layouts/molecules/area-type', locals: { isHirei: isHirei, isSyosenkyoku: isSyosenkyoku } %>
5 |
6 |
7 |
<%= name %>
8 |
<%= age %>
9 |
10 |
<%= furigana %>
11 |
<%= job %>
12 | <%= render partial:'layouts/molecules/social-icons',
13 | locals: {
14 | facebookLink: facebookLink,
15 | internetLink: internetLink,
16 | twitterLink: twitterLink
17 | }
18 | %>
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/app/views/layouts/organisms/_person-item.html.erb:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | <%= party %>
5 | <%= render partial:'layouts/molecules/area-type', locals: { isHirei: isHirei, isSyosenkyoku: isSyosenkyoku } %>
6 |
7 |
8 |
11 |
<%= furigana %>
12 |
<%= age %>
13 |
<%= job %>
14 | <%= render partial:'layouts/molecules/detail-button', locals: {detailUrl: detailUrl} %>
15 |
16 |
--------------------------------------------------------------------------------
/app/views/layouts/senkyokus/_senkyoku-block.html.erb:
--------------------------------------------------------------------------------
1 |
2 |
3 | <%= link_to label_name, link_url %>
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/views/layouts/static/_default.html.erb:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/app/views/prefs/show.html.erb:
--------------------------------------------------------------------------------
1 | <%= render :partial=>'layouts/organisms/list-header', :locals=>{ senkyokuName: @pref.name} %>
2 |
3 |
小選挙区
4 |
5 |
6 | <% @pref.senkyokus.order('senkyoku_no ASC').each do |senkyoku| %>
7 | <%= render 'layouts/senkyokus/senkyoku-block',
8 | label_name: "#{senkyoku.senkyoku_no}区",
9 | link_url: "/senkyoku/#{@pref.pref_code}/#{senkyoku.senkyoku_no}"
10 | %>
11 | <% end %>
12 |
13 |
14 |
--------------------------------------------------------------------------------
/app/views/prefs/show.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.partial! "prefs/pref", pref: @pref
2 |
--------------------------------------------------------------------------------
/app/views/search/_candidate.html.erb:
--------------------------------------------------------------------------------
1 | <%= render 'layouts/organisms/person-item',
2 | party: candidate.party.try(:short_name) || "無所属",
3 | name: candidate.full_name,
4 | furigana: candidate.full_name_furigana,
5 | age: candidate.age("歳"),
6 | job: candidate.current_position_label,
7 | areaType: nil,
8 | isHirei: candidate.is_hirei,
9 | isSyosenkyoku: candidate.is_syosenkyoku,
10 | image: asset_path('Person@2x.png'),
11 | detailUrl: candidate_path(id: candidate.wikidata_id)
12 | %>
13 |
--------------------------------------------------------------------------------
/app/views/search/by_name.html.erb:
--------------------------------------------------------------------------------
1 | <%= render :partial=>'layouts/organisms/list-header', :locals=>{ senkyokuName: "#{@keyword}の検索結果" } %>
2 |
3 | <% if @candidates.empty? %>
4 | 入力された名前では候補者は見つかりませんでした
5 | <% else %>
6 |
7 |
8 | <%= render partial: 'candidate', collection: @candidates %>
9 |
10 | <% end %>
11 |
--------------------------------------------------------------------------------
/app/views/search/index.html.erb:
--------------------------------------------------------------------------------
1 | Code for 選挙
2 |
3 | <%= form_tag("/search", method: "get") do %>
4 | <%= label_tag(:zip_code, "郵便番号:") %>
5 | <%= text_field_tag(:zip_code) %>
6 | <%= submit_tag("Search") %>
7 | <% end %>
8 |
9 |
10 | atoms
11 | typo-1
12 | typo-2
13 | typo-text-1
14 |
15 |
16 |
17 | molecules
18 | <%= render partial:'layouts/molecules/searchbar', locals: {propName:'prop', placeHolder:'郵便番号', val:''} %>
19 | <%= render partial:'layouts/molecules/person', locals: {src: asset_path('Person@2x.png') } %>
20 | <%= render partial:'layouts/molecules/area-type', locals: {isHirei: false, isSyosenkyoku: true} %>
21 | <%= render partial:'layouts/molecules/detail-button', locals: {detailUrl: '/'} %>
22 | <%= render partial:'layouts/molecules/social-icons',
23 | locals: {
24 | facebookLink: '/',
25 | instagramLink: '/',
26 | internetLink: '/',
27 | lineLink: '/',
28 | twitterLink: '/',
29 | wikipediaLink: '/',
30 | youtubeLink: '/'
31 | }
32 | %>
33 |
34 | organisms
35 | <%= render partial:'layouts/organisms/person-item',
36 | locals: {
37 | party: '甘党',
38 | name: '山田太郎',
39 | furigana: 'やまだたろう',
40 | age: '30',
41 | job: 'ニート',
42 | isDuplication: false,
43 | image: asset_path('Person@2x.png'),
44 | detailUrl: '/',
45 | isHirei: false,
46 | areaType: nil
47 | } %>
48 | <%= render partial:'layouts/organisms/list-header',
49 | locals: {
50 | zipCode: '106-0032',
51 | senkyokuName: '東京都第1選挙区',
52 | } %>
53 |
54 | Block
55 |
56 | <%= render 'layouts/senkyokus/senkyoku-block',
57 | label_name: '北海道',
58 | link_url: "/senkyoku/01"
59 | %>
60 |
61 | <%= render partial:'layouts/organisms/person-block',
62 | locals: {
63 | party: '甘党',
64 | name: '山田太郎',
65 | furigana: 'やまだたろう',
66 | age: '30',
67 | job: 'ニート',
68 | image: asset_path('Person@2x.png'),
69 | areaType: nil,
70 | isHirei: true,
71 | facebookLink: '/',
72 | instagramLink: '/',
73 | internetLink: '/',
74 | lineLink: '/',
75 | twitterLink: '/',
76 | wikipediaLink: '/',
77 | youtubeLink: '/'
78 | } %>
79 | <%= render partial:'layouts/organisms/detail-block',
80 | locals: {
81 | name: '山田太郎',
82 | party: '甘党',
83 | recommendationParty: '推薦政党が入ります',
84 | previousParty: '以前の政党が入ります',
85 | job: '前職',
86 | candidacyHistory: '過去の立候補歴',
87 | sex: '男性',
88 | birthDay: '1900年1月1日',
89 | birthPlace: '出生地',
90 | latestEducationalBackground: '最新の学歴が入ります',
91 | educationalBackground: '学歴の履歴が入ります',
92 | career: '職歴',
93 | publicOffice: '公職',
94 | father: '父親',
95 | mate: '配偶者'
96 | } %>
97 |
--------------------------------------------------------------------------------
/app/views/search/new.html.erb:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
2017年衆議院選挙
候補者インフォ
5 |
6 |
7 |
郵便番号で検索
8 | <%= render partial:'layouts/molecules/searchbar'%>
9 | 候補者名で検索
10 | <%= render partial:'layouts/molecules/searchbar_by_name'%>
11 |
12 |
13 | このサイトでは、郵便番号からあなたの住む地域の選挙区と立候補者を検索し、その候補者の情報を表示することができます。
14 | 全ての候補者の情報は、中立的な立場で収集した事実情報に基いています。
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
小選挙区
24 |
25 | <% Pref.all.order(:id).each do |pref| %>
26 | <%= render 'layouts/senkyokus/senkyoku-block',
27 | label_name: pref.name,
28 | link_url: "/senkyoku/#{pref.pref_code}"
29 | %>
30 | <% end %>
31 |
32 |
33 |
34 |
比例代表
35 |
36 | <% HireiSenkyoku.all.order(:id).each do |hirei| %>
37 | <%= render 'layouts/hirei-senkyokus/hirei-senkyoku-block',
38 | label_name: hirei.name,
39 | link_url: hirei_senkyoku_path(hirei.name)
40 | %>
41 | <% end %>
42 |
43 |
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/app/views/search/show.html.erb:
--------------------------------------------------------------------------------
1 | <%= render :partial=>'layouts/organisms/list-header', :locals=>{ senkyokuName: @senkyoku.name} %>
2 |
3 | <% if @senkyoku.present? %>
4 |
5 | <%= render partial: 'candidate', collection: @senkyoku.candidates.order('submission_order ASC') %>
6 |
7 | <% else %>
8 | 入力された郵便番号では選挙区は見つかりませんでした
9 | <% end %>
10 |
--------------------------------------------------------------------------------
/app/views/senkyokus/_senkyoku.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.extract! senkyoku, :id, :pref_code, :senkyoku_no, :created_at, :updated_at
2 | json.url senkyoku_url(senkyoku, format: :json)
3 |
--------------------------------------------------------------------------------
/app/views/senkyokus/show.html.erb:
--------------------------------------------------------------------------------
1 | <%= render :partial=>'layouts/organisms/list-header', :locals=>{ senkyokuName: @senkyoku.name} %>
2 |
3 | <% if @senkyoku.present? %>
4 |
5 |
6 | <% @senkyoku.candidates.order('submission_order ASC').each do | candidate | %>
7 | <%= render 'layouts/organisms/person-item',
8 | party: candidate.party.try(:short_name) || "無所属",
9 | name: candidate.full_name,
10 | furigana: candidate.full_name_furigana,
11 | age: candidate.age("歳"),
12 | job: candidate.current_position_label,
13 | isSyosenkyoku: candidate.is_syosenkyoku,
14 | isHirei: candidate.is_hirei,
15 | image: asset_path('Person@2x.png'),
16 | detailUrl: candidate_path(id: candidate.wikidata_id)
17 | %>
18 | <% end %>
19 |
20 |
21 | <% else %>
22 | 入力された郵便番号では選挙区は見つかりませんでした
23 | <% end %>
24 |
--------------------------------------------------------------------------------
/app/views/senkyokus/show.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.partial! "senkyokus/senkyoku", senkyoku: @senkyoku
2 |
--------------------------------------------------------------------------------
/app/views/static/about.html.erb:
--------------------------------------------------------------------------------
1 | <%= render partial:'layouts/static/default',
2 | locals: {
3 | header: @title,
4 | } %>
5 |
6 |
7 |
8 |
9 | 候補者や政党を選んで投票するためには対象をよく知る必要があります。そのためにインターネットは本来便利に使えるツールであるはずです。しかしながら公式な発表は紙であったりPDFであったり、利用しやすいデータはなかなか見つかりません。現状は各種メディアやボランティアが個々の努力で情報を収集し見やすく提供する役割を果たしていますが、集められたデータが明示的に二次利用可能な形で公開されていることはあまりありません。
10 | 東日本大震災の際に電力会社が利用状況をAPIで提供したところ勝手アプリが次々と立ち上がって様々な視覚化が行われました。公共性の高いデータは利用しやすい形式(CSVで十分)で提供することで、様々な利用が促進される可能性があります。
11 | 今回私達が作っているデータは本サイト(kouhosha.info)で人間が検索しやすい画面形式で提供すると同時に、オープンなライセンスの機械が処理しやすいCSVなどの形式でも提供します。様々な用途に利用され、客観的な事実に基づく意思決定の一助となることを願ってやみません。
12 |
13 |
14 |
利用規約
15 |
16 | 本サイトの検索結果として表示されるデータや、一括ダウンロードできるCSVなどのデータは特に断りが無い限り、CC0(いわゆるパブリック・ドメイン相当) の下に公開します。従ってクレジット表記等なしに自由に利用可能で、他のライセンスのコンテンツとの混ぜ合わせ利用も(当方としては)問題ありません。
17 | なお、Code for 選挙プロジェクトは利用者がコンテンツを用いて行う一切の行為(コンテンツを編集・加工等した情報を利用することを含む。)について何ら責任を負うものではありません。また、コンテンツは、予告なく変更、移転、削除等が行われることがあります。内容の誤りや過不足についてはフィードバックを頂ければ幸いです。
18 |
19 |
運営者について
20 |
21 | 本サイトの運営、及びデータ収集については、Code for Japanの呼びかけに応じて集まった、Code for 選挙プロジェクトチームによって行われています。このプロジェクトには、誰でも参加することが可能です。
22 | 本サイト自体の改善作業に加わりたい方は、本サイトのGithubリポジトリ をご覧ください。
23 | データ作成のプロジェクトに加わりたい方は、候補者データベース作成リポジトリ を御覧ください。
24 | また、議論に加わりたい方は、Code for Japan の Slack チーム にご加入いただき、#codeforelection チャンネルに加わってください。
25 |
26 |
謝辞
27 |
28 | 謝辞:本サイトの構築やデータ収集にあたりボランタリーに参加してくれたエンジニア、デザイナー、高校生、非営利組織の方々など、そしてデータを一部提供頂いた政治Navi(Dot-jp)のみなさま、ありがとうございました。
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/app/views/static/data.html.erb:
--------------------------------------------------------------------------------
1 | <%= render partial:'layouts/static/default',
2 | locals: {
3 | header: 'データについて',
4 | } %>
5 |
6 |
7 |
8 |
9 | 本サイトの検索結果として表示されるデータや、一括ダウンロードできるCSVなどのデータは特に断りが無い限り、CC0(いわゆるパブリック・ドメイン相当) の下に公開します。従ってクレジット表記等なしに自由に利用可能で、他のライセンスのコンテンツとの混ぜ合わせ利用も(当方としては)問題ありません。
10 | なお、Code for 選挙プロジェクトは利用者がコンテンツを用いて行う一切の行為(コンテンツを編集・加工等した情報を利用することを含む。)について何ら責任を負うものではありません。また、コンテンツは、予告なく変更、移転、削除等が行われることがあります。内容の誤りや過不足についてはフィードバックを頂ければ幸いです。
11 |
12 |
13 |
ダウンロードできるデータ
14 |
15 | 本サイトのデータは、以下のリンクからダウンロードして利用することができます。
16 |
候補者データ
17 |
候補者データダウンロード
18 |
19 | 文字コードはUTF8で、以下のデータが含まれています。現在、全てデータが揃っているものと、整備中のものがありますのでお気をつけください。
20 |
21 |
22 |
郵便番号-小選挙区検索データ
23 | 7桁の郵便番号(事業所番号は除く)から、対応する289選挙区への対応を取れるオープンデータを作成しました。
24 |
郵便番号-小選挙区データダウンロード
25 |
データ仕様
26 | - 郵便番号をキーとして格納
27 | - 該当郵便番号の基礎自治体の行政コード、および小選挙区番号が含まれます
28 | - 都道府県は行政コードからご利用ください。
29 |
30 | データ例
31 |
32 | {
33 | "1050000":{"cityCode":"13103","senkyoNum":"1"},
34 | "1050001":{"cityCode":"13103","senkyoNum":"2"},
35 | "1050002":{"cityCode":"13103","senkyoNum":"2"},
36 | //以下略
37 | }
38 |
39 |
44 |
45 |
--------------------------------------------------------------------------------
/bin/bundle:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
3 | load Gem.bin_path('bundler', 'bundle')
4 |
--------------------------------------------------------------------------------
/bin/rails:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | APP_PATH = File.expand_path('../config/application', __dir__)
3 | require_relative '../config/boot'
4 | require 'rails/commands'
5 |
--------------------------------------------------------------------------------
/bin/rake:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | require_relative '../config/boot'
3 | require 'rake'
4 | Rake.application.run
5 |
--------------------------------------------------------------------------------
/bin/setup:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | require 'pathname'
3 | require 'fileutils'
4 | include FileUtils
5 |
6 | # path to your application root.
7 | APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
8 |
9 | def system!(*args)
10 | system(*args) || abort("\n== Command #{args} failed ==")
11 | end
12 |
13 | chdir APP_ROOT do
14 | # This script is a starting point to setup your application.
15 | # Add necessary setup steps to this file.
16 |
17 | puts '== Installing dependencies =='
18 | system! 'gem install bundler --conservative'
19 | system('bundle check') || system!('bundle install')
20 |
21 | # Install JavaScript dependencies if using Yarn
22 | # system('bin/yarn')
23 |
24 |
25 | # puts "\n== Copying sample files =="
26 | # unless File.exist?('config/database.yml')
27 | # cp 'config/database.yml.sample', 'config/database.yml'
28 | # end
29 |
30 | puts "\n== Preparing database =="
31 | system! 'bin/rails db:setup'
32 |
33 | puts "\n== Removing old logs and tempfiles =="
34 | system! 'bin/rails log:clear tmp:clear'
35 |
36 | puts "\n== Restarting application server =="
37 | system! 'bin/rails restart'
38 | end
39 |
--------------------------------------------------------------------------------
/bin/update:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | require 'pathname'
3 | require 'fileutils'
4 | include FileUtils
5 |
6 | # path to your application root.
7 | APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
8 |
9 | def system!(*args)
10 | system(*args) || abort("\n== Command #{args} failed ==")
11 | end
12 |
13 | chdir APP_ROOT do
14 | # This script is a way to update your development environment automatically.
15 | # Add necessary update steps to this file.
16 |
17 | puts '== Installing dependencies =='
18 | system! 'gem install bundler --conservative'
19 | system('bundle check') || system!('bundle install')
20 |
21 | puts "\n== Updating database =="
22 | system! 'bin/rails db:migrate'
23 |
24 | puts "\n== Removing old logs and tempfiles =="
25 | system! 'bin/rails log:clear tmp:clear'
26 |
27 | puts "\n== Restarting application server =="
28 | system! 'bin/rails restart'
29 | end
30 |
--------------------------------------------------------------------------------
/bin/webpack:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | # frozen_string_literal: true
3 | #
4 | # This file was generated by Bundler.
5 | #
6 | # The application 'webpack' is installed as part of a gem, and
7 | # this file is here to facilitate running it.
8 | #
9 |
10 | require "pathname"
11 | ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
12 | Pathname.new(__FILE__).realpath)
13 |
14 | require "rubygems"
15 | require "bundler/setup"
16 |
17 | load Gem.bin_path("webpacker", "webpack")
18 |
--------------------------------------------------------------------------------
/bin/webpack-dev-server:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | # frozen_string_literal: true
3 | #
4 | # This file was generated by Bundler.
5 | #
6 | # The application 'webpack-dev-server' is installed as part of a gem, and
7 | # this file is here to facilitate running it.
8 | #
9 |
10 | require "pathname"
11 | ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
12 | Pathname.new(__FILE__).realpath)
13 |
14 | require "rubygems"
15 | require "bundler/setup"
16 |
17 | load Gem.bin_path("webpacker", "webpack-dev-server")
18 |
--------------------------------------------------------------------------------
/bin/yarn:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | VENDOR_PATH = File.expand_path('..', __dir__)
3 | Dir.chdir(VENDOR_PATH) do
4 | begin
5 | exec "yarnpkg #{ARGV.join(" ")}"
6 | rescue Errno::ENOENT
7 | $stderr.puts "Yarn executable was not detected in the system."
8 | $stderr.puts "Download Yarn at https://yarnpkg.com/en/docs/install"
9 | exit 1
10 | end
11 | end
12 |
--------------------------------------------------------------------------------
/circle.yml:
--------------------------------------------------------------------------------
1 | machine:
2 | timezone:
3 | Asia/Tokyo
4 | ruby:
5 | version:
6 | 2.4.2
7 | deployment:
8 | production:
9 | branch: production
10 | commands:
11 | - bundle exec cap production deploy
12 |
--------------------------------------------------------------------------------
/config.ru:
--------------------------------------------------------------------------------
1 | # This file is used by Rack-based servers to start the application.
2 |
3 | require_relative 'config/environment'
4 |
5 | run Rails.application
6 |
--------------------------------------------------------------------------------
/config/application.rb:
--------------------------------------------------------------------------------
1 | require_relative 'boot'
2 |
3 | require 'rails/all'
4 |
5 | # Require the gems listed in Gemfile, including any gems
6 | # you've limited to :test, :development, or :production.
7 | Bundler.require(*Rails.groups)
8 |
9 | module CfjElectionFront
10 | class Application < Rails::Application
11 | # Initialize configuration defaults for originally generated Rails version.
12 | config.load_defaults 5.1
13 |
14 | # Settings in config/environments/* take precedence over those specified here.
15 | # Application configuration should go into files in config/initializers
16 | # -- all .rb files in that directory are automatically loaded.
17 | end
18 | end
19 |
--------------------------------------------------------------------------------
/config/boot.rb:
--------------------------------------------------------------------------------
1 | ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)
2 |
3 | require 'bundler/setup' # Set up gems listed in the Gemfile.
4 |
--------------------------------------------------------------------------------
/config/cable.yml:
--------------------------------------------------------------------------------
1 | development:
2 | adapter: async
3 |
4 | test:
5 | adapter: async
6 |
7 | production:
8 | adapter: redis
9 | url: redis://localhost:6379/1
10 | channel_prefix: cfj_election_front_production
11 |
--------------------------------------------------------------------------------
/config/database.yml:
--------------------------------------------------------------------------------
1 | # MySQL. Versions 5.1.10 and up are supported.
2 | #
3 | # Install the MySQL driver
4 | # gem install mysql2
5 | #
6 | # Ensure the MySQL gem is defined in your Gemfile
7 | # gem 'mysql2'
8 | #
9 | # And be sure to use new-style password hashing:
10 | # http://dev.mysql.com/doc/refman/5.7/en/old-client.html
11 | #
12 | default: &default
13 | adapter: mysql2
14 | encoding: utf8mb4
15 | collation: utf8mb4_general_ci
16 |
17 | pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
18 | username: root
19 | password: cfje_pw1
20 | host: db
21 |
22 | development:
23 | <<: *default
24 | database: cfje_devel
25 |
26 | # Warning: The database defined as "test" will be erased and
27 | # re-generated from your development database when you run "rake".
28 | # Do not set this db to the same as development or production.
29 | test:
30 | <<: *default
31 | database: cfje_test
32 | password:
33 | host: <%= ENV['DB_HOST'] || 'db' %>
34 |
35 | # As with config/secrets.yml, you never want to store sensitive information,
36 | # like your database password, in your source code. If your source code is
37 | # ever seen by anyone, they now have access to your database.
38 | #
39 | # Instead, provide the password as a unix environment variable when you boot
40 | # the app. Read http://guides.rubyonrails.org/configuring.html#configuring-a-database
41 | # for a full rundown on how to provide these environment variables in a
42 | # production deployment.
43 | #
44 | # On Heroku and other platform providers, you may have a full connection URL
45 | # available as an environment variable. For example:
46 | #
47 | # DATABASE_URL="mysql2://myuser:mypass@localhost/somedatabase"
48 | #
49 | # You can use this database configuration with:
50 | #
51 | # production:
52 | # url: <%= ENV['DATABASE_URL'] %>
53 | #
54 | production:
55 | <<: *default
56 | database: cfj_election_front_production
57 | username: cfj_election_front
58 | password: <%= ENV['CFJ_ELECTION_FRONT_DATABASE_PASSWORD'] %>
59 |
--------------------------------------------------------------------------------
/config/deploy.rb:
--------------------------------------------------------------------------------
1 | # config valid only for current version of Capistrano
2 | lock '3.7.2'
3 |
4 | set :application, 'codeforelection_front'
5 | set :repo_url, 'https://github.com/codeforjapan/codeforelection_front.git'
6 |
7 | # rvmの設定
8 | set :rvm_type, :system
9 | set :rvm1_ruby_version, '2.4.2'
10 |
11 | #set :rbenv_ruby, '2.4.2'
12 | #set :rbenv_prefix, "RBENV_ROOT=#{fetch(:rbenv_path)} RBENV_VERSION=#{fetch(:rbenv_ruby)} #{fetch(:rbenv_path)}/bin/rbenv exec"
13 | #set :rbenv_map_bins, %w{rake gem bundle ruby rails}
14 | #set :rbenv_roles, :all
15 |
16 | # Default branch is :master
17 | set :branch, 'production'
18 |
19 | # Default deploy_to directory is /var/www/my_app_name
20 | # set :deploy_to, '/var/www/my_app_name'
21 |
22 | # Default value for :scm is :git
23 | # set :scm, :git
24 |
25 | # Default value for :format is :pretty
26 | # set :format, :pretty
27 |
28 | # Default value for :log_level is :debug
29 | set :log_level, :warn
30 |
31 | # Default value for :pty is false
32 | # set :pty, true
33 |
34 | # Default value for :linked_files is []
35 | set :linked_files, fetch(:linked_files, []).push('config/database.yml', 'config/secrets.yml')
36 |
37 | # Default value for linked_dirs is []
38 | set :linked_dirs, fetch(:linked_dirs, []).push('log', 'tmp/pids', 'tmp/cache', 'tmp/sockets', 'vendor/bundle', 'public/system')
39 |
40 | # Default value for default_env is {}
41 | # set :default_env, { path: "/opt/ruby/bin:$PATH" }
42 |
43 | # Default value for keep_releases is 5
44 | set :keep_releases, 3
45 |
46 | set :unicorn_pid, "#{shared_path}/tmp/pids/unicorn.pid"
47 |
48 | namespace :deploy do
49 | desc 'restart application'
50 | task :restart do
51 | on roles(:app), in: :sequence, wait: 5 do
52 | invoke 'unicorn:restart'
53 | end
54 | end
55 |
56 | after :restart, :clear_cache do
57 | on roles(:web), in: :groups, limit: 3, wait: 10 do
58 | # Here we can do anything such as:
59 | # within release_path do
60 | # execute :rake, 'cache:clear'
61 | # end
62 | end
63 | end
64 |
65 | desc 'Seeds database'
66 | task :seed do
67 | on roles(:app) do
68 | within release_path do
69 | execute :bundle, :exec, :"rails db:seed RAILS_ENV=#{fetch(:stage)}"
70 | end
71 | end
72 | end
73 |
74 | desc 'graydb impport'
75 | task :graydb_import do
76 | on roles(:app) do
77 | within release_path do
78 | execute :bundle, :exec, :"rake graydb:import RAILS_ENV=#{fetch(:stage)}"
79 | end
80 | end
81 | end
82 | after :publishing, :restart
83 | after :finished, 'deploy:seed'
84 |
85 | end
86 |
--------------------------------------------------------------------------------
/config/deploy/production.rb:
--------------------------------------------------------------------------------
1 | set :branch, 'production'
2 |
3 | # server-based syntax
4 | # ======================
5 | # Defines a single server with a list of roles and multiple properties.
6 | # You can define all roles on a single server, or split them:
7 |
8 | # deploy先のサーバー情報を記載
9 | server '52.197.226.34', user: 'deployer', roles: %w{app db web}
10 | # server 'example.com', user: 'deploy', roles: %w{app web}, other_property: :other_value
11 | # server 'db.example.com', user: 'deploy', roles: %w{db}
12 |
13 |
14 | # role-based syntax
15 | # ==================
16 |
17 | # Defines a role with one or multiple servers. The primary server in each
18 | # group is considered to be the first unless any hosts have the primary
19 | # property set. Specify the username and a domain or IP for the server.
20 | # Don't use `:all`, it's a meta role.
21 |
22 | # role :app, %w{deploy@example.com}, my_property: :my_value
23 | # role :web, %w{user1@primary.com user2@additional.com}, other_property: :other_value
24 | # role :db, %w{deploy@example.com}
25 |
26 |
27 |
28 | # Configuration
29 | # =============
30 | # You can set any configuration variable like in config/deploy.rb
31 | # These variables are then only loaded and set in this stage.
32 | # For available Capistrano configuration variables see the documentation page.
33 | # http://capistranorb.com/documentation/getting-started/configuration/
34 | # Feel free to add new variables to customise your setup.
35 |
36 |
37 |
38 | # Custom SSH Options
39 | # ==================
40 | # You may pass any option but keep in mind that net/ssh understands a
41 | # limited set of options, consult the Net::SSH documentation.
42 | # http://net-ssh.github.io/net-ssh/classes/Net/SSH.html#method-c-start
43 | #
44 | # Global options
45 | # --------------
46 |
47 | # 設定したサーバーに対してsshログインするための設定。今回は公開鍵認証でログインする前提
48 | set :ssh_options, {
49 | keys: %w(~/.ssh/id_rsa),
50 | forward_agent: true,
51 | auth_methods: %w(publickey)
52 | }
53 | #
54 | # The server-based syntax can be used to override options:
55 | # ------------------------------------
56 | # server 'example.com',
57 | # user: 'user_name',
58 | # roles: %w{web app},
59 | # ssh_options: {
60 | # user: 'user_name', # overrides user setting above
61 | # keys: %w(/home/user_name/.ssh/id_rsa),
62 | # forward_agent: false,
63 | # auth_methods: %w(publickey password)
64 | # # password: 'please use keys'
65 | # }
66 |
--------------------------------------------------------------------------------
/config/environment.rb:
--------------------------------------------------------------------------------
1 | # Load the Rails application.
2 | require_relative 'application'
3 |
4 | # Initialize the Rails application.
5 | Rails.application.initialize!
6 |
7 | APP_TITLE = 'kouhosha.info'
8 | APP_SUB_TITLE = '2017年衆議院選挙候補者インフォ'
9 |
--------------------------------------------------------------------------------
/config/environments/development.rb:
--------------------------------------------------------------------------------
1 | Rails.application.configure do
2 | # Settings specified here will take precedence over those in config/application.rb.
3 |
4 | # In the development environment your application's code is reloaded on
5 | # every request. This slows down response time but is perfect for development
6 | # since you don't have to restart the web server when you make code changes.
7 | config.cache_classes = false
8 |
9 | # Do not eager load code on boot.
10 | config.eager_load = false
11 |
12 | # Show full error reports.
13 | config.consider_all_requests_local = true
14 |
15 | # Enable/disable caching. By default caching is disabled.
16 | if Rails.root.join('tmp/caching-dev.txt').exist?
17 | config.action_controller.perform_caching = true
18 |
19 | config.cache_store = :memory_store
20 | config.public_file_server.headers = {
21 | 'Cache-Control' => "public, max-age=#{2.days.seconds.to_i}"
22 | }
23 | else
24 | config.action_controller.perform_caching = false
25 |
26 | config.cache_store = :null_store
27 | end
28 |
29 | # Don't care if the mailer can't send.
30 | config.action_mailer.raise_delivery_errors = false
31 |
32 | config.action_mailer.perform_caching = false
33 |
34 | # Print deprecation notices to the Rails logger.
35 | config.active_support.deprecation = :log
36 |
37 | # Raise an error on page load if there are pending migrations.
38 | config.active_record.migration_error = :page_load
39 |
40 | # Debug mode disables concatenation and preprocessing of assets.
41 | # This option may cause significant delays in view rendering with a large
42 | # number of complex assets.
43 | config.assets.debug = true
44 |
45 | # Suppress logger output for asset requests.
46 | config.assets.quiet = true
47 |
48 | # Raises error for missing translations
49 | # config.action_view.raise_on_missing_translations = true
50 |
51 | # Use an evented file watcher to asynchronously detect changes in source code,
52 | # routes, locales, etc. This feature depends on the listen gem.
53 | config.file_watcher = ActiveSupport::EventedFileUpdateChecker
54 | end
55 |
--------------------------------------------------------------------------------
/config/environments/production.rb:
--------------------------------------------------------------------------------
1 | Rails.application.configure do
2 | # Settings specified here will take precedence over those in config/application.rb.
3 |
4 | # Code is not reloaded between requests.
5 | config.cache_classes = true
6 |
7 | # Eager load code on boot. This eager loads most of Rails and
8 | # your application in memory, allowing both threaded web servers
9 | # and those relying on copy on write to perform better.
10 | # Rake tasks automatically ignore this option for performance.
11 | config.eager_load = true
12 |
13 | # Full error reports are disabled and caching is turned on.
14 | config.consider_all_requests_local = false
15 | config.action_controller.perform_caching = true
16 |
17 | # Attempt to read encrypted secrets from `config/secrets.yml.enc`.
18 | # Requires an encryption key in `ENV["RAILS_MASTER_KEY"]` or
19 | # `config/secrets.yml.key`.
20 | config.read_encrypted_secrets = true
21 |
22 | # Disable serving static files from the `/public` folder by default since
23 | # Apache or NGINX already handles this.
24 | config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?
25 |
26 | # Compress JavaScripts and CSS.
27 | config.assets.js_compressor = :uglifier
28 | # config.assets.css_compressor = :sass
29 |
30 | # Do not fallback to assets pipeline if a precompiled asset is missed.
31 | config.assets.compile = false
32 |
33 | # `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb
34 |
35 | # Enable serving of images, stylesheets, and JavaScripts from an asset server.
36 | # config.action_controller.asset_host = 'http://assets.example.com'
37 |
38 | # Specifies the header that your server uses for sending files.
39 | # config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache
40 | # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX
41 |
42 | # Mount Action Cable outside main process or domain
43 | # config.action_cable.mount_path = nil
44 | # config.action_cable.url = 'wss://example.com/cable'
45 | # config.action_cable.allowed_request_origins = [ 'http://example.com', /http:\/\/example.*/ ]
46 |
47 | # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
48 | # config.force_ssl = true
49 |
50 | # Use the lowest log level to ensure availability of diagnostic information
51 | # when problems arise.
52 | config.log_level = :debug
53 |
54 | # Prepend all log lines with the following tags.
55 | config.log_tags = [ :request_id ]
56 |
57 | # Use a different cache store in production.
58 | # config.cache_store = :mem_cache_store
59 |
60 | # Use a real queuing backend for Active Job (and separate queues per environment)
61 | # config.active_job.queue_adapter = :resque
62 | # config.active_job.queue_name_prefix = "cfj_election_front_#{Rails.env}"
63 | config.action_mailer.perform_caching = false
64 |
65 | # Ignore bad email addresses and do not raise email delivery errors.
66 | # Set this to true and configure the email server for immediate delivery to raise delivery errors.
67 | # config.action_mailer.raise_delivery_errors = false
68 |
69 | # Enable locale fallbacks for I18n (makes lookups for any locale fall back to
70 | # the I18n.default_locale when a translation cannot be found).
71 | config.i18n.fallbacks = true
72 |
73 | # Send deprecation notices to registered listeners.
74 | config.active_support.deprecation = :notify
75 |
76 | config.logger = ActFluentLoggerRails::Logger.new(
77 | log_tags: {
78 | ip: :ip,
79 | ua: :user_agent
80 | }
81 | )
82 | config.lograge.enabled = true
83 | config.lograge.formatter = Lograge::Formatters::Json.new
84 |
85 | # Do not dump schema after migrations.
86 | config.active_record.dump_schema_after_migration = false
87 | end
88 |
--------------------------------------------------------------------------------
/config/environments/test.rb:
--------------------------------------------------------------------------------
1 | Rails.application.configure do
2 | # Settings specified here will take precedence over those in config/application.rb.
3 |
4 | # The test environment is used exclusively to run your application's
5 | # test suite. You never need to work with it otherwise. Remember that
6 | # your test database is "scratch space" for the test suite and is wiped
7 | # and recreated between test runs. Don't rely on the data there!
8 | config.cache_classes = true
9 |
10 | # Do not eager load code on boot. This avoids loading your whole application
11 | # just for the purpose of running a single test. If you are using a tool that
12 | # preloads Rails for running tests, you may have to set it to true.
13 | config.eager_load = false
14 |
15 | # Configure public file server for tests with Cache-Control for performance.
16 | config.public_file_server.enabled = true
17 | config.public_file_server.headers = {
18 | 'Cache-Control' => "public, max-age=#{1.hour.seconds.to_i}"
19 | }
20 |
21 | # Show full error reports and disable caching.
22 | config.consider_all_requests_local = true
23 | config.action_controller.perform_caching = false
24 |
25 | # Raise exceptions instead of rendering exception templates.
26 | config.action_dispatch.show_exceptions = false
27 |
28 | # Disable request forgery protection in test environment.
29 | config.action_controller.allow_forgery_protection = false
30 | config.action_mailer.perform_caching = false
31 |
32 | # Tell Action Mailer not to deliver emails to the real world.
33 | # The :test delivery method accumulates sent emails in the
34 | # ActionMailer::Base.deliveries array.
35 | config.action_mailer.delivery_method = :test
36 |
37 | # Print deprecation notices to the stderr.
38 | config.active_support.deprecation = :stderr
39 |
40 | # Raises error for missing translations
41 | # config.action_view.raise_on_missing_translations = true
42 | end
43 |
--------------------------------------------------------------------------------
/config/fluent-logger.yml:
--------------------------------------------------------------------------------
1 | production:
2 | fluent_host: 'localhost'
3 | fluent_port: 24224
4 | tag: 'rails.tag'
5 | messages_type: 'string'
6 |
--------------------------------------------------------------------------------
/config/initializers/application_controller_renderer.rb:
--------------------------------------------------------------------------------
1 | # Be sure to restart your server when you modify this file.
2 |
3 | # ActiveSupport::Reloader.to_prepare do
4 | # ApplicationController.renderer.defaults.merge!(
5 | # http_host: 'example.org',
6 | # https: false
7 | # )
8 | # end
9 |
--------------------------------------------------------------------------------
/config/initializers/assets.rb:
--------------------------------------------------------------------------------
1 | # Be sure to restart your server when you modify this file.
2 |
3 | # Version of your assets, change this if you want to expire all your assets.
4 | Rails.application.config.assets.version = '1.0'
5 |
6 | # Add additional assets to the asset load path.
7 | # Rails.application.config.assets.paths << Emoji.images_path
8 | # Add Yarn node_modules folder to the asset load path.
9 | Rails.application.config.assets.paths << Rails.root.join('node_modules')
10 |
11 | # Precompile additional assets.
12 | # application.js, application.css, and all non-JS/CSS in the app/assets
13 | # folder are already added.
14 | # Rails.application.config.assets.precompile += %w( admin.js admin.css )
15 |
--------------------------------------------------------------------------------
/config/initializers/backtrace_silencers.rb:
--------------------------------------------------------------------------------
1 | # Be sure to restart your server when you modify this file.
2 |
3 | # You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.
4 | # Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ }
5 |
6 | # You can also remove all the silencers if you're trying to debug a problem that might stem from framework code.
7 | # Rails.backtrace_cleaner.remove_silencers!
8 |
--------------------------------------------------------------------------------
/config/initializers/cookies_serializer.rb:
--------------------------------------------------------------------------------
1 | # Be sure to restart your server when you modify this file.
2 |
3 | # Specify a serializer for the signed and encrypted cookie jars.
4 | # Valid options are :json, :marshal, and :hybrid.
5 | Rails.application.config.action_dispatch.cookies_serializer = :json
6 |
--------------------------------------------------------------------------------
/config/initializers/filter_parameter_logging.rb:
--------------------------------------------------------------------------------
1 | # Be sure to restart your server when you modify this file.
2 |
3 | # Configure sensitive parameters which will be filtered from the log file.
4 | Rails.application.config.filter_parameters += [:password]
5 |
--------------------------------------------------------------------------------
/config/initializers/inflections.rb:
--------------------------------------------------------------------------------
1 | # Be sure to restart your server when you modify this file.
2 |
3 | # Add new inflection rules using the following format. Inflections
4 | # are locale specific, and you may define rules for as many different
5 | # locales as you wish. All of these examples are active by default:
6 | # ActiveSupport::Inflector.inflections(:en) do |inflect|
7 | # inflect.plural /^(ox)$/i, '\1en'
8 | # inflect.singular /^(ox)en/i, '\1'
9 | # inflect.irregular 'person', 'people'
10 | # inflect.uncountable %w( fish sheep )
11 | # end
12 |
13 | # These inflection rules are supported but not enabled by default:
14 | # ActiveSupport::Inflector.inflections(:en) do |inflect|
15 | # inflect.acronym 'RESTful'
16 | # end
17 |
--------------------------------------------------------------------------------
/config/initializers/mime_types.rb:
--------------------------------------------------------------------------------
1 | # Be sure to restart your server when you modify this file.
2 |
3 | # Add new mime types for use in respond_to blocks:
4 | # Mime::Type.register "text/richtext", :rtf
5 |
--------------------------------------------------------------------------------
/config/initializers/wrap_parameters.rb:
--------------------------------------------------------------------------------
1 | # Be sure to restart your server when you modify this file.
2 |
3 | # This file contains settings for ActionController::ParamsWrapper which
4 | # is enabled by default.
5 |
6 | # Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
7 | ActiveSupport.on_load(:action_controller) do
8 | wrap_parameters format: [:json]
9 | end
10 |
11 | # To enable root element in JSON for ActiveRecord objects.
12 | # ActiveSupport.on_load(:active_record) do
13 | # self.include_root_in_json = true
14 | # end
15 |
--------------------------------------------------------------------------------
/config/locales/en.yml:
--------------------------------------------------------------------------------
1 | # Files in the config/locales directory are used for internationalization
2 | # and are automatically loaded by Rails. If you want to use locales other
3 | # than English, add the necessary files in this directory.
4 | #
5 | # To use the locales, use `I18n.t`:
6 | #
7 | # I18n.t 'hello'
8 | #
9 | # In views, this is aliased to just `t`:
10 | #
11 | # <%= t('hello') %>
12 | #
13 | # To use a different locale, set it with `I18n.locale`:
14 | #
15 | # I18n.locale = :es
16 | #
17 | # This would use the information in config/locales/es.yml.
18 | #
19 | # The following keys must be escaped otherwise they will not be retrieved by
20 | # the default I18n backend:
21 | #
22 | # true, false, on, off, yes, no
23 | #
24 | # Instead, surround them with single quotes.
25 | #
26 | # en:
27 | # 'true': 'foo'
28 | #
29 | # To learn more, please read the Rails Internationalization guide
30 | # available at http://guides.rubyonrails.org/i18n.html.
31 |
32 | en:
33 | hello: "Hello world"
34 |
--------------------------------------------------------------------------------
/config/puma.rb:
--------------------------------------------------------------------------------
1 | # Puma can serve each request in a thread from an internal thread pool.
2 | # The `threads` method setting takes two numbers: a minimum and maximum.
3 | # Any libraries that use thread pools should be configured to match
4 | # the maximum value specified for Puma. Default is set to 5 threads for minimum
5 | # and maximum; this matches the default thread size of Active Record.
6 | #
7 | threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 }
8 | threads threads_count, threads_count
9 |
10 | # Specifies the `port` that Puma will listen on to receive requests; default is 3000.
11 | #
12 | port ENV.fetch("PORT") { 3000 }
13 |
14 | # Specifies the `environment` that Puma will run in.
15 | #
16 | environment ENV.fetch("RAILS_ENV") { "development" }
17 |
18 | # Specifies the number of `workers` to boot in clustered mode.
19 | # Workers are forked webserver processes. If using threads and workers together
20 | # the concurrency of the application would be max `threads` * `workers`.
21 | # Workers do not work on JRuby or Windows (both of which do not support
22 | # processes).
23 | #
24 | # workers ENV.fetch("WEB_CONCURRENCY") { 2 }
25 |
26 | # Use the `preload_app!` method when specifying a `workers` number.
27 | # This directive tells Puma to first boot the application and load code
28 | # before forking the application. This takes advantage of Copy On Write
29 | # process behavior so workers use less memory. If you use this option
30 | # you need to make sure to reconnect any threads in the `on_worker_boot`
31 | # block.
32 | #
33 | # preload_app!
34 |
35 | # If you are preloading your application and using Active Record, it's
36 | # recommended that you close any connections to the database before workers
37 | # are forked to prevent connection leakage.
38 | #
39 | # before_fork do
40 | # ActiveRecord::Base.connection_pool.disconnect! if defined?(ActiveRecord)
41 | # end
42 |
43 | # The code in the `on_worker_boot` will be called if you are using
44 | # clustered mode by specifying a number of `workers`. After each worker
45 | # process is booted, this block will be run. If you are using the `preload_app!`
46 | # option, you will want to use this block to reconnect to any threads
47 | # or connections that may have been created at application boot, as Ruby
48 | # cannot share connections between processes.
49 | #
50 | # on_worker_boot do
51 | # ActiveRecord::Base.establish_connection if defined?(ActiveRecord)
52 | # end
53 | #
54 |
55 | # Allow puma to be restarted by `rails restart` command.
56 | plugin :tmp_restart
57 |
58 | app_root = File.expand_path("../..", __FILE__)
59 | bind "unix://#{app_root}/tmp/sockets/puma.sock"
60 |
--------------------------------------------------------------------------------
/config/routes.rb:
--------------------------------------------------------------------------------
1 | Rails.application.routes.draw do
2 | match 'about', to: 'static#about', via: 'get'
3 |
4 | match 'data', to: 'static#data', via: 'get'
5 |
6 | root to: "search#new"
7 | get "/search", to: "search#show"
8 | get "/search_by_name", to: "search#by_name"
9 | get '/senkyoku/:pref_code', to: 'prefs#show'
10 | get '/senkyoku/:pref_code/:senkyoku_no', to: 'senkyokus#show'
11 |
12 | resources :candidates, only: [:show]
13 | resources :hirei_senkyokus, only: [:show], param: :name
14 |
15 | # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
16 |
17 | # components index page
18 | get "/index", to: "search#index"
19 |
20 | get '*path', controller: 'application', action: 'render_404'
21 | end
22 |
--------------------------------------------------------------------------------
/config/secrets.yml:
--------------------------------------------------------------------------------
1 | # Be sure to restart your server when you modify this file.
2 |
3 | # Your secret key is used for verifying the integrity of signed cookies.
4 | # If you change this key, all old signed cookies will become invalid!
5 |
6 | # Make sure the secret is at least 30 characters and all random,
7 | # no regular words or you'll be exposed to dictionary attacks.
8 | # You can use `rails secret` to generate a secure secret key.
9 |
10 | # Make sure the secrets in this file are kept private
11 | # if you're sharing your code publicly.
12 |
13 | # Shared secrets are available across all environments.
14 |
15 | # shared:
16 | # api_key: a1B2c3D4e5F6
17 |
18 | # Environmental secrets are only available for that specific environment.
19 |
20 | development:
21 | secret_key_base: f8be137cb11d4729d6e72154cdfefb143f3a0a2e42a30cccd0253bc8184b315a59a18853f53d41bf05e10a9a7cd2e1fc034b17bfeb948e9d6244f47c27fac5f4
22 |
23 | test:
24 | secret_key_base: a7cdfc789277396fa4cf5c4d317ce55c9b9b0d845fb7bb1544be85e20aea94657ce5c992610879b19c24e22d1fb248f6184a45af9141e0fdf1142d88ad36a6d9
25 |
26 | # Do not keep production secrets in the unencrypted secrets file.
27 | # Instead, either read values from the environment.
28 | # Or, use `bin/rails secrets:setup` to configure encrypted secrets
29 | # and move the `production:` environment over there.
30 |
31 | production:
32 | secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
33 |
--------------------------------------------------------------------------------
/config/spring.rb:
--------------------------------------------------------------------------------
1 | %w(
2 | .ruby-version
3 | .rbenv-vars
4 | tmp/restart.txt
5 | tmp/caching-dev.txt
6 | ).each { |path| Spring.watch(path) }
7 |
--------------------------------------------------------------------------------
/config/unicorn.rb:
--------------------------------------------------------------------------------
1 | # -*- encoding : utf-8 -*-
2 | # full_app_name = '<%= fetch(:full_app_name) %>'
3 | APP_PATH = "#{File.dirname(__FILE__)}/.." unless defined?(APP_PATH)
4 | RAILS_ROOT = "#{File.dirname(__FILE__)}/.." unless defined?(RAILS_ROOT)
5 | RAILS_ENV = ENV['RAILS_ENV'] || 'development'
6 |
7 | worker_processes 3
8 |
9 | listen "unix:#{RAILS_ROOT}/tmp/sockets/unicorn.sock"
10 | pid "#{RAILS_ROOT}/tmp/pids/unicorn.pid"
11 |
12 | preload_app true
13 |
14 | timeout 60
15 | working_directory APP_PATH
16 |
17 | # log
18 | stderr_path "#{RAILS_ROOT}/log/unicorn_error.log"
19 | stdout_path "#{RAILS_ROOT}/log/unicorn_access.log"
20 |
21 | if GC.respond_to?(:copy_on_write_friendly=)
22 | GC.copy_on_write_friendly = true
23 | end
24 |
25 | before_exec do |server|
26 | ENV['BUNDLE_GEMFILE'] = APP_PATH + "/Gemfile"
27 | end
28 |
29 | before_fork do |server, worker|
30 | defined?(ActiveRecord::Base) and ActiveRecord::Base.connection.disconnect!
31 |
32 | old_pid = "#{ server.config[:pid] }.oldbin"
33 | unless old_pid == server.pid
34 | begin
35 | Process.kill :QUIT, File.read(old_pid).to_i
36 | rescue Errno::ENOENT, Errno::ESRCH
37 |
38 | end
39 | end
40 | end
41 |
42 | after_fork do |server, worker|
43 | defined?(ActiveRecord::Base) and ActiveRecord::Base.establish_connection
44 | end
45 |
--------------------------------------------------------------------------------
/config/webpack/development.js:
--------------------------------------------------------------------------------
1 | const environment = require('./environment')
2 |
3 | module.exports = environment.toWebpackConfig()
4 |
--------------------------------------------------------------------------------
/config/webpack/environment.js:
--------------------------------------------------------------------------------
1 | const { environment } = require('@rails/webpacker')
2 |
3 | module.exports = environment
4 |
--------------------------------------------------------------------------------
/config/webpack/production.js:
--------------------------------------------------------------------------------
1 | const environment = require('./environment')
2 |
3 | module.exports = environment.toWebpackConfig()
4 |
--------------------------------------------------------------------------------
/config/webpack/test.js:
--------------------------------------------------------------------------------
1 | const environment = require('./environment')
2 |
3 | module.exports = environment.toWebpackConfig()
4 |
--------------------------------------------------------------------------------
/config/webpacker.yml:
--------------------------------------------------------------------------------
1 | # Note: You must restart bin/webpack-dev-server for changes to take effect
2 |
3 | default: &default
4 | source_path: app/javascript
5 | source_entry_path: packs
6 | public_output_path: packs
7 | cache_path: tmp/cache/webpacker
8 |
9 | # Additional paths webpack should lookup modules
10 | # ['app/assets', 'engine/foo/app/assets']
11 | resolved_paths: []
12 |
13 | # Reload manifest.json on all requests so we reload latest compiled packs
14 | cache_manifest: false
15 |
16 | extensions:
17 | - .coffee
18 | - .erb
19 | - .js
20 | - .jsx
21 | - .ts
22 | - .vue
23 | - .sass
24 | - .scss
25 | - .css
26 | - .png
27 | - .svg
28 | - .gif
29 | - .jpeg
30 | - .jpg
31 |
32 | development:
33 | <<: *default
34 | compile: true
35 |
36 | # Reference: https://webpack.js.org/configuration/dev-server/
37 | dev_server:
38 | https: false
39 | host: localhost
40 | port: 3035
41 | public: localhost:3035
42 | hmr: false
43 | # Inline should be set to true if using HMR
44 | inline: true
45 | overlay: true
46 | disable_host_check: true
47 | use_local_ip: false
48 |
49 | test:
50 | <<: *default
51 | compile: true
52 |
53 | # Compile test packs to a separate directory
54 | public_output_path: packs-test
55 |
56 | production:
57 | <<: *default
58 |
59 | # Production depends on precompilation of packs prior to booting for performance.
60 | compile: false
61 |
62 | # Cache manifest.json for performance
63 | cache_manifest: true
64 |
--------------------------------------------------------------------------------
/db-server/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM mysql:5.7
2 |
3 | ADD my_cfje.cnf /etc/mysql/mysql.conf.d/
4 |
--------------------------------------------------------------------------------
/db-server/my_cfje.cnf:
--------------------------------------------------------------------------------
1 | [mysqld]
2 | character-set-server = utf8mb4
3 |
4 | [client]
5 | default-character-set = utf8mb4
6 |
--------------------------------------------------------------------------------
/db/migrate/20171008021802_create_prefs.rb:
--------------------------------------------------------------------------------
1 | class CreatePrefs < ActiveRecord::Migration[5.1]
2 | def change
3 | create_table :prefs do |t|
4 | t.string :pref_code, null: false
5 | t.string :name, null: false
6 |
7 | t.index :pref_code
8 |
9 | t.timestamps
10 | end
11 | end
12 | end
13 |
--------------------------------------------------------------------------------
/db/migrate/20171008021837_create_senkyokus.rb:
--------------------------------------------------------------------------------
1 | class CreateSenkyokus < ActiveRecord::Migration[5.1]
2 | def change
3 | create_table :senkyokus do |t|
4 | t.string :pref_code, null: false
5 | t.integer :senkyoku_no, null: false
6 | t.string :zip_code, null: false
7 |
8 | t.timestamps
9 | end
10 | end
11 | end
12 |
--------------------------------------------------------------------------------
/db/migrate/20171008040746_create_parties.rb:
--------------------------------------------------------------------------------
1 | class CreateParties < ActiveRecord::Migration[5.1]
2 | def change
3 | create_table :parties do |t|
4 | t.string :short_name, null:false
5 | t.string :full_name, null: false
6 |
7 | t.timestamps
8 | end
9 | end
10 | end
11 |
--------------------------------------------------------------------------------
/db/migrate/20171009070549_create_candidates.rb:
--------------------------------------------------------------------------------
1 | class CreateCandidates < ActiveRecord::Migration[5.1]
2 | def change
3 | create_table :candidates do |t|
4 | t.string :name_first, null: false
5 | t.string :name_last, null: false
6 | t.string :name_first_furigana
7 | t.string :name_last_furigana
8 |
9 | t.integer :party_id
10 | t.integer :senkyoku_id
11 |
12 | t.integer :gender
13 |
14 | t.date :birth_day
15 | t.integer :birth_year
16 |
17 | t.string :twitter_id
18 | t.string :facebook_id
19 | t.string :official_website_url
20 |
21 | t.string :photo_url
22 |
23 | t.timestamps
24 | end
25 | end
26 | end
27 |
--------------------------------------------------------------------------------
/db/migrate/20171009101715_add_wikidata_id_to_candidate.rb:
--------------------------------------------------------------------------------
1 | class AddWikidataIdToCandidate < ActiveRecord::Migration[5.1]
2 | def change
3 | add_column :candidates, :wikidata_id, :string
4 | end
5 | end
6 |
--------------------------------------------------------------------------------
/db/migrate/20171009105609_add_uniq_on_wikidata_id.rb:
--------------------------------------------------------------------------------
1 | class AddUniqOnWikidataId < ActiveRecord::Migration[5.1]
2 | def change
3 | add_index :candidates, :wikidata_id, unique: true
4 | end
5 | end
6 |
--------------------------------------------------------------------------------
/db/migrate/20171010004130_create_zip_codes.rb:
--------------------------------------------------------------------------------
1 | class CreateZipCodes < ActiveRecord::Migration[5.1]
2 | def change
3 | create_table :zip_codes do |t|
4 | t.string :zip_code, null: false
5 | t.index :zip_code, unique: true
6 | t.timestamps
7 | end
8 | create_join_table :senkyokus, :zip_codes
9 | remove_column :senkyokus, :zip_code
10 |
11 | puts "*" * 22
12 | puts "データベースのスキーマが更新されましたので、以下のコマンドを発行下さい"
13 | puts "docker-compose run app rails db:drop"
14 | puts "docker-compose run app rails db:setup"
15 | puts "*" * 22
16 |
17 | end
18 | end
19 |
--------------------------------------------------------------------------------
/db/migrate/20171011020857_add_cols_on_candidates.rb:
--------------------------------------------------------------------------------
1 | class AddColsOnCandidates < ActiveRecord::Migration[5.1]
2 | def change
3 | add_column :candidates, :is_candidate, :boolean
4 | add_column :candidates, :current_position, :integer
5 | add_column :candidates, :submission_order, :integer
6 | add_column :candidates, :is_hirei, :boolean
7 | add_column :candidates, :winning_history, :string
8 | end
9 | end
10 |
--------------------------------------------------------------------------------
/db/migrate/20171011170201_create_cities.rb:
--------------------------------------------------------------------------------
1 | class CreateCities < ActiveRecord::Migration[5.1]
2 | def change
3 | create_table :cities do |t|
4 | t.string :city_code, null: false
5 | t.string :pref_code, null: false
6 | t.string :city_name, null: false
7 |
8 | t.index :city_code, unique: true
9 |
10 | t.timestamps
11 | end
12 |
13 | add_column :zip_codes, :city_id, :integer
14 | end
15 | end
16 |
--------------------------------------------------------------------------------
/db/migrate/20171011170425_create_hirei_senkyokus.rb:
--------------------------------------------------------------------------------
1 | class CreateHireiSenkyokus < ActiveRecord::Migration[5.1]
2 | def change
3 | create_table :hirei_senkyokus do |t|
4 | t.string :name
5 | t.integer :capacity
6 |
7 | t.timestamps
8 | end
9 | end
10 | end
11 |
--------------------------------------------------------------------------------
/db/migrate/20171011170455_create_pref_hirei_senkyokus.rb:
--------------------------------------------------------------------------------
1 | class CreatePrefHireiSenkyokus < ActiveRecord::Migration[5.1]
2 | def change
3 | create_join_table :prefs, :hirei_senkyokus
4 | end
5 | end
6 |
--------------------------------------------------------------------------------
/db/migrate/20171012045609_change_is_hirei_on_candidates.rb:
--------------------------------------------------------------------------------
1 | class ChangeIsHireiOnCandidates < ActiveRecord::Migration[5.1]
2 | def change
3 | add_column :candidates, :hirei_area_id, :integer
4 | remove_column :candidates, :is_hirei, :boolean
5 | end
6 | end
7 |
--------------------------------------------------------------------------------
/db/migrate/20171012145021_add_index_for_dbseed.rb:
--------------------------------------------------------------------------------
1 | class AddIndexForDbseed < ActiveRecord::Migration[5.1]
2 | def change
3 | add_index :senkyokus, [:pref_code, :senkyoku_no], unique: true
4 | remove_column :zip_codes, :created_at, :datetime
5 | remove_column :zip_codes, :updated_at, :datetime
6 | end
7 | end
8 |
--------------------------------------------------------------------------------
/db/migrate/20171013020404_add_index_senkyoku_zipcd.rb:
--------------------------------------------------------------------------------
1 | class AddIndexSenkyokuZipcd < ActiveRecord::Migration[5.1]
2 | def change
3 | add_index :senkyokus_zip_codes, [:zip_code_id, :senkyoku_id], unique: true
4 | end
5 | end
6 |
--------------------------------------------------------------------------------
/db/migrate/20171014143033_add_hirei_meibo_order_no.rb:
--------------------------------------------------------------------------------
1 | class AddHireiMeiboOrderNo < ActiveRecord::Migration[5.1]
2 | def change
3 | add_column :candidates, :hirei_meibo_order_no, :integer
4 | end
5 | end
6 |
--------------------------------------------------------------------------------
/description:
--------------------------------------------------------------------------------
1 | Unnamed repository; edit this file 'description' to name the repository.
2 |
--------------------------------------------------------------------------------
/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: '3'
2 | services:
3 | db:
4 | build: "./db-server"
5 | environment:
6 | MYSQL_ROOT_PASSWORD: 'cfje_pw1'
7 | TZ: 'Asia/Tokyo'
8 | ports:
9 | - 3306:3306
10 | app:
11 | build: .
12 | environment:
13 | - PORT=3000
14 | command: bundle exec foreman start -f Procfile.dev
15 | volumes:
16 | - .:/codeforelection_front
17 | ports:
18 | - '3000:3000'
19 | - '8000:8000'
20 | - '80:80'
21 | depends_on:
22 | - db
23 |
--------------------------------------------------------------------------------
/gulpfile.js:
--------------------------------------------------------------------------------
1 | var gulp = require('gulp');
2 | var jade = require('gulp-jade');
3 | var sass = require('gulp-sass');
4 | var prettify = require('gulp-prettify');
5 | var rename = require('gulp-rename');
6 | var minify = require('gulp-csso');
7 | var concat = require('gulp-concat');
8 | var uglify = require('gulp-uglify');
9 | var shell = require('gulp-shell');
10 | var browserSync = require('browser-sync');
11 | var sourcemaps = require('gulp-sourcemaps');
12 | var postcss = require('gulp-postcss');
13 | var cssnext = require('postcss-cssnext');
14 |
15 | var paths = {
16 | 'sass': 'src-front/sass/',
17 | 'css': 'app/assets/stylesheets'
18 | }
19 |
20 | gulp.task('sass', function() {
21 | var processors = [
22 | cssnext()
23 | ];
24 | return gulp.src(paths.sass + '**/*.sass')
25 | .pipe(sourcemaps.init())
26 | .pipe(sass({
27 | outputStyle: 'expanded'
28 | }))
29 | .on('error', function(err) {
30 | console.log(err.message);
31 | })
32 | .pipe(postcss(processors))
33 | .pipe(sourcemaps.write())
34 | .pipe(gulp.dest(paths.css))
35 | });
36 |
37 | gulp.task('watch', function() {
38 | gulp.watch([paths.sass + '**/*.sass'], ['sass']);
39 | });
40 |
41 | gulp.task('default', ['sass', 'watch']);
--------------------------------------------------------------------------------
/hooks/applypatch-msg.sample:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | #
3 | # An example hook script to check the commit log message taken by
4 | # applypatch from an e-mail message.
5 | #
6 | # The hook should exit with non-zero status after issuing an
7 | # appropriate message if it wants to stop the commit. The hook is
8 | # allowed to edit the commit message file.
9 | #
10 | # To enable this hook, rename this file to "applypatch-msg".
11 |
12 | . git-sh-setup
13 | commitmsg="$(git rev-parse --git-path hooks/commit-msg)"
14 | test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"}
15 | :
16 |
--------------------------------------------------------------------------------
/hooks/commit-msg.sample:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | #
3 | # An example hook script to check the commit log message.
4 | # Called by "git commit" with one argument, the name of the file
5 | # that has the commit message. The hook should exit with non-zero
6 | # status after issuing an appropriate message if it wants to stop the
7 | # commit. The hook is allowed to edit the commit message file.
8 | #
9 | # To enable this hook, rename this file to "commit-msg".
10 |
11 | # Uncomment the below to add a Signed-off-by line to the message.
12 | # Doing this in a hook is a bad idea in general, but the prepare-commit-msg
13 | # hook is more suited to it.
14 | #
15 | # SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
16 | # grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
17 |
18 | # This example catches duplicate Signed-off-by lines.
19 |
20 | test "" = "$(grep '^Signed-off-by: ' "$1" |
21 | sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || {
22 | echo >&2 Duplicate Signed-off-by lines.
23 | exit 1
24 | }
25 |
--------------------------------------------------------------------------------
/hooks/post-update.sample:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | #
3 | # An example hook script to prepare a packed repository for use over
4 | # dumb transports.
5 | #
6 | # To enable this hook, rename this file to "post-update".
7 |
8 | exec git update-server-info
9 |
--------------------------------------------------------------------------------
/hooks/pre-applypatch.sample:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | #
3 | # An example hook script to verify what is about to be committed
4 | # by applypatch from an e-mail message.
5 | #
6 | # The hook should exit with non-zero status after issuing an
7 | # appropriate message if it wants to stop the commit.
8 | #
9 | # To enable this hook, rename this file to "pre-applypatch".
10 |
11 | . git-sh-setup
12 | precommit="$(git rev-parse --git-path hooks/pre-commit)"
13 | test -x "$precommit" && exec "$precommit" ${1+"$@"}
14 | :
15 |
--------------------------------------------------------------------------------
/hooks/pre-commit.sample:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | #
3 | # An example hook script to verify what is about to be committed.
4 | # Called by "git commit" with no arguments. The hook should
5 | # exit with non-zero status after issuing an appropriate message if
6 | # it wants to stop the commit.
7 | #
8 | # To enable this hook, rename this file to "pre-commit".
9 |
10 | if git rev-parse --verify HEAD >/dev/null 2>&1
11 | then
12 | against=HEAD
13 | else
14 | # Initial commit: diff against an empty tree object
15 | against=4b825dc642cb6eb9a060e54bf8d69288fbee4904
16 | fi
17 |
18 | # If you want to allow non-ASCII filenames set this variable to true.
19 | allownonascii=$(git config --bool hooks.allownonascii)
20 |
21 | # Redirect output to stderr.
22 | exec 1>&2
23 |
24 | # Cross platform projects tend to avoid non-ASCII filenames; prevent
25 | # them from being added to the repository. We exploit the fact that the
26 | # printable range starts at the space character and ends with tilde.
27 | if [ "$allownonascii" != "true" ] &&
28 | # Note that the use of brackets around a tr range is ok here, (it's
29 | # even required, for portability to Solaris 10's /usr/bin/tr), since
30 | # the square bracket bytes happen to fall in the designated range.
31 | test $(git diff --cached --name-only --diff-filter=A -z $against |
32 | LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0
33 | then
34 | cat <<\EOF
35 | Error: Attempt to add a non-ASCII file name.
36 |
37 | This can cause problems if you want to work with people on other platforms.
38 |
39 | To be portable it is advisable to rename the file.
40 |
41 | If you know what you are doing you can disable this check using:
42 |
43 | git config hooks.allownonascii true
44 | EOF
45 | exit 1
46 | fi
47 |
48 | # If there are whitespace errors, print the offending file names and fail.
49 | exec git diff-index --check --cached $against --
50 |
--------------------------------------------------------------------------------
/hooks/pre-push.sample:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | # An example hook script to verify what is about to be pushed. Called by "git
4 | # push" after it has checked the remote status, but before anything has been
5 | # pushed. If this script exits with a non-zero status nothing will be pushed.
6 | #
7 | # This hook is called with the following parameters:
8 | #
9 | # $1 -- Name of the remote to which the push is being done
10 | # $2 -- URL to which the push is being done
11 | #
12 | # If pushing without using a named remote those arguments will be equal.
13 | #
14 | # Information about the commits which are being pushed is supplied as lines to
15 | # the standard input in the form:
16 | #
17 | #
18 | #
19 | # This sample shows how to prevent push of commits where the log message starts
20 | # with "WIP" (work in progress).
21 |
22 | remote="$1"
23 | url="$2"
24 |
25 | z40=0000000000000000000000000000000000000000
26 |
27 | while read local_ref local_sha remote_ref remote_sha
28 | do
29 | if [ "$local_sha" = $z40 ]
30 | then
31 | # Handle delete
32 | :
33 | else
34 | if [ "$remote_sha" = $z40 ]
35 | then
36 | # New branch, examine all commits
37 | range="$local_sha"
38 | else
39 | # Update to existing branch, examine new commits
40 | range="$remote_sha..$local_sha"
41 | fi
42 |
43 | # Check for WIP commit
44 | commit=`git rev-list -n 1 --grep '^WIP' "$range"`
45 | if [ -n "$commit" ]
46 | then
47 | echo >&2 "Found WIP commit in $local_ref, not pushing"
48 | exit 1
49 | fi
50 | fi
51 | done
52 |
53 | exit 0
54 |
--------------------------------------------------------------------------------
/hooks/prepare-commit-msg.sample:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | #
3 | # An example hook script to prepare the commit log message.
4 | # Called by "git commit" with the name of the file that has the
5 | # commit message, followed by the description of the commit
6 | # message's source. The hook's purpose is to edit the commit
7 | # message file. If the hook fails with a non-zero status,
8 | # the commit is aborted.
9 | #
10 | # To enable this hook, rename this file to "prepare-commit-msg".
11 |
12 | # This hook includes three examples. The first comments out the
13 | # "Conflicts:" part of a merge commit.
14 | #
15 | # The second includes the output of "git diff --name-status -r"
16 | # into the message, just before the "git status" output. It is
17 | # commented because it doesn't cope with --amend or with squashed
18 | # commits.
19 | #
20 | # The third example adds a Signed-off-by line to the message, that can
21 | # still be edited. This is rarely a good idea.
22 |
23 | case "$2,$3" in
24 | merge,)
25 | /usr/bin/perl -i.bak -ne 's/^/# /, s/^# #/#/ if /^Conflicts/ .. /#/; print' "$1" ;;
26 |
27 | # ,|template,)
28 | # /usr/bin/perl -i.bak -pe '
29 | # print "\n" . `git diff --cached --name-status -r`
30 | # if /^#/ && $first++ == 0' "$1" ;;
31 |
32 | *) ;;
33 | esac
34 |
35 | # SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
36 | # grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
37 |
--------------------------------------------------------------------------------
/index:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/index
--------------------------------------------------------------------------------
/info/exclude:
--------------------------------------------------------------------------------
1 | # git ls-files --others --exclude-from=.git/info/exclude
2 | # Lines that start with '#' are comments.
3 | # For a project mostly in C, the following would be a good set of
4 | # exclude patterns (uncomment them if you want to use them):
5 | # *.[oa]
6 | # *~
7 | .DS_Store
8 |
--------------------------------------------------------------------------------
/lib/assets/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/lib/assets/.keep
--------------------------------------------------------------------------------
/lib/capistrano/tasks/unicorn.rake:
--------------------------------------------------------------------------------
1 | namespace :unicorn do
2 | task :environment do
3 | set :unicorn_pid, "#{shared_path}/tmp/pids/unicorn.pid"
4 | set :unicorn_config, "#{current_path}/config/unicorn.rb"
5 | end
6 |
7 | def start_unicorn
8 | within current_path do
9 | execute :bundle, :exec, :unicorn, "-c #{fetch(:unicorn_config)} -E #{fetch(:rails_env)} -D"
10 | end
11 | end
12 |
13 | def stop_unicorn
14 | execute :kill, "-s QUIT $(< #{fetch(:unicorn_pid)})"
15 | end
16 |
17 | def reload_unicorn
18 | execute :kill, "-s USR2 $(< #{fetch(:unicorn_pid)})"
19 | end
20 |
21 | def force_stop_unicorn
22 | execute :kill, "$(< #{fetch(:unicorn_pid)})"
23 | end
24 |
25 | desc "Start unicorn server"
26 | task :start => :environment do
27 | on roles(:app) do
28 | start_unicorn
29 | end
30 | end
31 |
32 | desc "Stop unicorn server gracefully"
33 | task :stop => :environment do
34 | on roles(:app) do
35 | stop_unicorn
36 | end
37 | end
38 |
39 | desc "Restart unicorn server gracefully"
40 | task :restart => :environment do
41 | on roles(:app) do
42 | if test("[ -f #{fetch(:unicorn_pid)} ]")
43 | reload_unicorn
44 | else
45 | start_unicorn
46 | end
47 | end
48 | end
49 |
50 | desc "Stop unicorn server immediately"
51 | task :force_stop => :environment do
52 | on roles(:app) do
53 | force_stop_unicorn
54 | end
55 | end
56 | end
57 |
--------------------------------------------------------------------------------
/lib/tasks/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/lib/tasks/.keep
--------------------------------------------------------------------------------
/log/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/log/.keep
--------------------------------------------------------------------------------
/logs/HEAD:
--------------------------------------------------------------------------------
1 | 0000000000000000000000000000000000000000 44496cf5a6b913b5e6e44535fff873ecf1df7cbf Ryutatsu ISHIGAMI 1507394655 +0900 clone: from https://github.com/codeforjapan/codeforelection_front.git
2 | 44496cf5a6b913b5e6e44535fff873ecf1df7cbf 44496cf5a6b913b5e6e44535fff873ecf1df7cbf Ryutatsu ISHIGAMI 1507394684 +0900 checkout: moving from master to develop
3 | 44496cf5a6b913b5e6e44535fff873ecf1df7cbf 8ac9ee58e6e3412b3e2fa0581fba74cc1e1f4d77 Ryutatsu ISHIGAMI 1507394725 +0900 commit: first commit for webapp.
4 |
--------------------------------------------------------------------------------
/logs/refs/heads/develop:
--------------------------------------------------------------------------------
1 | 0000000000000000000000000000000000000000 44496cf5a6b913b5e6e44535fff873ecf1df7cbf Ryutatsu ISHIGAMI 1507394684 +0900 branch: Created from HEAD
2 | 44496cf5a6b913b5e6e44535fff873ecf1df7cbf 8ac9ee58e6e3412b3e2fa0581fba74cc1e1f4d77 Ryutatsu ISHIGAMI 1507394725 +0900 commit: first commit for webapp.
3 |
--------------------------------------------------------------------------------
/logs/refs/heads/master:
--------------------------------------------------------------------------------
1 | 0000000000000000000000000000000000000000 44496cf5a6b913b5e6e44535fff873ecf1df7cbf Ryutatsu ISHIGAMI 1507394655 +0900 clone: from https://github.com/codeforjapan/codeforelection_front.git
2 |
--------------------------------------------------------------------------------
/logs/refs/remotes/origin/HEAD:
--------------------------------------------------------------------------------
1 | 0000000000000000000000000000000000000000 44496cf5a6b913b5e6e44535fff873ecf1df7cbf Ryutatsu ISHIGAMI 1507394655 +0900 clone: from https://github.com/codeforjapan/codeforelection_front.git
2 |
--------------------------------------------------------------------------------
/nginx.conf:
--------------------------------------------------------------------------------
1 | # https://github.com/puma/puma/blob/master/docs/nginx.md
2 | upstream app {
3 | server unix:///codeforelection_front/tmp/sockets/puma.sock;
4 | }
5 |
6 | server {
7 | listen 80;
8 | server_name localhost; # TODO
9 |
10 | keepalive_timeout 5;
11 |
12 | # static files
13 | root /codeforelection_front/public;
14 |
15 | location / {
16 | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
17 | proxy_set_header Host $http_host;
18 |
19 | # static files
20 | if (-f $request_filename) {
21 | break;
22 | }
23 | if (-f $request_filename.html) {
24 | rewrite (.*) $1/index.html break;
25 | }
26 | if (-f $request_filename.html) {
27 | rewrite (.*) $1.html break;
28 | }
29 |
30 | if (!-f $request_filename) {
31 | proxy_pass http://app;
32 | break;
33 | }
34 | }
35 |
36 | location ~* \.(ico|css|gif|jpe?g|png|js)(\?[0-9]+)?$ {
37 | expires max;
38 | break;
39 | }
40 | }
--------------------------------------------------------------------------------
/objects/04/12034e6f5590d84863cbd492d362bbe77674b8:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/04/12034e6f5590d84863cbd492d362bbe77674b8
--------------------------------------------------------------------------------
/objects/06/91ff9de67363018c2bf21a35a0a95af4b3783d:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/06/91ff9de67363018c2bf21a35a0a95af4b3783d
--------------------------------------------------------------------------------
/objects/07/3966023774750c90fe9c89910c769a92da604b:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/07/3966023774750c90fe9c89910c769a92da604b
--------------------------------------------------------------------------------
/objects/07/d89d0b7e50929dea0dcf7e7354358c1133be86:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/07/d89d0b7e50929dea0dcf7e7354358c1133be86
--------------------------------------------------------------------------------
/objects/0e/0677bdd6f629a7e77f9e66f02a2023beffea37:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/0e/0677bdd6f629a7e77f9e66f02a2023beffea37
--------------------------------------------------------------------------------
/objects/0f/f5442f476f98d578f77221b57164cffcf08de0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/0f/f5442f476f98d578f77221b57164cffcf08de0
--------------------------------------------------------------------------------
/objects/10/12fa3fabc9a76ee05e92a5767cf9d8199c8579:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/10/12fa3fabc9a76ee05e92a5767cf9d8199c8579
--------------------------------------------------------------------------------
/objects/10/a4cba84df37181f4cf310fd85d8f0aaa5d90ba:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/10/a4cba84df37181f4cf310fd85d8f0aaa5d90ba
--------------------------------------------------------------------------------
/objects/13/4b2fd76855c35801afee1553f5969a034bb79a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/13/4b2fd76855c35801afee1553f5969a034bb79a
--------------------------------------------------------------------------------
/objects/13/69aa5c14619a28f17734601b6ee970c5dc1cc6:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/13/69aa5c14619a28f17734601b6ee970c5dc1cc6
--------------------------------------------------------------------------------
/objects/13/8e470f4d91b1050e77237918c1db240e4aec8d:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/13/8e470f4d91b1050e77237918c1db240e4aec8d
--------------------------------------------------------------------------------
/objects/17/240489f64832c9ce080088e27780d3dc3ee29a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/17/240489f64832c9ce080088e27780d3dc3ee29a
--------------------------------------------------------------------------------
/objects/17/d132ec2e7dd2fb220cafa86979a44c91f57fae:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/17/d132ec2e7dd2fb220cafa86979a44c91f57fae
--------------------------------------------------------------------------------
/objects/18/25686cfd1a51c1b6306133a5193b1001331026:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/18/25686cfd1a51c1b6306133a5193b1001331026
--------------------------------------------------------------------------------
/objects/18/fba85191440b5bc63e68a9c5caa0b7fc6b432c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/18/fba85191440b5bc63e68a9c5caa0b7fc6b432c
--------------------------------------------------------------------------------
/objects/1c/07694e9d9f40e62ed5c07ae23bec2d2ec90d74:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/1c/07694e9d9f40e62ed5c07ae23bec2d2ec90d74
--------------------------------------------------------------------------------
/objects/1c/df3012f00921ac832eb4d78f9d91a21bebcf29:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/1c/df3012f00921ac832eb4d78f9d91a21bebcf29
--------------------------------------------------------------------------------
/objects/1d/0981e2ee060b959d4aab9dcdd99785d2c29e7c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/1d/0981e2ee060b959d4aab9dcdd99785d2c29e7c
--------------------------------------------------------------------------------
/objects/1d/c50b5b24c5a91dc063104c745d3689e367248c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/1d/c50b5b24c5a91dc063104c745d3689e367248c
--------------------------------------------------------------------------------
/objects/1e/19380dcb36bf3d7eaccb0055c456d39c108857:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/1e/19380dcb36bf3d7eaccb0055c456d39c108857
--------------------------------------------------------------------------------
/objects/1f/c6a14a476447629031bed9d0fc18cdd735bcec:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/1f/c6a14a476447629031bed9d0fc18cdd735bcec
--------------------------------------------------------------------------------
/objects/21/181cefa2e87f9d9dbd5f4608629ef6ed8ee982:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/21/181cefa2e87f9d9dbd5f4608629ef6ed8ee982
--------------------------------------------------------------------------------
/objects/22/fd39482e40b591679b74522eacefc2938d1ecc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/22/fd39482e40b591679b74522eacefc2938d1ecc
--------------------------------------------------------------------------------
/objects/24/4ee851b0be833c9607a49a973e3f02aa02fdd9:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/24/4ee851b0be833c9607a49a973e3f02aa02fdd9
--------------------------------------------------------------------------------
/objects/27/94f686736f590cf5a10e1c726f466441fd8123:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/27/94f686736f590cf5a10e1c726f466441fd8123
--------------------------------------------------------------------------------
/objects/28/6b2239d139960190594225e0134fe1a5c05370:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/28/6b2239d139960190594225e0134fe1a5c05370
--------------------------------------------------------------------------------
/objects/29/123ca44be81d8e9a40e37f98e80f0dabe52a97:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/29/123ca44be81d8e9a40e37f98e80f0dabe52a97
--------------------------------------------------------------------------------
/objects/29/a422c19251aeaeb907175e9b3219a9bed6c616:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/29/a422c19251aeaeb907175e9b3219a9bed6c616
--------------------------------------------------------------------------------
/objects/2b/e3af26fc5a3d019690b50e0849651dde258794:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/2b/e3af26fc5a3d019690b50e0849651dde258794
--------------------------------------------------------------------------------
/objects/2c/216954b4bf73d830fb006be881b21459b970a4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/2c/216954b4bf73d830fb006be881b21459b970a4
--------------------------------------------------------------------------------
/objects/2d/320a5aae897b399454f73421f0cbc7d3198e36:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/2d/320a5aae897b399454f73421f0cbc7d3198e36
--------------------------------------------------------------------------------
/objects/2f/1c60a817f48df4756ffa6a8d48258f297efa34:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/2f/1c60a817f48df4756ffa6a8d48258f297efa34
--------------------------------------------------------------------------------
/objects/30/56c46fc563266587017c26e22a5fb94df92ee6:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/30/56c46fc563266587017c26e22a5fb94df92ee6
--------------------------------------------------------------------------------
/objects/30/ae27a5321f311869fe64489c1c31949336603e:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/30/ae27a5321f311869fe64489c1c31949336603e
--------------------------------------------------------------------------------
/objects/30/f5120df6986349c532c8ece3c170726118a703:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/30/f5120df6986349c532c8ece3c170726118a703
--------------------------------------------------------------------------------
/objects/33/c6072aae71167ab9c5dbb54e78bcaa551d0324:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/33/c6072aae71167ab9c5dbb54e78bcaa551d0324
--------------------------------------------------------------------------------
/objects/37/a62cd9c55cd9e09b9c2aba2fbc551ac9d9affa:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/37/a62cd9c55cd9e09b9c2aba2fbc551ac9d9affa
--------------------------------------------------------------------------------
/objects/37/b576a4a015ac63021a1121d55a96235ec03525:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/37/b576a4a015ac63021a1121d55a96235ec03525
--------------------------------------------------------------------------------
/objects/37/f0bddbd746bc24923ce9a8eb0dae1ca3076284:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/37/f0bddbd746bc24923ce9a8eb0dae1ca3076284
--------------------------------------------------------------------------------
/objects/3a/83cac2f77129104c1e8549fa97fe1252703adb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/3a/83cac2f77129104c1e8549fa97fe1252703adb
--------------------------------------------------------------------------------
/objects/3a/aa0c7c28ea02d8f9b1923f342ce734ad07a3e4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/3a/aa0c7c28ea02d8f9b1923f342ce734ad07a3e4
--------------------------------------------------------------------------------
/objects/3c/1baa6221c1c1c0b2483878b33d69ffae4d37ae:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/3c/1baa6221c1c1c0b2483878b33d69ffae4d37ae
--------------------------------------------------------------------------------
/objects/3c/e5f417b0b400e108248423019ac0e799be67d7:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/3c/e5f417b0b400e108248423019ac0e799be67d7
--------------------------------------------------------------------------------
/objects/3e/14b8ac83dea971e2f81036a8c784ac669f20dd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/3e/14b8ac83dea971e2f81036a8c784ac669f20dd
--------------------------------------------------------------------------------
/objects/40/a2eda750b7e3ae867333cb207d551b981ec881:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/40/a2eda750b7e3ae867333cb207d551b981ec881
--------------------------------------------------------------------------------
/objects/41/0813fa39d9239f498fdce8cda851bd79589c6b:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/41/0813fa39d9239f498fdce8cda851bd79589c6b
--------------------------------------------------------------------------------
/objects/42/4c710301a53079b942b76b3b9bd6f08c7e1df6:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/42/4c710301a53079b942b76b3b9bd6f08c7e1df6
--------------------------------------------------------------------------------
/objects/42/6333bb46978d897be4cc6fac77b9fcaacf59d0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/42/6333bb46978d897be4cc6fac77b9fcaacf59d0
--------------------------------------------------------------------------------
/objects/42/ade33869e6a4f8842b434fecf0021aca83c499:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/42/ade33869e6a4f8842b434fecf0021aca83c499
--------------------------------------------------------------------------------
/objects/44/07c121a8f5153855ed552eaa91464ce14eb9c2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/44/07c121a8f5153855ed552eaa91464ce14eb9c2
--------------------------------------------------------------------------------
/objects/44/496cf5a6b913b5e6e44535fff873ecf1df7cbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/44/496cf5a6b913b5e6e44535fff873ecf1df7cbf
--------------------------------------------------------------------------------
/objects/45/0c7c265b8356ea7fe3db2226d3540e66844690:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/45/0c7c265b8356ea7fe3db2226d3540e66844690
--------------------------------------------------------------------------------
/objects/45/1a78b48ecb4541e2848b4757ede056798aa25f:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/45/1a78b48ecb4541e2848b4757ede056798aa25f
--------------------------------------------------------------------------------
/objects/46/b20359fad6cb15808924074bdcdb1d053d01fe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/46/b20359fad6cb15808924074bdcdb1d053d01fe
--------------------------------------------------------------------------------
/objects/47/83f4c31c5209fe22a092f731aecf93e33841c4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/47/83f4c31c5209fe22a092f731aecf93e33841c4
--------------------------------------------------------------------------------
/objects/48/06aa2d24aeb3f9fa955ac1a6ebbe9c553ceacf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/48/06aa2d24aeb3f9fa955ac1a6ebbe9c553ceacf
--------------------------------------------------------------------------------
/objects/48/571b0a928f3a9134f5f375174e274080648a5f:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/48/571b0a928f3a9134f5f375174e274080648a5f
--------------------------------------------------------------------------------
/objects/4a/994e1e7bb7ce28dcec98bad48b9a891d7dec51:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/4a/994e1e7bb7ce28dcec98bad48b9a891d7dec51
--------------------------------------------------------------------------------
/objects/4a/a62049a11baa9eb663d97627bf6e3049163d26:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/4a/a62049a11baa9eb663d97627bf6e3049163d26
--------------------------------------------------------------------------------
/objects/4a/cea76da1b1e2f188ad4aed94c2bc1935406275:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/4a/cea76da1b1e2f188ad4aed94c2bc1935406275
--------------------------------------------------------------------------------
/objects/4b/828e80cb778244843194acf5f8a74238ec2c13:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/4b/828e80cb778244843194acf5f8a74238ec2c13
--------------------------------------------------------------------------------
/objects/4b/bdf86aa42cf1972210395828e2dc8cbf65e784:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/4b/bdf86aa42cf1972210395828e2dc8cbf65e784
--------------------------------------------------------------------------------
/objects/4c/4a493feabd4e7afb5c75500b9e9adcec903e76:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/4c/4a493feabd4e7afb5c75500b9e9adcec903e76
--------------------------------------------------------------------------------
/objects/4c/d74af6baa8e3552f7c6ab1e55596e8a338e296:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/4c/d74af6baa8e3552f7c6ab1e55596e8a338e296
--------------------------------------------------------------------------------
/objects/4c/f0aec01eece5139084bd2668b62d43d4ecbd8a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/4c/f0aec01eece5139084bd2668b62d43d4ecbd8a
--------------------------------------------------------------------------------
/objects/50/6ef7e55478398c196a8c27b597321d400881ca:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/50/6ef7e55478398c196a8c27b597321d400881ca
--------------------------------------------------------------------------------
/objects/50/a9f6bc07c70ed7089c86ae8712a57bd2a2f50f:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/50/a9f6bc07c70ed7089c86ae8712a57bd2a2f50f
--------------------------------------------------------------------------------
/objects/51/87e22186a6e9a43f5a4a45b901e4c3579f1aed:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/51/87e22186a6e9a43f5a4a45b901e4c3579f1aed
--------------------------------------------------------------------------------
/objects/51/afa9df59420e3898f79c02f1f2e1a999e6e3af:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/51/afa9df59420e3898f79c02f1f2e1a999e6e3af
--------------------------------------------------------------------------------
/objects/52/23fa7b089f833e7ac2598bf3702dc477c34628:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/52/23fa7b089f833e7ac2598bf3702dc477c34628
--------------------------------------------------------------------------------
/objects/54/b106ee07fd7ceab761d7528c9117251fa2c6c3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/54/b106ee07fd7ceab761d7528c9117251fa2c6c3
--------------------------------------------------------------------------------
/objects/55/3bc676fc9427349136f2cc0d13251b548a5906:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/55/3bc676fc9427349136f2cc0d13251b548a5906
--------------------------------------------------------------------------------
/objects/56/f5fb62307e211bb940ae5a322f54acafb4770a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/56/f5fb62307e211bb940ae5a322f54acafb4770a
--------------------------------------------------------------------------------
/objects/57/d97a587b8ee3e891b61ed69d495775aa234135:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/57/d97a587b8ee3e891b61ed69d495775aa234135
--------------------------------------------------------------------------------
/objects/58/83ad35cbe6fba199d83f258a355e5db26148bf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/58/83ad35cbe6fba199d83f258a355e5db26148bf
--------------------------------------------------------------------------------
/objects/59/385cdf379bd06a8d2326dcd4de6d5cd5d3f5b0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/59/385cdf379bd06a8d2326dcd4de6d5cd5d3f5b0
--------------------------------------------------------------------------------
/objects/5a/6a32d371fe575acf9f87e2ab7e8ae4d0f11e69:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/5a/6a32d371fe575acf9f87e2ab7e8ae4d0f11e69
--------------------------------------------------------------------------------
/objects/60/4518803244292045a6be13bcf02f0803990570:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/60/4518803244292045a6be13bcf02f0803990570
--------------------------------------------------------------------------------
/objects/62/37d94c345b1f57b1c09f33ab8b3e891e54a9a4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/62/37d94c345b1f57b1c09f33ab8b3e891e54a9a4
--------------------------------------------------------------------------------
/objects/63/cee708c6b82c072891ddf93cce373661663896:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/63/cee708c6b82c072891ddf93cce373661663896
--------------------------------------------------------------------------------
/objects/64/26489363e1f5ea6c15db9fbb4cf53983662adc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/64/26489363e1f5ea6c15db9fbb4cf53983662adc
--------------------------------------------------------------------------------
/objects/64/5e1a5b870141ff01c6cb137c76efabf0325424:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/64/5e1a5b870141ff01c6cb137c76efabf0325424
--------------------------------------------------------------------------------
/objects/65/ecba220af556a81db53733408bd22f60323278:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/65/ecba220af556a81db53733408bd22f60323278
--------------------------------------------------------------------------------
/objects/66/6132142f316a338cd2084af293f8c6aef70bd2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/66/6132142f316a338cd2084af293f8c6aef70bd2
--------------------------------------------------------------------------------
/objects/66/c275ca46223c28b107a1a03955c041953c287e:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/66/c275ca46223c28b107a1a03955c041953c287e
--------------------------------------------------------------------------------
/objects/66/e9889e8b4aeea1af13e2396fb70594232a2ae3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/66/e9889e8b4aeea1af13e2396fb70594232a2ae3
--------------------------------------------------------------------------------
/objects/69/bfc81cc626917fc7c0160a76ce371fafcb4ee4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/69/bfc81cc626917fc7c0160a76ce371fafcb4ee4
--------------------------------------------------------------------------------
/objects/6b/781b981ec5780527e797e03d416382eaed264f:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/6b/781b981ec5780527e797e03d416382eaed264f
--------------------------------------------------------------------------------
/objects/6c/11d7bf30f73ccdf57b8df411660001a7b3b7b5:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/6c/11d7bf30f73ccdf57b8df411660001a7b3b7b5
--------------------------------------------------------------------------------
/objects/6d/7a1449b789a582a76c640d3d022f20e825c0f4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/6d/7a1449b789a582a76c640d3d022f20e825c0f4
--------------------------------------------------------------------------------
/objects/6f/011cfa63ad313eb96595d0da6f7b5b3223d965:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/6f/011cfa63ad313eb96595d0da6f7b5b3223d965
--------------------------------------------------------------------------------
/objects/71/e71658511e7b6ce19220fd5ab9559d89fb0551:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/71/e71658511e7b6ce19220fd5ab9559d89fb0551
--------------------------------------------------------------------------------
/objects/72/793079f61256e9b8a5342c15d33e565fd317e2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/72/793079f61256e9b8a5342c15d33e565fd317e2
--------------------------------------------------------------------------------
/objects/73/9aa5f022071bfaefac9de447f6250b5d83dd83:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/73/9aa5f022071bfaefac9de447f6250b5d83dd83
--------------------------------------------------------------------------------
/objects/74/5afc3d1bb597391f1a898130804d8293a98931:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/74/5afc3d1bb597391f1a898130804d8293a98931
--------------------------------------------------------------------------------
/objects/78/a030af22ea129d02a7745790b79fbe81a9e3ab:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/78/a030af22ea129d02a7745790b79fbe81a9e3ab
--------------------------------------------------------------------------------
/objects/78/c4e861dc6f53c1c2e1e13674a0d1629d8c6621:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/78/c4e861dc6f53c1c2e1e13674a0d1629d8c6621
--------------------------------------------------------------------------------
/objects/7a/5a3206d81b8835d1fdeb03bdc0cc01686b6ca7:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/7a/5a3206d81b8835d1fdeb03bdc0cc01686b6ca7
--------------------------------------------------------------------------------
/objects/7d/fe5b8fd7f29030e6ab8c96bbf4f73b33152172:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/7d/fe5b8fd7f29030e6ab8c96bbf4f73b33152172
--------------------------------------------------------------------------------
/objects/7f/9d028efdd973bcb0fa810f1f5a9df605232033:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/7f/9d028efdd973bcb0fa810f1f5a9df605232033
--------------------------------------------------------------------------------
/objects/81/269f6513de64f42dea1f0a8736292abfaa9c84:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/81/269f6513de64f42dea1f0a8736292abfaa9c84
--------------------------------------------------------------------------------
/objects/81/2927b95045cfbebd1a82bf2d47a1df01f70074:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/81/2927b95045cfbebd1a82bf2d47a1df01f70074
--------------------------------------------------------------------------------
/objects/82/7cf8a07475aefb5d22848935c55e590e2f26b6:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/82/7cf8a07475aefb5d22848935c55e590e2f26b6
--------------------------------------------------------------------------------
/objects/84/f3d10c5c7c12191f3395b29744a7a6f8944672:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/84/f3d10c5c7c12191f3395b29744a7a6f8944672
--------------------------------------------------------------------------------
/objects/86/b457947c60e40dec3914fcb81fbb89760f183b:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/86/b457947c60e40dec3914fcb81fbb89760f183b
--------------------------------------------------------------------------------
/objects/86/c8e9a55aec138a8ea7f475616be8abb45950fb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/86/c8e9a55aec138a8ea7f475616be8abb45950fb
--------------------------------------------------------------------------------
/objects/89/d2efab2ba659d7814a7665a99f7f8d7429a072:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/89/d2efab2ba659d7814a7665a99f7f8d7429a072
--------------------------------------------------------------------------------
/objects/8a/0729d74fc828d5b98df2548576857bd4be561e:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/8a/0729d74fc828d5b98df2548576857bd4be561e
--------------------------------------------------------------------------------
/objects/8a/c9ee58e6e3412b3e2fa0581fba74cc1e1f4d77:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/8a/c9ee58e6e3412b3e2fa0581fba74cc1e1f4d77
--------------------------------------------------------------------------------
/objects/8b/085d0a1996c53ce92f66c67417a357e4c4c34a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/8b/085d0a1996c53ce92f66c67417a357e4c4c34a
--------------------------------------------------------------------------------
/objects/8b/13a63f346f46c482c682ec2198b4485c836300:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/8b/13a63f346f46c482c682ec2198b4485c836300
--------------------------------------------------------------------------------
/objects/8d/4b870af32968f2a99720a980cfa6e3b66e5888:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/8d/4b870af32968f2a99720a980cfa6e3b66e5888
--------------------------------------------------------------------------------
/objects/8e/5cbde5334392bc835f32069c74800aedcf824f:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/8e/5cbde5334392bc835f32069c74800aedcf824f
--------------------------------------------------------------------------------
/objects/92/0b9550007b794a90bcf8942b3850957b407dc6:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/92/0b9550007b794a90bcf8942b3850957b407dc6
--------------------------------------------------------------------------------
/objects/92/7460ca27b14bbf4c60f7b8b2c62289d9313481:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/92/7460ca27b14bbf4c60f7b8b2c62289d9313481
--------------------------------------------------------------------------------
/objects/93/41b7a8f4f551cd973de40c98316bf1390b10cb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/93/41b7a8f4f551cd973de40c98316bf1390b10cb
--------------------------------------------------------------------------------
/objects/93/83039663d08351ac654b5f34fbb8e1b51dfd11:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/93/83039663d08351ac654b5f34fbb8e1b51dfd11
--------------------------------------------------------------------------------
/objects/94/44c551949eddbee9e58814e2accd347aa41d2f:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/94/44c551949eddbee9e58814e2accd347aa41d2f
--------------------------------------------------------------------------------
/objects/95/4130ae1c1366cacbc026a0a802679e9b268f23:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/95/4130ae1c1366cacbc026a0a802679e9b268f23
--------------------------------------------------------------------------------
/objects/96/587c6ba78d238d5cc7168706b18895a60f52cf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/96/587c6ba78d238d5cc7168706b18895a60f52cf
--------------------------------------------------------------------------------
/objects/96/7c0d928bec09b1f28ec9cb287141d152b9bbe0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/96/7c0d928bec09b1f28ec9cb287141d152b9bbe0
--------------------------------------------------------------------------------
/objects/97/77e17debc47be0f8dcf43e0bd61d3293cee927:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/97/77e17debc47be0f8dcf43e0bd61d3293cee927
--------------------------------------------------------------------------------
/objects/9a/6b5ed2c64a21df2a4d718ace6bd920d11df911:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/9a/6b5ed2c64a21df2a4d718ace6bd920d11df911
--------------------------------------------------------------------------------
/objects/9c/d540a8d1d0e93841648e882a2a7fb525ddd482:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/9c/d540a8d1d0e93841648e882a2a7fb525ddd482
--------------------------------------------------------------------------------
/objects/9e/3e73a86af89cc8718d88a711f17e9eef1417ce:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/9e/3e73a86af89cc8718d88a711f17e9eef1417ce
--------------------------------------------------------------------------------
/objects/9e/4a2f0d852d82e962ac4908bd1c1cb1071b84bc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/9e/4a2f0d852d82e962ac4908bd1c1cb1071b84bc
--------------------------------------------------------------------------------
/objects/9f/7fe11bdd3523d4be6f7f3b0f9e89bb91f819e5:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/9f/7fe11bdd3523d4be6f7f3b0f9e89bb91f819e5
--------------------------------------------------------------------------------
/objects/9f/c1de7311980de43810370d76523ed9b293fb41:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/9f/c1de7311980de43810370d76523ed9b293fb41
--------------------------------------------------------------------------------
/objects/a0/09ace51ccf46bab4ac06100a225a1fa1801e65:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/a0/09ace51ccf46bab4ac06100a225a1fa1801e65
--------------------------------------------------------------------------------
/objects/a1/23d1fd22c30898d9bea602f04e79c577204191:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/a1/23d1fd22c30898d9bea602f04e79c577204191
--------------------------------------------------------------------------------
/objects/a2/8d430940083f447bdd0946db56b3ab74d855ef:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/a2/8d430940083f447bdd0946db56b3ab74d855ef
--------------------------------------------------------------------------------
/objects/a7/08840baf959d79f41d93677c4fcc4e7dca396b:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/a7/08840baf959d79f41d93677c4fcc4e7dca396b
--------------------------------------------------------------------------------
/objects/a7/6cf1f2e4312077f944d433f318a477bbde84bd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/a7/6cf1f2e4312077f944d433f318a477bbde84bd
--------------------------------------------------------------------------------
/objects/a8/e4462f20340b73db6df04da3a3fa0dd842713f:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/a8/e4462f20340b73db6df04da3a3fa0dd842713f
--------------------------------------------------------------------------------
/objects/aa/9363ecb712071e878dd178a66e67fe4f970285:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/aa/9363ecb712071e878dd178a66e67fe4f970285
--------------------------------------------------------------------------------
/objects/ac/033bf9dc846101320c96a5ce8aceb8c96ec098:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/ac/033bf9dc846101320c96a5ce8aceb8c96ec098
--------------------------------------------------------------------------------
/objects/ad/dad95f46cc74d55b6c8780da1d26b66104d618:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/ad/dad95f46cc74d55b6c8780da1d26b66104d618
--------------------------------------------------------------------------------
/objects/ae/ff9096f824eebf936e717fd8ebd958b70d46d4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/ae/ff9096f824eebf936e717fd8ebd958b70d46d4
--------------------------------------------------------------------------------
/objects/b1/6e53d6d56d262ebcd7692c54616a9df2a30f8b:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/b1/6e53d6d56d262ebcd7692c54616a9df2a30f8b
--------------------------------------------------------------------------------
/objects/b3/c43eaabe07615c057ea68789c8f0f6bae71f51:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/b3/c43eaabe07615c057ea68789c8f0f6bae71f51
--------------------------------------------------------------------------------
/objects/b3/ce20acba9fcf0f5b8f23aa92d44714859831e7:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/b3/ce20acba9fcf0f5b8f23aa92d44714859831e7
--------------------------------------------------------------------------------
/objects/b4/488a24672551abdb6a9671212d4ed5fd7e8aff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/b4/488a24672551abdb6a9671212d4ed5fd7e8aff
--------------------------------------------------------------------------------
/objects/b6/842fd39d4e0253937372993e374aed23815ae1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/b6/842fd39d4e0253937372993e374aed23815ae1
--------------------------------------------------------------------------------
/objects/b6/e7280ec461d506967cd9b09367a5bb23ac308f:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/b6/e7280ec461d506967cd9b09367a5bb23ac308f
--------------------------------------------------------------------------------
/objects/b7/aed002de9734309c91588854c5f8154ed60638:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/b7/aed002de9734309c91588854c5f8154ed60638
--------------------------------------------------------------------------------
/objects/b8/7ca86406299302d7485cae6ca573c5d255e18b:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/b8/7ca86406299302d7485cae6ca573c5d255e18b
--------------------------------------------------------------------------------
/objects/b9/24754116f6d58da22cfcda7c8986798fb76686:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/b9/24754116f6d58da22cfcda7c8986798fb76686
--------------------------------------------------------------------------------
/objects/ba/31c424d4f9c5330427854aeb8cd41b7fccbaca:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/ba/31c424d4f9c5330427854aeb8cd41b7fccbaca
--------------------------------------------------------------------------------
/objects/ba/cd4761a70e7216611c1a01cfd31e9cc404703c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/ba/cd4761a70e7216611c1a01cfd31e9cc404703c
--------------------------------------------------------------------------------
/objects/bb/787cd5b18782f23f4dda336bf2e970526ab2a1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/bb/787cd5b18782f23f4dda336bf2e970526ab2a1
--------------------------------------------------------------------------------
/objects/bb/c679f2c956148b647319745e1e5a0d6ea53188:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/bb/c679f2c956148b647319745e1e5a0d6ea53188
--------------------------------------------------------------------------------
/objects/bb/fc3961bffef15dabb35fe0de4c409d6efb58c5:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/bb/fc3961bffef15dabb35fe0de4c409d6efb58c5
--------------------------------------------------------------------------------
/objects/bc/1510c0b5b68d89b8daefd6c21c4e3595d947c6:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/bc/1510c0b5b68d89b8daefd6c21c4e3595d947c6
--------------------------------------------------------------------------------
/objects/be/a5eb91890af294a27174dbe05aed7348b06370:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/be/a5eb91890af294a27174dbe05aed7348b06370
--------------------------------------------------------------------------------
/objects/c0/8eac0d1df79f30154726ea242c08e0ee851c4b:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/c0/8eac0d1df79f30154726ea242c08e0ee851c4b
--------------------------------------------------------------------------------
/objects/c2/bacef836f2140d11d42535643d4d204b9d519c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/c2/bacef836f2140d11d42535643d4d204b9d519c
--------------------------------------------------------------------------------
/objects/c4/192631f25b34d77a7f159aa0da0e3ae99c4ef4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/c4/192631f25b34d77a7f159aa0da0e3ae99c4ef4
--------------------------------------------------------------------------------
/objects/c4/2881e76cc56e8091fbce5264be703bcc72b749:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/c4/2881e76cc56e8091fbce5264be703bcc72b749
--------------------------------------------------------------------------------
/objects/c4/f4ce922eaa98c9f5c6d27c0b22324fe5d45016:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/c4/f4ce922eaa98c9f5c6d27c0b22324fe5d45016
--------------------------------------------------------------------------------
/objects/c6/e6d5f93220fd82379983ec366bc85eb6698d50:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/c6/e6d5f93220fd82379983ec366bc85eb6698d50
--------------------------------------------------------------------------------
/objects/c6/fd7590574cdde2eb3e5294641e7ee77a105ced:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/c6/fd7590574cdde2eb3e5294641e7ee77a105ced
--------------------------------------------------------------------------------
/objects/c8/08667ab56f550cc5ecae200230fa315da87f73:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/c8/08667ab56f550cc5ecae200230fa315da87f73
--------------------------------------------------------------------------------
/objects/c8/34355418b56edf59cf62eb345aceb8efde334b:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/c8/34355418b56edf59cf62eb345aceb8efde334b
--------------------------------------------------------------------------------
/objects/c9/119b40c08eff8aef2d607f5bf42424483cbd15:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/c9/119b40c08eff8aef2d607f5bf42424483cbd15
--------------------------------------------------------------------------------
/objects/cb/d34d2e9dd1176aeddb1efe6e1aeb0e2afd2931:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/cb/d34d2e9dd1176aeddb1efe6e1aeb0e2afd2931
--------------------------------------------------------------------------------
/objects/ce/3e102e477a9707b22a84465c0aa6dd14b99d50:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/ce/3e102e477a9707b22a84465c0aa6dd14b99d50
--------------------------------------------------------------------------------
/objects/cf/5ea7c84706bd34ed42dcb1639474befd0a5972:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/cf/5ea7c84706bd34ed42dcb1639474befd0a5972
--------------------------------------------------------------------------------
/objects/d0/5ea0f51121598f49fa5bebf85fa0723d33d1a4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/d0/5ea0f51121598f49fa5bebf85fa0723d33d1a4
--------------------------------------------------------------------------------
/objects/d1/6d9af7434fab65b18780112a0427417e06dcd9:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/d1/6d9af7434fab65b18780112a0427417e06dcd9
--------------------------------------------------------------------------------
/objects/d1/9212abd5ced9378de164299b0eab073b16bd7e:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/d1/9212abd5ced9378de164299b0eab073b16bd7e
--------------------------------------------------------------------------------
/objects/d2/089f6b0c99fdc277b597ab56d83f8cd4d1e367:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/d2/089f6b0c99fdc277b597ab56d83f8cd4d1e367
--------------------------------------------------------------------------------
/objects/d2/3a7305c037a8bd627243217a3d98e93784cd95:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/d2/3a7305c037a8bd627243217a3d98e93784cd95
--------------------------------------------------------------------------------
/objects/d5/a2f6ed746ff862b56c98ca7616872a528d4397:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/d5/a2f6ed746ff862b56c98ca7616872a528d4397
--------------------------------------------------------------------------------
/objects/d6/7269728300b9dac6a4a0db443ece02d7b6c513:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/d6/7269728300b9dac6a4a0db443ece02d7b6c513
--------------------------------------------------------------------------------
/objects/db/d735e5fe8e274d032c48db019e0ee1e8d27846:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/db/d735e5fe8e274d032c48db019e0ee1e8d27846
--------------------------------------------------------------------------------
/objects/db/e81b1992c6dcd1edeb47785dbdc2835775f42f:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/db/e81b1992c6dcd1edeb47785dbdc2835775f42f
--------------------------------------------------------------------------------
/objects/dc/1899682b01c3a6d9673faf746e235fb64fc4d2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/dc/1899682b01c3a6d9673faf746e235fb64fc4d2
--------------------------------------------------------------------------------
/objects/de/68f34b821e7ac8eb7bd2c2e21ced78b1440a4b:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/de/68f34b821e7ac8eb7bd2c2e21ced78b1440a4b
--------------------------------------------------------------------------------
/objects/de/6be7945c6a59798eb0ace177df38b05e98c2f0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/de/6be7945c6a59798eb0ace177df38b05e98c2f0
--------------------------------------------------------------------------------
/objects/de/cc5a85735df127f96b89043ed6c6911713941a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/de/cc5a85735df127f96b89043ed6c6911713941a
--------------------------------------------------------------------------------
/objects/de/d31c0d80df45c2c6216ecfb83444689acd0b68:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/de/d31c0d80df45c2c6216ecfb83444689acd0b68
--------------------------------------------------------------------------------
/objects/de/e720facdcda703fe5067aef3fcec32c121f50b:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/de/e720facdcda703fe5067aef3fcec32c121f50b
--------------------------------------------------------------------------------
/objects/e0/338af6deb14aabcd79af5d1e47dfdf8474c872:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/e0/338af6deb14aabcd79af5d1e47dfdf8474c872
--------------------------------------------------------------------------------
/objects/e1/44d8dfb10683ef0fac596df1d05ce07eacf384:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/e1/44d8dfb10683ef0fac596df1d05ce07eacf384
--------------------------------------------------------------------------------
/objects/e1/80ef17bada344e32e92a0f9499cf592461e521:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/e1/80ef17bada344e32e92a0f9499cf592461e521
--------------------------------------------------------------------------------
/objects/e1/e9e9b910b34c1dc6477c69a16fbaa70c7fb462:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/e1/e9e9b910b34c1dc6477c69a16fbaa70c7fb462
--------------------------------------------------------------------------------
/objects/e1/faa4cbc1fa7c11a048bcd0608624b28cb1bf34:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/e1/faa4cbc1fa7c11a048bcd0608624b28cb1bf34
--------------------------------------------------------------------------------
/objects/e3/4cd8b9135eb51f7e541023b81f7d206f721d57:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/e3/4cd8b9135eb51f7e541023b81f7d206f721d57
--------------------------------------------------------------------------------
/objects/e3/c4ff0b8e55bace5ee73e69e9e1825834976641:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/e3/c4ff0b8e55bace5ee73e69e9e1825834976641
--------------------------------------------------------------------------------
/objects/e4/c125e02e9fbe66bebbd7382f7f54060a5781ca:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/e4/c125e02e9fbe66bebbd7382f7f54060a5781ca
--------------------------------------------------------------------------------
/objects/e6/5b839257736a4842a419a60c3e5ca1f7cae0bf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/e6/5b839257736a4842a419a60c3e5ca1f7cae0bf
--------------------------------------------------------------------------------
/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391
--------------------------------------------------------------------------------
/objects/e8/5f913914bd9d1342eae4cdd97b5520733a592a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/e8/5f913914bd9d1342eae4cdd97b5520733a592a
--------------------------------------------------------------------------------
/objects/e9/f5cc14232633814ea83436a846ab5f23e23d94:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/e9/f5cc14232633814ea83436a846ab5f23e23d94
--------------------------------------------------------------------------------
/objects/ec/792bd72b01057c87dc3ab4f565e4e3aef1c145:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/ec/792bd72b01057c87dc3ab4f565e4e3aef1c145
--------------------------------------------------------------------------------
/objects/ee/8dce5416e6ab070df60a4c6188266c653adcdd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/ee/8dce5416e6ab070df60a4c6188266c653adcdd
--------------------------------------------------------------------------------
/objects/ef/1f79dc0783211cd05b8f1587588ad48b3ab9f4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/ef/1f79dc0783211cd05b8f1587588ad48b3ab9f4
--------------------------------------------------------------------------------
/objects/f3/000e332d8faa2f8496c72b6b83ab199ca63959:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/f3/000e332d8faa2f8496c72b6b83ab199ca63959
--------------------------------------------------------------------------------
/objects/f4/e8c6e182a70c827464014857c378bc2a1b2a29:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/f4/e8c6e182a70c827464014857c378bc2a1b2a29
--------------------------------------------------------------------------------
/objects/f7/682117f1e0d915cc97c38965852050f888c721:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/f7/682117f1e0d915cc97c38965852050f888c721
--------------------------------------------------------------------------------
/objects/f7/ba0b527b16a6f539991825ecd72c2e9b6e3af0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/f7/ba0b527b16a6f539991825ecd72c2e9b6e3af0
--------------------------------------------------------------------------------
/objects/fa/229300acbf80b6b63e40ffb3e71819d4885b44:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/fa/229300acbf80b6b63e40ffb3e71819d4885b44
--------------------------------------------------------------------------------
/objects/fe/37e115ca6e397cc2778d8ee2aeb3e682e8cda7:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/fe/37e115ca6e397cc2778d8ee2aeb3e682e8cda7
--------------------------------------------------------------------------------
/objects/fe/6c744edaa5d02c30231f22e5b6b9fc0f2932e7:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/fe/6c744edaa5d02c30231f22e5b6b9fc0f2932e7
--------------------------------------------------------------------------------
/objects/fe/960121e629f669bdc98e89eda4734fd9512080:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/objects/fe/960121e629f669bdc98e89eda4734fd9512080
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "staticsite-starterkit",
3 | "version": "1.0.0",
4 | "description": "Starter Kit for a Simple Website Development.",
5 | "author": "Yusuke Takahashi ",
6 | "license": "MIT",
7 | "repository": {
8 | "type": "git",
9 | "url": "git+https://github.com/littlebirdjp/staticsite-starterkit2.git"
10 | },
11 | "scripts": {
12 | "start": "gulp",
13 | "test": "echo \"Error: no test specified\" && exit 0"
14 | },
15 | "dependencies": {
16 | "gulp": "^3.9.0"
17 | },
18 | "devDependencies": {
19 | "browser-sync": "^2.8.2",
20 | "gulp-concat": "^2.1.0",
21 | "gulp-csso": "^2.0.0",
22 | "gulp-jade": "^1.1.0",
23 | "gulp-plumber": "^1.0.1",
24 | "gulp-postcss": "^6.1.1",
25 | "gulp-prettify": "^0.5.0",
26 | "gulp-rename": "^1.2.2",
27 | "gulp-sass": "^2.0.4",
28 | "gulp-shell": "^0.5.2",
29 | "gulp-sourcemaps": "^1.5.2",
30 | "gulp-uglify": "^2.0.0",
31 | "marked": "^0.3.5",
32 | "node-reset-scss": "^1.0.1",
33 | "postcss-cssnext": "^2.7.0",
34 | "webpack": "^3.6.0"
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/packed-refs:
--------------------------------------------------------------------------------
1 | # pack-refs with: peeled fully-peeled
2 | 666132142f316a338cd2084af293f8c6aef70bd2 refs/remotes/origin/fix_postal_data
3 | 44496cf5a6b913b5e6e44535fff873ecf1df7cbf refs/remotes/origin/master
4 |
--------------------------------------------------------------------------------
/public/404.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | The page you were looking for doesn't exist (404)
5 |
6 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
The page you were looking for doesn't exist.
62 |
You may have mistyped the address or the page may have moved.
63 |
64 |
If you are the application owner check the logs for more information.
65 |
66 |
67 |
68 |
--------------------------------------------------------------------------------
/public/422.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | The change you wanted was rejected (422)
5 |
6 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
The change you wanted was rejected.
62 |
Maybe you tried to change something you didn't have access to.
63 |
64 |
If you are the application owner check the logs for more information.
65 |
66 |
67 |
68 |
--------------------------------------------------------------------------------
/public/500.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | We're sorry, but something went wrong (500)
5 |
6 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
We're sorry, but something went wrong.
62 |
63 |
If you are the application owner check the logs for more information.
64 |
65 |
66 |
67 |
--------------------------------------------------------------------------------
/public/apple-touch-icon-precomposed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/public/apple-touch-icon-precomposed.png
--------------------------------------------------------------------------------
/public/apple-touch-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/public/apple-touch-icon.png
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/public/favicon.ico
--------------------------------------------------------------------------------
/public/images/kouhosha_ogp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/public/images/kouhosha_ogp.png
--------------------------------------------------------------------------------
/public/images/top-bg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/public/images/top-bg.jpg
--------------------------------------------------------------------------------
/public/robots.txt:
--------------------------------------------------------------------------------
1 | # See http://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file
2 |
--------------------------------------------------------------------------------
/refs/heads/develop:
--------------------------------------------------------------------------------
1 | 8ac9ee58e6e3412b3e2fa0581fba74cc1e1f4d77
2 |
--------------------------------------------------------------------------------
/refs/heads/master:
--------------------------------------------------------------------------------
1 | 44496cf5a6b913b5e6e44535fff873ecf1df7cbf
2 |
--------------------------------------------------------------------------------
/refs/remotes/origin/HEAD:
--------------------------------------------------------------------------------
1 | ref: refs/remotes/origin/master
2 |
--------------------------------------------------------------------------------
/run_rails_cmd.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | PATH="/home/deployer/.rvm/gems/ruby-2.4.2/bin:/home/deployer/.rvm/gems/ruby-2.4.2@global/bin:/home/deployer/.rvm/rubies/ruby-2.4.2/bin:/home/deployer/.rvm/gems/ruby-2.4.2/bin:/home/deployer/.rvm/gems/ruby-2.4.2@global/bin:/home/deployer/.rvm/rubies/ruby-2.4.2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/deployer/.rvm/bin"
4 | GEM_HOME='/home/deployer/.rvm/gems/ruby-2.4.2'
5 | GEM_PATH='/home/deployer/.rvm/gems/ruby-2.4.2:/home/deployer/.rvm/gems/ruby-2.4.2@global'
6 | MY_RUBY_HOME='/home/deployer/.rvm/rubies/ruby-2.4.2'
7 | IRBRC='/home/deployer/.rvm/rubies/ruby-2.4.2/.irbrc'
8 | RUBY_VERSION='ruby-2.4.2'
9 |
10 | dir=$(cd $(dirname $0) && pwd)
11 |
12 | cd $dir
13 | echo $(date):$dir/../../rvm1scripts/rvm-auto.sh 2.4.2 bundle exec $@ RAILS_ENV=production
14 | $dir/../../rvm1scripts/rvm-auto.sh 2.4.2 bundle exec $@ RAILS_ENV=production
15 |
--------------------------------------------------------------------------------
/test/application_system_test_case.rb:
--------------------------------------------------------------------------------
1 | require "test_helper"
2 |
3 | class ApplicationSystemTestCase < ActionDispatch::SystemTestCase
4 | driven_by :selenium, using: :chrome, screen_size: [1400, 1400]
5 | end
6 |
--------------------------------------------------------------------------------
/test/controllers/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/test/controllers/.keep
--------------------------------------------------------------------------------
/test/controllers/hirei_senkyokus_controller_test.rb:
--------------------------------------------------------------------------------
1 | require 'test_helper'
2 |
3 | class HireiSenkyokusControllerTest < ActionDispatch::IntegrationTest
4 | # test "the truth" do
5 | # assert true
6 | # end
7 | end
8 |
--------------------------------------------------------------------------------
/test/controllers/prefs_controller_test.rb:
--------------------------------------------------------------------------------
1 | require 'test_helper'
2 |
3 | class PrefsControllerTest < ActionDispatch::IntegrationTest
4 | # test "the truth" do
5 | # assert true
6 | # end
7 | end
8 |
--------------------------------------------------------------------------------
/test/controllers/search_controller_test.rb:
--------------------------------------------------------------------------------
1 | require 'test_helper'
2 |
3 | class SearchControllerTest < ActionDispatch::IntegrationTest
4 | # test "the truth" do
5 | # assert true
6 | # end
7 | end
8 |
--------------------------------------------------------------------------------
/test/fixtures/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/test/fixtures/.keep
--------------------------------------------------------------------------------
/test/fixtures/cities.yml:
--------------------------------------------------------------------------------
1 | # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html
2 |
3 | one:
4 | pref_code: MyString
5 | city_code: MyString
6 | city_name: MyString
7 |
8 | two:
9 | pref_code: MyString
10 | city_code: MyString
11 | city_name: MyString
12 |
--------------------------------------------------------------------------------
/test/fixtures/files/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/test/fixtures/files/.keep
--------------------------------------------------------------------------------
/test/fixtures/hirei_senkyokus.yml:
--------------------------------------------------------------------------------
1 | # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html
2 |
3 | one:
4 | name: MyString
5 | capacity: 1
6 |
7 | two:
8 | name: MyString
9 | capacity: 1
10 |
--------------------------------------------------------------------------------
/test/fixtures/pref_hirei_senkyokus.yml:
--------------------------------------------------------------------------------
1 | # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html
2 |
3 | # This model initially had no columns defined. If you add columns to the
4 | # model remove the '{}' from the fixture names and add the columns immediately
5 | # below each fixture, per the syntax in the comments below
6 | #
7 | one: {}
8 | # column: value
9 | #
10 | two: {}
11 | # column: value
12 |
--------------------------------------------------------------------------------
/test/fixtures/prefs.yml:
--------------------------------------------------------------------------------
1 | # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html
2 |
3 | one:
4 | pref_code: MyString
5 | name: MyString
6 |
7 | two:
8 | pref_code: MyString
9 | name: MyString
10 |
--------------------------------------------------------------------------------
/test/fixtures/senkyoku_zip_codes.yml:
--------------------------------------------------------------------------------
1 | # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html
2 |
3 | # This model initially had no columns defined. If you add columns to the
4 | # model remove the '{}' from the fixture names and add the columns immediately
5 | # below each fixture, per the syntax in the comments below
6 | #
7 | one: {}
8 | # column: value
9 | #
10 | two: {}
11 | # column: value
12 |
--------------------------------------------------------------------------------
/test/fixtures/senkyokus.yml:
--------------------------------------------------------------------------------
1 | # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html
2 |
3 | one:
4 | pref_code: MyString
5 | senkyoku_no: 1
6 |
7 | two:
8 | pref_code: MyString
9 | senkyoku_no: 1
10 |
--------------------------------------------------------------------------------
/test/fixtures/zip_codes.yml:
--------------------------------------------------------------------------------
1 | # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html
2 |
3 | # This model initially had no columns defined. If you add columns to the
4 | # model remove the '{}' from the fixture names and add the columns immediately
5 | # below each fixture, per the syntax in the comments below
6 | #
7 | one: {}
8 | # column: value
9 | #
10 | two: {}
11 | # column: value
12 |
--------------------------------------------------------------------------------
/test/helpers/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/test/helpers/.keep
--------------------------------------------------------------------------------
/test/integration/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/test/integration/.keep
--------------------------------------------------------------------------------
/test/mailers/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/test/mailers/.keep
--------------------------------------------------------------------------------
/test/models/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/test/models/.keep
--------------------------------------------------------------------------------
/test/models/city_test.rb:
--------------------------------------------------------------------------------
1 | require 'test_helper'
2 |
3 | class CityTest < ActiveSupport::TestCase
4 | # test "the truth" do
5 | # assert true
6 | # end
7 | end
8 |
--------------------------------------------------------------------------------
/test/models/hirei_senkyoku_test.rb:
--------------------------------------------------------------------------------
1 | require 'test_helper'
2 |
3 | class HireiSenkyokuTest < ActiveSupport::TestCase
4 | # test "the truth" do
5 | # assert true
6 | # end
7 | end
8 |
--------------------------------------------------------------------------------
/test/models/pref_hirei_senkyoku_test.rb:
--------------------------------------------------------------------------------
1 | require 'test_helper'
2 |
3 | class PrefHireiSenkyokuTest < ActiveSupport::TestCase
4 | # test "the truth" do
5 | # assert true
6 | # end
7 | end
8 |
--------------------------------------------------------------------------------
/test/models/pref_test.rb:
--------------------------------------------------------------------------------
1 | require 'test_helper'
2 |
3 | class PrefTest < ActiveSupport::TestCase
4 | # test "the truth" do
5 | # assert true
6 | # end
7 | end
8 |
--------------------------------------------------------------------------------
/test/models/senkyoku_test.rb:
--------------------------------------------------------------------------------
1 | require 'test_helper'
2 |
3 | class SenkyokuTest < ActiveSupport::TestCase
4 | # test "the truth" do
5 | # assert true
6 | # end
7 | end
8 |
--------------------------------------------------------------------------------
/test/models/senkyoku_zip_code_test.rb:
--------------------------------------------------------------------------------
1 | require 'test_helper'
2 |
3 | class SenkyokuZipCodeTest < ActiveSupport::TestCase
4 | # test "the truth" do
5 | # assert true
6 | # end
7 | end
8 |
--------------------------------------------------------------------------------
/test/models/zip_code_test.rb:
--------------------------------------------------------------------------------
1 | require 'test_helper'
2 |
3 | class ZipCodeTest < ActiveSupport::TestCase
4 | # test "the truth" do
5 | # assert true
6 | # end
7 | end
8 |
--------------------------------------------------------------------------------
/test/system/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/test/system/.keep
--------------------------------------------------------------------------------
/test/system/prefs_test.rb:
--------------------------------------------------------------------------------
1 | require "application_system_test_case"
2 |
3 | class PrefsTest < ApplicationSystemTestCase
4 | # test "visiting the index" do
5 | # visit prefs_url
6 | #
7 | # assert_selector "h1", text: "Pref"
8 | # end
9 | end
10 |
--------------------------------------------------------------------------------
/test/system/senkyokus_test.rb:
--------------------------------------------------------------------------------
1 | require "application_system_test_case"
2 |
3 | class SenkyokusTest < ApplicationSystemTestCase
4 | # test "visiting the index" do
5 | # visit senkyokus_url
6 | #
7 | # assert_selector "h1", text: "Senkyoku"
8 | # end
9 | end
10 |
--------------------------------------------------------------------------------
/test/test_helper.rb:
--------------------------------------------------------------------------------
1 | require File.expand_path('../../config/environment', __FILE__)
2 | require 'rails/test_help'
3 |
4 | class ActiveSupport::TestCase
5 | # Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order.
6 | fixtures :all
7 |
8 | # Add more helper methods to be used by all tests here...
9 | end
10 |
--------------------------------------------------------------------------------
/tmp/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/tmp/.keep
--------------------------------------------------------------------------------
/vendor/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeforjapan/codeforelection_front/937cb9d254101f6880acd92c127045afc98825ea/vendor/.keep
--------------------------------------------------------------------------------