houston-core 0.5.0 → 0.5.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +3 -2
- data/README.md +27 -6
- data/app/concerns/commit_synchronizer.rb +17 -0
- data/bin/houston +4 -0
- data/db/structure.sql +7 -16
- data/houston.gemspec +4 -3
- data/lib/generators/instance_generator.rb +29 -0
- data/lib/generators/module_generator.rb +89 -0
- data/lib/houston/cli.rb +19 -0
- data/lib/houston/version.rb +1 -1
- data/templates/new-instance/.gitignore +16 -0
- data/templates/new-instance/Gemfile +48 -0
- data/templates/new-instance/README.md +39 -0
- data/templates/new-instance/Rakefile +7 -0
- data/templates/new-instance/bin/rails +8 -0
- data/templates/new-instance/bin/setup +22 -0
- data/templates/new-instance/config.ru +12 -0
- data/templates/new-instance/config/abilities.rb +81 -0
- data/templates/new-instance/config/alerts/cves.rb +14 -0
- data/templates/new-instance/config/alerts/errs.rb +30 -0
- data/templates/new-instance/config/conversations/mentions/unfurl_alerts.rb +17 -0
- data/templates/new-instance/config/conversations/mentions/unfurl_tasks.rb +16 -0
- data/templates/new-instance/config/database.yml +20 -0
- data/templates/new-instance/config/environments/.keep +0 -0
- data/templates/new-instance/config/environments/development.rb +6 -0
- data/templates/new-instance/config/environments/production.rb +3 -0
- data/templates/new-instance/config/environments/test.rb +3 -0
- data/templates/new-instance/config/initializers/.keep +0 -0
- data/templates/new-instance/config/integrations/engineyard.rb +4 -0
- data/templates/new-instance/config/integrations/errbit.rb +6 -0
- data/templates/new-instance/config/integrations/gemnasium.rb +2 -0
- data/templates/new-instance/config/integrations/github.rb +14 -0
- data/templates/new-instance/config/integrations/jenkins.rb +7 -0
- data/templates/new-instance/config/integrations/ldap.rb +5 -0
- data/templates/new-instance/config/jobs/email_about_open_alerts.rb +5 -0
- data/templates/new-instance/config/jobs/slack_reminders_about_alerts.rb +66 -0
- data/templates/new-instance/config/jobs/sync_commits.rb +3 -0
- data/templates/new-instance/config/jobs/sync_pull_requests.rb +3 -0
- data/templates/new-instance/config/jobs/sync_tickets.rb +3 -0
- data/templates/new-instance/config/main.rb +295 -0
- data/templates/new-instance/config/triggers/alerts/slack_when_assigned.rb +23 -0
- data/templates/new-instance/config/triggers/alerts/slack_when_opened.rb +8 -0
- data/templates/new-instance/config/triggers/daemons/health.rb +21 -0
- data/templates/new-instance/config/triggers/deploy/autoresolve_errs.rb +11 -0
- data/templates/new-instance/config/triggers/deploy/checkout_mentioned_alerts.rb +5 -0
- data/templates/new-instance/config/triggers/deploy/notify_deployer_when_finished.rb +23 -0
- data/templates/new-instance/config/triggers/github/publish_comments_on_slack.rb +36 -0
- data/templates/new-instance/config/triggers/tests/slack_when_analyzed.rb +30 -0
- data/templates/new-instance/config/triggers/tests/slack_when_completed.rb +38 -0
- data/templates/new-instance/config/triggers/tickets/email_testing_notes.rb +7 -0
- data/templates/new-instance/config/triggers/tickets/mark_tasks_completed_on_commit.rb +7 -0
- data/templates/new-instance/db/structure.sql +2291 -0
- data/templates/new-instance/lib/gemnasium-alert.rb +25 -0
- data/templates/new-instance/lib/slack_helpers.rb +66 -0
- data/templates/new-instance/lib/time_helpers.rb +7 -0
- data/templates/new-instance/public/404.html +58 -0
- data/templates/new-instance/public/422.html +58 -0
- data/templates/new-instance/public/500.html +57 -0
- data/templates/new-instance/public/favicon.ico +0 -0
- data/templates/new-instance/public/favicon.png +0 -0
- data/templates/new-instance/public/images/emoji/+1.png +0 -0
- data/templates/new-instance/public/images/emoji/-1.png +0 -0
- data/templates/new-instance/public/images/emoji/100.png +0 -0
- data/templates/new-instance/public/images/emoji/1234.png +0 -0
- data/templates/new-instance/public/images/emoji/8ball.png +0 -0
- data/templates/new-instance/public/images/emoji/a.png +0 -0
- data/templates/new-instance/public/images/emoji/ab.png +0 -0
- data/templates/new-instance/public/images/emoji/abc.png +0 -0
- data/templates/new-instance/public/images/emoji/abcd.png +0 -0
- data/templates/new-instance/public/images/emoji/accept.png +0 -0
- data/templates/new-instance/public/images/emoji/aerial_tramway.png +0 -0
- data/templates/new-instance/public/images/emoji/airplane.png +0 -0
- data/templates/new-instance/public/images/emoji/alarm_clock.png +0 -0
- data/templates/new-instance/public/images/emoji/alien.png +0 -0
- data/templates/new-instance/public/images/emoji/ambulance.png +0 -0
- data/templates/new-instance/public/images/emoji/anchor.png +0 -0
- data/templates/new-instance/public/images/emoji/angel.png +0 -0
- data/templates/new-instance/public/images/emoji/anger.png +0 -0
- data/templates/new-instance/public/images/emoji/angry.png +0 -0
- data/templates/new-instance/public/images/emoji/anguished.png +0 -0
- data/templates/new-instance/public/images/emoji/ant.png +0 -0
- data/templates/new-instance/public/images/emoji/apple.png +0 -0
- data/templates/new-instance/public/images/emoji/aquarius.png +0 -0
- data/templates/new-instance/public/images/emoji/aries.png +0 -0
- data/templates/new-instance/public/images/emoji/arrow_backward.png +0 -0
- data/templates/new-instance/public/images/emoji/arrow_double_down.png +0 -0
- data/templates/new-instance/public/images/emoji/arrow_double_up.png +0 -0
- data/templates/new-instance/public/images/emoji/arrow_down.png +0 -0
- data/templates/new-instance/public/images/emoji/arrow_down_small.png +0 -0
- data/templates/new-instance/public/images/emoji/arrow_forward.png +0 -0
- data/templates/new-instance/public/images/emoji/arrow_heading_down.png +0 -0
- data/templates/new-instance/public/images/emoji/arrow_heading_up.png +0 -0
- data/templates/new-instance/public/images/emoji/arrow_left.png +0 -0
- data/templates/new-instance/public/images/emoji/arrow_lower_left.png +0 -0
- data/templates/new-instance/public/images/emoji/arrow_lower_right.png +0 -0
- data/templates/new-instance/public/images/emoji/arrow_right.png +0 -0
- data/templates/new-instance/public/images/emoji/arrow_right_hook.png +0 -0
- data/templates/new-instance/public/images/emoji/arrow_up.png +0 -0
- data/templates/new-instance/public/images/emoji/arrow_up_down.png +0 -0
- data/templates/new-instance/public/images/emoji/arrow_up_small.png +0 -0
- data/templates/new-instance/public/images/emoji/arrow_upper_left.png +0 -0
- data/templates/new-instance/public/images/emoji/arrow_upper_right.png +0 -0
- data/templates/new-instance/public/images/emoji/arrows_clockwise.png +0 -0
- data/templates/new-instance/public/images/emoji/arrows_counterclockwise.png +0 -0
- data/templates/new-instance/public/images/emoji/art.png +0 -0
- data/templates/new-instance/public/images/emoji/articulated_lorry.png +0 -0
- data/templates/new-instance/public/images/emoji/astonished.png +0 -0
- data/templates/new-instance/public/images/emoji/athletic_shoe.png +0 -0
- data/templates/new-instance/public/images/emoji/atm.png +0 -0
- data/templates/new-instance/public/images/emoji/b.png +0 -0
- data/templates/new-instance/public/images/emoji/baby.png +0 -0
- data/templates/new-instance/public/images/emoji/baby_bottle.png +0 -0
- data/templates/new-instance/public/images/emoji/baby_chick.png +0 -0
- data/templates/new-instance/public/images/emoji/baby_symbol.png +0 -0
- data/templates/new-instance/public/images/emoji/back.png +0 -0
- data/templates/new-instance/public/images/emoji/baggage_claim.png +0 -0
- data/templates/new-instance/public/images/emoji/balloon.png +0 -0
- data/templates/new-instance/public/images/emoji/ballot_box_with_check.png +0 -0
- data/templates/new-instance/public/images/emoji/bamboo.png +0 -0
- data/templates/new-instance/public/images/emoji/banana.png +0 -0
- data/templates/new-instance/public/images/emoji/bangbang.png +0 -0
- data/templates/new-instance/public/images/emoji/bank.png +0 -0
- data/templates/new-instance/public/images/emoji/bar_chart.png +0 -0
- data/templates/new-instance/public/images/emoji/barber.png +0 -0
- data/templates/new-instance/public/images/emoji/baseball.png +0 -0
- data/templates/new-instance/public/images/emoji/basketball.png +0 -0
- data/templates/new-instance/public/images/emoji/bath.png +0 -0
- data/templates/new-instance/public/images/emoji/bathtub.png +0 -0
- data/templates/new-instance/public/images/emoji/battery.png +0 -0
- data/templates/new-instance/public/images/emoji/bear.png +0 -0
- data/templates/new-instance/public/images/emoji/bee.png +0 -0
- data/templates/new-instance/public/images/emoji/beer.png +0 -0
- data/templates/new-instance/public/images/emoji/beers.png +0 -0
- data/templates/new-instance/public/images/emoji/beetle.png +0 -0
- data/templates/new-instance/public/images/emoji/beginner.png +0 -0
- data/templates/new-instance/public/images/emoji/bell.png +0 -0
- data/templates/new-instance/public/images/emoji/bento.png +0 -0
- data/templates/new-instance/public/images/emoji/bicyclist.png +0 -0
- data/templates/new-instance/public/images/emoji/bike.png +0 -0
- data/templates/new-instance/public/images/emoji/bikini.png +0 -0
- data/templates/new-instance/public/images/emoji/bird.png +0 -0
- data/templates/new-instance/public/images/emoji/birthday.png +0 -0
- data/templates/new-instance/public/images/emoji/black_circle.png +0 -0
- data/templates/new-instance/public/images/emoji/black_joker.png +0 -0
- data/templates/new-instance/public/images/emoji/black_large_square.png +0 -0
- data/templates/new-instance/public/images/emoji/black_medium_small_square.png +0 -0
- data/templates/new-instance/public/images/emoji/black_medium_square.png +0 -0
- data/templates/new-instance/public/images/emoji/black_nib.png +0 -0
- data/templates/new-instance/public/images/emoji/black_small_square.png +0 -0
- data/templates/new-instance/public/images/emoji/black_square_button.png +0 -0
- data/templates/new-instance/public/images/emoji/blossom.png +0 -0
- data/templates/new-instance/public/images/emoji/blowfish.png +0 -0
- data/templates/new-instance/public/images/emoji/blue_book.png +0 -0
- data/templates/new-instance/public/images/emoji/blue_car.png +0 -0
- data/templates/new-instance/public/images/emoji/blue_heart.png +0 -0
- data/templates/new-instance/public/images/emoji/blush.png +0 -0
- data/templates/new-instance/public/images/emoji/boar.png +0 -0
- data/templates/new-instance/public/images/emoji/boat.png +0 -0
- data/templates/new-instance/public/images/emoji/bomb.png +0 -0
- data/templates/new-instance/public/images/emoji/book.png +0 -0
- data/templates/new-instance/public/images/emoji/bookmark.png +0 -0
- data/templates/new-instance/public/images/emoji/bookmark_tabs.png +0 -0
- data/templates/new-instance/public/images/emoji/books.png +0 -0
- data/templates/new-instance/public/images/emoji/boom.png +0 -0
- data/templates/new-instance/public/images/emoji/boot.png +0 -0
- data/templates/new-instance/public/images/emoji/bouquet.png +0 -0
- data/templates/new-instance/public/images/emoji/bow.png +0 -0
- data/templates/new-instance/public/images/emoji/bowling.png +0 -0
- data/templates/new-instance/public/images/emoji/bowtie.png +0 -0
- data/templates/new-instance/public/images/emoji/boy.png +0 -0
- data/templates/new-instance/public/images/emoji/bread.png +0 -0
- data/templates/new-instance/public/images/emoji/bride_with_veil.png +0 -0
- data/templates/new-instance/public/images/emoji/bridge_at_night.png +0 -0
- data/templates/new-instance/public/images/emoji/briefcase.png +0 -0
- data/templates/new-instance/public/images/emoji/broken_heart.png +0 -0
- data/templates/new-instance/public/images/emoji/bug.png +0 -0
- data/templates/new-instance/public/images/emoji/bulb.png +0 -0
- data/templates/new-instance/public/images/emoji/bullettrain_front.png +0 -0
- data/templates/new-instance/public/images/emoji/bullettrain_side.png +0 -0
- data/templates/new-instance/public/images/emoji/bus.png +0 -0
- data/templates/new-instance/public/images/emoji/busstop.png +0 -0
- data/templates/new-instance/public/images/emoji/bust_in_silhouette.png +0 -0
- data/templates/new-instance/public/images/emoji/busts_in_silhouette.png +0 -0
- data/templates/new-instance/public/images/emoji/cactus.png +0 -0
- data/templates/new-instance/public/images/emoji/cake.png +0 -0
- data/templates/new-instance/public/images/emoji/calendar.png +0 -0
- data/templates/new-instance/public/images/emoji/calling.png +0 -0
- data/templates/new-instance/public/images/emoji/camel.png +0 -0
- data/templates/new-instance/public/images/emoji/camera.png +0 -0
- data/templates/new-instance/public/images/emoji/cancer.png +0 -0
- data/templates/new-instance/public/images/emoji/candy.png +0 -0
- data/templates/new-instance/public/images/emoji/capital_abcd.png +0 -0
- data/templates/new-instance/public/images/emoji/capricorn.png +0 -0
- data/templates/new-instance/public/images/emoji/car.png +0 -0
- data/templates/new-instance/public/images/emoji/card_index.png +0 -0
- data/templates/new-instance/public/images/emoji/carousel_horse.png +0 -0
- data/templates/new-instance/public/images/emoji/cat.png +0 -0
- data/templates/new-instance/public/images/emoji/cat2.png +0 -0
- data/templates/new-instance/public/images/emoji/cd.png +0 -0
- data/templates/new-instance/public/images/emoji/chart.png +0 -0
- data/templates/new-instance/public/images/emoji/chart_with_downwards_trend.png +0 -0
- data/templates/new-instance/public/images/emoji/chart_with_upwards_trend.png +0 -0
- data/templates/new-instance/public/images/emoji/checkered_flag.png +0 -0
- data/templates/new-instance/public/images/emoji/cherries.png +0 -0
- data/templates/new-instance/public/images/emoji/cherry_blossom.png +0 -0
- data/templates/new-instance/public/images/emoji/chestnut.png +0 -0
- data/templates/new-instance/public/images/emoji/chicken.png +0 -0
- data/templates/new-instance/public/images/emoji/children_crossing.png +0 -0
- data/templates/new-instance/public/images/emoji/chocolate_bar.png +0 -0
- data/templates/new-instance/public/images/emoji/christmas_tree.png +0 -0
- data/templates/new-instance/public/images/emoji/church.png +0 -0
- data/templates/new-instance/public/images/emoji/cinema.png +0 -0
- data/templates/new-instance/public/images/emoji/circus_tent.png +0 -0
- data/templates/new-instance/public/images/emoji/city_sunrise.png +0 -0
- data/templates/new-instance/public/images/emoji/city_sunset.png +0 -0
- data/templates/new-instance/public/images/emoji/cl.png +0 -0
- data/templates/new-instance/public/images/emoji/clap.png +0 -0
- data/templates/new-instance/public/images/emoji/clapper.png +0 -0
- data/templates/new-instance/public/images/emoji/clipboard.png +0 -0
- data/templates/new-instance/public/images/emoji/clock1.png +0 -0
- data/templates/new-instance/public/images/emoji/clock10.png +0 -0
- data/templates/new-instance/public/images/emoji/clock1030.png +0 -0
- data/templates/new-instance/public/images/emoji/clock11.png +0 -0
- data/templates/new-instance/public/images/emoji/clock1130.png +0 -0
- data/templates/new-instance/public/images/emoji/clock12.png +0 -0
- data/templates/new-instance/public/images/emoji/clock1230.png +0 -0
- data/templates/new-instance/public/images/emoji/clock130.png +0 -0
- data/templates/new-instance/public/images/emoji/clock2.png +0 -0
- data/templates/new-instance/public/images/emoji/clock230.png +0 -0
- data/templates/new-instance/public/images/emoji/clock3.png +0 -0
- data/templates/new-instance/public/images/emoji/clock330.png +0 -0
- data/templates/new-instance/public/images/emoji/clock4.png +0 -0
- data/templates/new-instance/public/images/emoji/clock430.png +0 -0
- data/templates/new-instance/public/images/emoji/clock5.png +0 -0
- data/templates/new-instance/public/images/emoji/clock530.png +0 -0
- data/templates/new-instance/public/images/emoji/clock6.png +0 -0
- data/templates/new-instance/public/images/emoji/clock630.png +0 -0
- data/templates/new-instance/public/images/emoji/clock7.png +0 -0
- data/templates/new-instance/public/images/emoji/clock730.png +0 -0
- data/templates/new-instance/public/images/emoji/clock8.png +0 -0
- data/templates/new-instance/public/images/emoji/clock830.png +0 -0
- data/templates/new-instance/public/images/emoji/clock9.png +0 -0
- data/templates/new-instance/public/images/emoji/clock930.png +0 -0
- data/templates/new-instance/public/images/emoji/closed_book.png +0 -0
- data/templates/new-instance/public/images/emoji/closed_lock_with_key.png +0 -0
- data/templates/new-instance/public/images/emoji/closed_umbrella.png +0 -0
- data/templates/new-instance/public/images/emoji/cloud.png +0 -0
- data/templates/new-instance/public/images/emoji/clubs.png +0 -0
- data/templates/new-instance/public/images/emoji/cn.png +0 -0
- data/templates/new-instance/public/images/emoji/cocktail.png +0 -0
- data/templates/new-instance/public/images/emoji/coffee.png +0 -0
- data/templates/new-instance/public/images/emoji/cold_sweat.png +0 -0
- data/templates/new-instance/public/images/emoji/collision.png +0 -0
- data/templates/new-instance/public/images/emoji/computer.png +0 -0
- data/templates/new-instance/public/images/emoji/confetti_ball.png +0 -0
- data/templates/new-instance/public/images/emoji/confounded.png +0 -0
- data/templates/new-instance/public/images/emoji/confused.png +0 -0
- data/templates/new-instance/public/images/emoji/congratulations.png +0 -0
- data/templates/new-instance/public/images/emoji/construction.png +0 -0
- data/templates/new-instance/public/images/emoji/construction_worker.png +0 -0
- data/templates/new-instance/public/images/emoji/convenience_store.png +0 -0
- data/templates/new-instance/public/images/emoji/cookie.png +0 -0
- data/templates/new-instance/public/images/emoji/cool.png +0 -0
- data/templates/new-instance/public/images/emoji/cop.png +0 -0
- data/templates/new-instance/public/images/emoji/copyright.png +0 -0
- data/templates/new-instance/public/images/emoji/corn.png +0 -0
- data/templates/new-instance/public/images/emoji/couple.png +0 -0
- data/templates/new-instance/public/images/emoji/couple_with_heart.png +0 -0
- data/templates/new-instance/public/images/emoji/couplekiss.png +0 -0
- data/templates/new-instance/public/images/emoji/cow.png +0 -0
- data/templates/new-instance/public/images/emoji/cow2.png +0 -0
- data/templates/new-instance/public/images/emoji/credit_card.png +0 -0
- data/templates/new-instance/public/images/emoji/crescent_moon.png +0 -0
- data/templates/new-instance/public/images/emoji/crocodile.png +0 -0
- data/templates/new-instance/public/images/emoji/crossed_flags.png +0 -0
- data/templates/new-instance/public/images/emoji/crown.png +0 -0
- data/templates/new-instance/public/images/emoji/cry.png +0 -0
- data/templates/new-instance/public/images/emoji/crying_cat_face.png +0 -0
- data/templates/new-instance/public/images/emoji/crystal_ball.png +0 -0
- data/templates/new-instance/public/images/emoji/cupid.png +0 -0
- data/templates/new-instance/public/images/emoji/curly_loop.png +0 -0
- data/templates/new-instance/public/images/emoji/currency_exchange.png +0 -0
- data/templates/new-instance/public/images/emoji/curry.png +0 -0
- data/templates/new-instance/public/images/emoji/custard.png +0 -0
- data/templates/new-instance/public/images/emoji/customs.png +0 -0
- data/templates/new-instance/public/images/emoji/cyclone.png +0 -0
- data/templates/new-instance/public/images/emoji/dancer.png +0 -0
- data/templates/new-instance/public/images/emoji/dancers.png +0 -0
- data/templates/new-instance/public/images/emoji/dango.png +0 -0
- data/templates/new-instance/public/images/emoji/dart.png +0 -0
- data/templates/new-instance/public/images/emoji/dash.png +0 -0
- data/templates/new-instance/public/images/emoji/date.png +0 -0
- data/templates/new-instance/public/images/emoji/de.png +0 -0
- data/templates/new-instance/public/images/emoji/deciduous_tree.png +0 -0
- data/templates/new-instance/public/images/emoji/department_store.png +0 -0
- data/templates/new-instance/public/images/emoji/diamond_shape_with_a_dot_inside.png +0 -0
- data/templates/new-instance/public/images/emoji/diamonds.png +0 -0
- data/templates/new-instance/public/images/emoji/disappointed.png +0 -0
- data/templates/new-instance/public/images/emoji/disappointed_relieved.png +0 -0
- data/templates/new-instance/public/images/emoji/dizzy.png +0 -0
- data/templates/new-instance/public/images/emoji/dizzy_face.png +0 -0
- data/templates/new-instance/public/images/emoji/do_not_litter.png +0 -0
- data/templates/new-instance/public/images/emoji/dog.png +0 -0
- data/templates/new-instance/public/images/emoji/dog2.png +0 -0
- data/templates/new-instance/public/images/emoji/dollar.png +0 -0
- data/templates/new-instance/public/images/emoji/dolls.png +0 -0
- data/templates/new-instance/public/images/emoji/dolphin.png +0 -0
- data/templates/new-instance/public/images/emoji/door.png +0 -0
- data/templates/new-instance/public/images/emoji/doughnut.png +0 -0
- data/templates/new-instance/public/images/emoji/dragon.png +0 -0
- data/templates/new-instance/public/images/emoji/dragon_face.png +0 -0
- data/templates/new-instance/public/images/emoji/dress.png +0 -0
- data/templates/new-instance/public/images/emoji/dromedary_camel.png +0 -0
- data/templates/new-instance/public/images/emoji/droplet.png +0 -0
- data/templates/new-instance/public/images/emoji/dvd.png +0 -0
- data/templates/new-instance/public/images/emoji/e-mail.png +0 -0
- data/templates/new-instance/public/images/emoji/ear.png +0 -0
- data/templates/new-instance/public/images/emoji/ear_of_rice.png +0 -0
- data/templates/new-instance/public/images/emoji/earth_africa.png +0 -0
- data/templates/new-instance/public/images/emoji/earth_americas.png +0 -0
- data/templates/new-instance/public/images/emoji/earth_asia.png +0 -0
- data/templates/new-instance/public/images/emoji/egg.png +0 -0
- data/templates/new-instance/public/images/emoji/eggplant.png +0 -0
- data/templates/new-instance/public/images/emoji/eight.png +0 -0
- data/templates/new-instance/public/images/emoji/eight_pointed_black_star.png +0 -0
- data/templates/new-instance/public/images/emoji/eight_spoked_asterisk.png +0 -0
- data/templates/new-instance/public/images/emoji/electric_plug.png +0 -0
- data/templates/new-instance/public/images/emoji/elephant.png +0 -0
- data/templates/new-instance/public/images/emoji/email.png +0 -0
- data/templates/new-instance/public/images/emoji/end.png +0 -0
- data/templates/new-instance/public/images/emoji/envelope.png +0 -0
- data/templates/new-instance/public/images/emoji/envelope_with_arrow.png +0 -0
- data/templates/new-instance/public/images/emoji/es.png +0 -0
- data/templates/new-instance/public/images/emoji/euro.png +0 -0
- data/templates/new-instance/public/images/emoji/european_castle.png +0 -0
- data/templates/new-instance/public/images/emoji/european_post_office.png +0 -0
- data/templates/new-instance/public/images/emoji/evergreen_tree.png +0 -0
- data/templates/new-instance/public/images/emoji/exclamation.png +0 -0
- data/templates/new-instance/public/images/emoji/expressionless.png +0 -0
- data/templates/new-instance/public/images/emoji/eyeglasses.png +0 -0
- data/templates/new-instance/public/images/emoji/eyes.png +0 -0
- data/templates/new-instance/public/images/emoji/facepunch.png +0 -0
- data/templates/new-instance/public/images/emoji/factory.png +0 -0
- data/templates/new-instance/public/images/emoji/fallen_leaf.png +0 -0
- data/templates/new-instance/public/images/emoji/family.png +0 -0
- data/templates/new-instance/public/images/emoji/fast_forward.png +0 -0
- data/templates/new-instance/public/images/emoji/fax.png +0 -0
- data/templates/new-instance/public/images/emoji/fearful.png +0 -0
- data/templates/new-instance/public/images/emoji/feelsgood.png +0 -0
- data/templates/new-instance/public/images/emoji/feet.png +0 -0
- data/templates/new-instance/public/images/emoji/ferris_wheel.png +0 -0
- data/templates/new-instance/public/images/emoji/file_folder.png +0 -0
- data/templates/new-instance/public/images/emoji/finnadie.png +0 -0
- data/templates/new-instance/public/images/emoji/fire.png +0 -0
- data/templates/new-instance/public/images/emoji/fire_engine.png +0 -0
- data/templates/new-instance/public/images/emoji/fireworks.png +0 -0
- data/templates/new-instance/public/images/emoji/first_quarter_moon.png +0 -0
- data/templates/new-instance/public/images/emoji/first_quarter_moon_with_face.png +0 -0
- data/templates/new-instance/public/images/emoji/fish.png +0 -0
- data/templates/new-instance/public/images/emoji/fish_cake.png +0 -0
- data/templates/new-instance/public/images/emoji/fishing_pole_and_fish.png +0 -0
- data/templates/new-instance/public/images/emoji/fist.png +0 -0
- data/templates/new-instance/public/images/emoji/five.png +0 -0
- data/templates/new-instance/public/images/emoji/flags.png +0 -0
- data/templates/new-instance/public/images/emoji/flashlight.png +0 -0
- data/templates/new-instance/public/images/emoji/floppy_disk.png +0 -0
- data/templates/new-instance/public/images/emoji/flower_playing_cards.png +0 -0
- data/templates/new-instance/public/images/emoji/flushed.png +0 -0
- data/templates/new-instance/public/images/emoji/foggy.png +0 -0
- data/templates/new-instance/public/images/emoji/football.png +0 -0
- data/templates/new-instance/public/images/emoji/footprints.png +0 -0
- data/templates/new-instance/public/images/emoji/fork_and_knife.png +0 -0
- data/templates/new-instance/public/images/emoji/fountain.png +0 -0
- data/templates/new-instance/public/images/emoji/four.png +0 -0
- data/templates/new-instance/public/images/emoji/four_leaf_clover.png +0 -0
- data/templates/new-instance/public/images/emoji/fr.png +0 -0
- data/templates/new-instance/public/images/emoji/free.png +0 -0
- data/templates/new-instance/public/images/emoji/fried_shrimp.png +0 -0
- data/templates/new-instance/public/images/emoji/fries.png +0 -0
- data/templates/new-instance/public/images/emoji/frog.png +0 -0
- data/templates/new-instance/public/images/emoji/frowning.png +0 -0
- data/templates/new-instance/public/images/emoji/fu.png +0 -0
- data/templates/new-instance/public/images/emoji/fuelpump.png +0 -0
- data/templates/new-instance/public/images/emoji/full_moon.png +0 -0
- data/templates/new-instance/public/images/emoji/full_moon_with_face.png +0 -0
- data/templates/new-instance/public/images/emoji/game_die.png +0 -0
- data/templates/new-instance/public/images/emoji/gb.png +0 -0
- data/templates/new-instance/public/images/emoji/gem.png +0 -0
- data/templates/new-instance/public/images/emoji/gemini.png +0 -0
- data/templates/new-instance/public/images/emoji/ghost.png +0 -0
- data/templates/new-instance/public/images/emoji/gift.png +0 -0
- data/templates/new-instance/public/images/emoji/gift_heart.png +0 -0
- data/templates/new-instance/public/images/emoji/girl.png +0 -0
- data/templates/new-instance/public/images/emoji/globe_with_meridians.png +0 -0
- data/templates/new-instance/public/images/emoji/goat.png +0 -0
- data/templates/new-instance/public/images/emoji/goberserk.png +0 -0
- data/templates/new-instance/public/images/emoji/godmode.png +0 -0
- data/templates/new-instance/public/images/emoji/golf.png +0 -0
- data/templates/new-instance/public/images/emoji/grapes.png +0 -0
- data/templates/new-instance/public/images/emoji/green_apple.png +0 -0
- data/templates/new-instance/public/images/emoji/green_book.png +0 -0
- data/templates/new-instance/public/images/emoji/green_heart.png +0 -0
- data/templates/new-instance/public/images/emoji/grey_exclamation.png +0 -0
- data/templates/new-instance/public/images/emoji/grey_question.png +0 -0
- data/templates/new-instance/public/images/emoji/grimacing.png +0 -0
- data/templates/new-instance/public/images/emoji/grin.png +0 -0
- data/templates/new-instance/public/images/emoji/grinning.png +0 -0
- data/templates/new-instance/public/images/emoji/guardsman.png +0 -0
- data/templates/new-instance/public/images/emoji/guitar.png +0 -0
- data/templates/new-instance/public/images/emoji/gun.png +0 -0
- data/templates/new-instance/public/images/emoji/haircut.png +0 -0
- data/templates/new-instance/public/images/emoji/hamburger.png +0 -0
- data/templates/new-instance/public/images/emoji/hammer.png +0 -0
- data/templates/new-instance/public/images/emoji/hamster.png +0 -0
- data/templates/new-instance/public/images/emoji/hand.png +0 -0
- data/templates/new-instance/public/images/emoji/handbag.png +0 -0
- data/templates/new-instance/public/images/emoji/hankey.png +0 -0
- data/templates/new-instance/public/images/emoji/hash.png +0 -0
- data/templates/new-instance/public/images/emoji/hatched_chick.png +0 -0
- data/templates/new-instance/public/images/emoji/hatching_chick.png +0 -0
- data/templates/new-instance/public/images/emoji/headphones.png +0 -0
- data/templates/new-instance/public/images/emoji/hear_no_evil.png +0 -0
- data/templates/new-instance/public/images/emoji/heart.png +0 -0
- data/templates/new-instance/public/images/emoji/heart_decoration.png +0 -0
- data/templates/new-instance/public/images/emoji/heart_eyes.png +0 -0
- data/templates/new-instance/public/images/emoji/heart_eyes_cat.png +0 -0
- data/templates/new-instance/public/images/emoji/heartbeat.png +0 -0
- data/templates/new-instance/public/images/emoji/heartpulse.png +0 -0
- data/templates/new-instance/public/images/emoji/hearts.png +0 -0
- data/templates/new-instance/public/images/emoji/heavy_check_mark.png +0 -0
- data/templates/new-instance/public/images/emoji/heavy_division_sign.png +0 -0
- data/templates/new-instance/public/images/emoji/heavy_dollar_sign.png +0 -0
- data/templates/new-instance/public/images/emoji/heavy_exclamation_mark.png +0 -0
- data/templates/new-instance/public/images/emoji/heavy_minus_sign.png +0 -0
- data/templates/new-instance/public/images/emoji/heavy_multiplication_x.png +0 -0
- data/templates/new-instance/public/images/emoji/heavy_plus_sign.png +0 -0
- data/templates/new-instance/public/images/emoji/helicopter.png +0 -0
- data/templates/new-instance/public/images/emoji/herb.png +0 -0
- data/templates/new-instance/public/images/emoji/hibiscus.png +0 -0
- data/templates/new-instance/public/images/emoji/high_brightness.png +0 -0
- data/templates/new-instance/public/images/emoji/high_heel.png +0 -0
- data/templates/new-instance/public/images/emoji/hocho.png +0 -0
- data/templates/new-instance/public/images/emoji/honey_pot.png +0 -0
- data/templates/new-instance/public/images/emoji/honeybee.png +0 -0
- data/templates/new-instance/public/images/emoji/horse.png +0 -0
- data/templates/new-instance/public/images/emoji/horse_racing.png +0 -0
- data/templates/new-instance/public/images/emoji/hospital.png +0 -0
- data/templates/new-instance/public/images/emoji/hotel.png +0 -0
- data/templates/new-instance/public/images/emoji/hotsprings.png +0 -0
- data/templates/new-instance/public/images/emoji/hourglass.png +0 -0
- data/templates/new-instance/public/images/emoji/hourglass_flowing_sand.png +0 -0
- data/templates/new-instance/public/images/emoji/house.png +0 -0
- data/templates/new-instance/public/images/emoji/house_with_garden.png +0 -0
- data/templates/new-instance/public/images/emoji/hurtrealbad.png +0 -0
- data/templates/new-instance/public/images/emoji/hushed.png +0 -0
- data/templates/new-instance/public/images/emoji/ice_cream.png +0 -0
- data/templates/new-instance/public/images/emoji/icecream.png +0 -0
- data/templates/new-instance/public/images/emoji/id.png +0 -0
- data/templates/new-instance/public/images/emoji/ideograph_advantage.png +0 -0
- data/templates/new-instance/public/images/emoji/imp.png +0 -0
- data/templates/new-instance/public/images/emoji/inbox_tray.png +0 -0
- data/templates/new-instance/public/images/emoji/incoming_envelope.png +0 -0
- data/templates/new-instance/public/images/emoji/information_desk_person.png +0 -0
- data/templates/new-instance/public/images/emoji/information_source.png +0 -0
- data/templates/new-instance/public/images/emoji/innocent.png +0 -0
- data/templates/new-instance/public/images/emoji/interrobang.png +0 -0
- data/templates/new-instance/public/images/emoji/iphone.png +0 -0
- data/templates/new-instance/public/images/emoji/it.png +0 -0
- data/templates/new-instance/public/images/emoji/izakaya_lantern.png +0 -0
- data/templates/new-instance/public/images/emoji/jack_o_lantern.png +0 -0
- data/templates/new-instance/public/images/emoji/japan.png +0 -0
- data/templates/new-instance/public/images/emoji/japanese_castle.png +0 -0
- data/templates/new-instance/public/images/emoji/japanese_goblin.png +0 -0
- data/templates/new-instance/public/images/emoji/japanese_ogre.png +0 -0
- data/templates/new-instance/public/images/emoji/jeans.png +0 -0
- data/templates/new-instance/public/images/emoji/joy.png +0 -0
- data/templates/new-instance/public/images/emoji/joy_cat.png +0 -0
- data/templates/new-instance/public/images/emoji/jp.png +0 -0
- data/templates/new-instance/public/images/emoji/key.png +0 -0
- data/templates/new-instance/public/images/emoji/keycap_ten.png +0 -0
- data/templates/new-instance/public/images/emoji/kimono.png +0 -0
- data/templates/new-instance/public/images/emoji/kiss.png +0 -0
- data/templates/new-instance/public/images/emoji/kissing.png +0 -0
- data/templates/new-instance/public/images/emoji/kissing_cat.png +0 -0
- data/templates/new-instance/public/images/emoji/kissing_closed_eyes.png +0 -0
- data/templates/new-instance/public/images/emoji/kissing_heart.png +0 -0
- data/templates/new-instance/public/images/emoji/kissing_smiling_eyes.png +0 -0
- data/templates/new-instance/public/images/emoji/koala.png +0 -0
- data/templates/new-instance/public/images/emoji/koko.png +0 -0
- data/templates/new-instance/public/images/emoji/kr.png +0 -0
- data/templates/new-instance/public/images/emoji/lantern.png +0 -0
- data/templates/new-instance/public/images/emoji/large_blue_circle.png +0 -0
- data/templates/new-instance/public/images/emoji/large_blue_diamond.png +0 -0
- data/templates/new-instance/public/images/emoji/large_orange_diamond.png +0 -0
- data/templates/new-instance/public/images/emoji/last_quarter_moon.png +0 -0
- data/templates/new-instance/public/images/emoji/last_quarter_moon_with_face.png +0 -0
- data/templates/new-instance/public/images/emoji/laughing.png +0 -0
- data/templates/new-instance/public/images/emoji/leaves.png +0 -0
- data/templates/new-instance/public/images/emoji/ledger.png +0 -0
- data/templates/new-instance/public/images/emoji/left_luggage.png +0 -0
- data/templates/new-instance/public/images/emoji/left_right_arrow.png +0 -0
- data/templates/new-instance/public/images/emoji/leftwards_arrow_with_hook.png +0 -0
- data/templates/new-instance/public/images/emoji/lemon.png +0 -0
- data/templates/new-instance/public/images/emoji/leo.png +0 -0
- data/templates/new-instance/public/images/emoji/leopard.png +0 -0
- data/templates/new-instance/public/images/emoji/libra.png +0 -0
- data/templates/new-instance/public/images/emoji/light_rail.png +0 -0
- data/templates/new-instance/public/images/emoji/link.png +0 -0
- data/templates/new-instance/public/images/emoji/lips.png +0 -0
- data/templates/new-instance/public/images/emoji/lipstick.png +0 -0
- data/templates/new-instance/public/images/emoji/lock.png +0 -0
- data/templates/new-instance/public/images/emoji/lock_with_ink_pen.png +0 -0
- data/templates/new-instance/public/images/emoji/lollipop.png +0 -0
- data/templates/new-instance/public/images/emoji/loop.png +0 -0
- data/templates/new-instance/public/images/emoji/loudspeaker.png +0 -0
- data/templates/new-instance/public/images/emoji/love_hotel.png +0 -0
- data/templates/new-instance/public/images/emoji/love_letter.png +0 -0
- data/templates/new-instance/public/images/emoji/low_brightness.png +0 -0
- data/templates/new-instance/public/images/emoji/m.png +0 -0
- data/templates/new-instance/public/images/emoji/mag.png +0 -0
- data/templates/new-instance/public/images/emoji/mag_right.png +0 -0
- data/templates/new-instance/public/images/emoji/mahjong.png +0 -0
- data/templates/new-instance/public/images/emoji/mailbox.png +0 -0
- data/templates/new-instance/public/images/emoji/mailbox_closed.png +0 -0
- data/templates/new-instance/public/images/emoji/mailbox_with_mail.png +0 -0
- data/templates/new-instance/public/images/emoji/mailbox_with_no_mail.png +0 -0
- data/templates/new-instance/public/images/emoji/man.png +0 -0
- data/templates/new-instance/public/images/emoji/man_with_gua_pi_mao.png +0 -0
- data/templates/new-instance/public/images/emoji/man_with_turban.png +0 -0
- data/templates/new-instance/public/images/emoji/mans_shoe.png +0 -0
- data/templates/new-instance/public/images/emoji/maple_leaf.png +0 -0
- data/templates/new-instance/public/images/emoji/mask.png +0 -0
- data/templates/new-instance/public/images/emoji/massage.png +0 -0
- data/templates/new-instance/public/images/emoji/meat_on_bone.png +0 -0
- data/templates/new-instance/public/images/emoji/mega.png +0 -0
- data/templates/new-instance/public/images/emoji/melon.png +0 -0
- data/templates/new-instance/public/images/emoji/memo.png +0 -0
- data/templates/new-instance/public/images/emoji/mens.png +0 -0
- data/templates/new-instance/public/images/emoji/metal.png +0 -0
- data/templates/new-instance/public/images/emoji/metro.png +0 -0
- data/templates/new-instance/public/images/emoji/microphone.png +0 -0
- data/templates/new-instance/public/images/emoji/microscope.png +0 -0
- data/templates/new-instance/public/images/emoji/milky_way.png +0 -0
- data/templates/new-instance/public/images/emoji/minibus.png +0 -0
- data/templates/new-instance/public/images/emoji/minidisc.png +0 -0
- data/templates/new-instance/public/images/emoji/mobile_phone_off.png +0 -0
- data/templates/new-instance/public/images/emoji/money_with_wings.png +0 -0
- data/templates/new-instance/public/images/emoji/moneybag.png +0 -0
- data/templates/new-instance/public/images/emoji/monkey.png +0 -0
- data/templates/new-instance/public/images/emoji/monkey_face.png +0 -0
- data/templates/new-instance/public/images/emoji/monorail.png +0 -0
- data/templates/new-instance/public/images/emoji/moon.png +0 -0
- data/templates/new-instance/public/images/emoji/mortar_board.png +0 -0
- data/templates/new-instance/public/images/emoji/mount_fuji.png +0 -0
- data/templates/new-instance/public/images/emoji/mountain_bicyclist.png +0 -0
- data/templates/new-instance/public/images/emoji/mountain_cableway.png +0 -0
- data/templates/new-instance/public/images/emoji/mountain_railway.png +0 -0
- data/templates/new-instance/public/images/emoji/mouse.png +0 -0
- data/templates/new-instance/public/images/emoji/mouse2.png +0 -0
- data/templates/new-instance/public/images/emoji/movie_camera.png +0 -0
- data/templates/new-instance/public/images/emoji/moyai.png +0 -0
- data/templates/new-instance/public/images/emoji/muscle.png +0 -0
- data/templates/new-instance/public/images/emoji/mushroom.png +0 -0
- data/templates/new-instance/public/images/emoji/musical_keyboard.png +0 -0
- data/templates/new-instance/public/images/emoji/musical_note.png +0 -0
- data/templates/new-instance/public/images/emoji/musical_score.png +0 -0
- data/templates/new-instance/public/images/emoji/mute.png +0 -0
- data/templates/new-instance/public/images/emoji/nail_care.png +0 -0
- data/templates/new-instance/public/images/emoji/name_badge.png +0 -0
- data/templates/new-instance/public/images/emoji/neckbeard.png +0 -0
- data/templates/new-instance/public/images/emoji/necktie.png +0 -0
- data/templates/new-instance/public/images/emoji/negative_squared_cross_mark.png +0 -0
- data/templates/new-instance/public/images/emoji/neutral_face.png +0 -0
- data/templates/new-instance/public/images/emoji/new.png +0 -0
- data/templates/new-instance/public/images/emoji/new_moon.png +0 -0
- data/templates/new-instance/public/images/emoji/new_moon_with_face.png +0 -0
- data/templates/new-instance/public/images/emoji/newspaper.png +0 -0
- data/templates/new-instance/public/images/emoji/ng.png +0 -0
- data/templates/new-instance/public/images/emoji/nine.png +0 -0
- data/templates/new-instance/public/images/emoji/no_bell.png +0 -0
- data/templates/new-instance/public/images/emoji/no_bicycles.png +0 -0
- data/templates/new-instance/public/images/emoji/no_entry.png +0 -0
- data/templates/new-instance/public/images/emoji/no_entry_sign.png +0 -0
- data/templates/new-instance/public/images/emoji/no_good.png +0 -0
- data/templates/new-instance/public/images/emoji/no_mobile_phones.png +0 -0
- data/templates/new-instance/public/images/emoji/no_mouth.png +0 -0
- data/templates/new-instance/public/images/emoji/no_pedestrians.png +0 -0
- data/templates/new-instance/public/images/emoji/no_smoking.png +0 -0
- data/templates/new-instance/public/images/emoji/non-potable_water.png +0 -0
- data/templates/new-instance/public/images/emoji/nose.png +0 -0
- data/templates/new-instance/public/images/emoji/notebook.png +0 -0
- data/templates/new-instance/public/images/emoji/notebook_with_decorative_cover.png +0 -0
- data/templates/new-instance/public/images/emoji/notes.png +0 -0
- data/templates/new-instance/public/images/emoji/nut_and_bolt.png +0 -0
- data/templates/new-instance/public/images/emoji/o.png +0 -0
- data/templates/new-instance/public/images/emoji/o2.png +0 -0
- data/templates/new-instance/public/images/emoji/ocean.png +0 -0
- data/templates/new-instance/public/images/emoji/octocat.png +0 -0
- data/templates/new-instance/public/images/emoji/octopus.png +0 -0
- data/templates/new-instance/public/images/emoji/oden.png +0 -0
- data/templates/new-instance/public/images/emoji/office.png +0 -0
- data/templates/new-instance/public/images/emoji/ok.png +0 -0
- data/templates/new-instance/public/images/emoji/ok_hand.png +0 -0
- data/templates/new-instance/public/images/emoji/ok_woman.png +0 -0
- data/templates/new-instance/public/images/emoji/older_man.png +0 -0
- data/templates/new-instance/public/images/emoji/older_woman.png +0 -0
- data/templates/new-instance/public/images/emoji/on.png +0 -0
- data/templates/new-instance/public/images/emoji/oncoming_automobile.png +0 -0
- data/templates/new-instance/public/images/emoji/oncoming_bus.png +0 -0
- data/templates/new-instance/public/images/emoji/oncoming_police_car.png +0 -0
- data/templates/new-instance/public/images/emoji/oncoming_taxi.png +0 -0
- data/templates/new-instance/public/images/emoji/one.png +0 -0
- data/templates/new-instance/public/images/emoji/open_book.png +0 -0
- data/templates/new-instance/public/images/emoji/open_file_folder.png +0 -0
- data/templates/new-instance/public/images/emoji/open_hands.png +0 -0
- data/templates/new-instance/public/images/emoji/open_mouth.png +0 -0
- data/templates/new-instance/public/images/emoji/ophiuchus.png +0 -0
- data/templates/new-instance/public/images/emoji/orange_book.png +0 -0
- data/templates/new-instance/public/images/emoji/outbox_tray.png +0 -0
- data/templates/new-instance/public/images/emoji/ox.png +0 -0
- data/templates/new-instance/public/images/emoji/package.png +0 -0
- data/templates/new-instance/public/images/emoji/page_facing_up.png +0 -0
- data/templates/new-instance/public/images/emoji/page_with_curl.png +0 -0
- data/templates/new-instance/public/images/emoji/pager.png +0 -0
- data/templates/new-instance/public/images/emoji/palm_tree.png +0 -0
- data/templates/new-instance/public/images/emoji/panda_face.png +0 -0
- data/templates/new-instance/public/images/emoji/paperclip.png +0 -0
- data/templates/new-instance/public/images/emoji/parking.png +0 -0
- data/templates/new-instance/public/images/emoji/part_alternation_mark.png +0 -0
- data/templates/new-instance/public/images/emoji/partly_sunny.png +0 -0
- data/templates/new-instance/public/images/emoji/passport_control.png +0 -0
- data/templates/new-instance/public/images/emoji/paw_prints.png +0 -0
- data/templates/new-instance/public/images/emoji/peach.png +0 -0
- data/templates/new-instance/public/images/emoji/pear.png +0 -0
- data/templates/new-instance/public/images/emoji/pencil.png +0 -0
- data/templates/new-instance/public/images/emoji/pencil2.png +0 -0
- data/templates/new-instance/public/images/emoji/penguin.png +0 -0
- data/templates/new-instance/public/images/emoji/pensive.png +0 -0
- data/templates/new-instance/public/images/emoji/performing_arts.png +0 -0
- data/templates/new-instance/public/images/emoji/persevere.png +0 -0
- data/templates/new-instance/public/images/emoji/person_frowning.png +0 -0
- data/templates/new-instance/public/images/emoji/person_with_blond_hair.png +0 -0
- data/templates/new-instance/public/images/emoji/person_with_pouting_face.png +0 -0
- data/templates/new-instance/public/images/emoji/phone.png +0 -0
- data/templates/new-instance/public/images/emoji/pig.png +0 -0
- data/templates/new-instance/public/images/emoji/pig2.png +0 -0
- data/templates/new-instance/public/images/emoji/pig_nose.png +0 -0
- data/templates/new-instance/public/images/emoji/pill.png +0 -0
- data/templates/new-instance/public/images/emoji/pineapple.png +0 -0
- data/templates/new-instance/public/images/emoji/pisces.png +0 -0
- data/templates/new-instance/public/images/emoji/pizza.png +0 -0
- data/templates/new-instance/public/images/emoji/point_down.png +0 -0
- data/templates/new-instance/public/images/emoji/point_left.png +0 -0
- data/templates/new-instance/public/images/emoji/point_right.png +0 -0
- data/templates/new-instance/public/images/emoji/point_up.png +0 -0
- data/templates/new-instance/public/images/emoji/point_up_2.png +0 -0
- data/templates/new-instance/public/images/emoji/police_car.png +0 -0
- data/templates/new-instance/public/images/emoji/poodle.png +0 -0
- data/templates/new-instance/public/images/emoji/poop.png +0 -0
- data/templates/new-instance/public/images/emoji/post_office.png +0 -0
- data/templates/new-instance/public/images/emoji/postal_horn.png +0 -0
- data/templates/new-instance/public/images/emoji/postbox.png +0 -0
- data/templates/new-instance/public/images/emoji/potable_water.png +0 -0
- data/templates/new-instance/public/images/emoji/pouch.png +0 -0
- data/templates/new-instance/public/images/emoji/poultry_leg.png +0 -0
- data/templates/new-instance/public/images/emoji/pound.png +0 -0
- data/templates/new-instance/public/images/emoji/pouting_cat.png +0 -0
- data/templates/new-instance/public/images/emoji/pray.png +0 -0
- data/templates/new-instance/public/images/emoji/princess.png +0 -0
- data/templates/new-instance/public/images/emoji/punch.png +0 -0
- data/templates/new-instance/public/images/emoji/purple_heart.png +0 -0
- data/templates/new-instance/public/images/emoji/purse.png +0 -0
- data/templates/new-instance/public/images/emoji/pushpin.png +0 -0
- data/templates/new-instance/public/images/emoji/put_litter_in_its_place.png +0 -0
- data/templates/new-instance/public/images/emoji/question.png +0 -0
- data/templates/new-instance/public/images/emoji/rabbit.png +0 -0
- data/templates/new-instance/public/images/emoji/rabbit2.png +0 -0
- data/templates/new-instance/public/images/emoji/racehorse.png +0 -0
- data/templates/new-instance/public/images/emoji/radio.png +0 -0
- data/templates/new-instance/public/images/emoji/radio_button.png +0 -0
- data/templates/new-instance/public/images/emoji/rage.png +0 -0
- data/templates/new-instance/public/images/emoji/rage1.png +0 -0
- data/templates/new-instance/public/images/emoji/rage2.png +0 -0
- data/templates/new-instance/public/images/emoji/rage3.png +0 -0
- data/templates/new-instance/public/images/emoji/rage4.png +0 -0
- data/templates/new-instance/public/images/emoji/railway_car.png +0 -0
- data/templates/new-instance/public/images/emoji/rainbow.png +0 -0
- data/templates/new-instance/public/images/emoji/raised_hand.png +0 -0
- data/templates/new-instance/public/images/emoji/raised_hands.png +0 -0
- data/templates/new-instance/public/images/emoji/raising_hand.png +0 -0
- data/templates/new-instance/public/images/emoji/ram.png +0 -0
- data/templates/new-instance/public/images/emoji/ramen.png +0 -0
- data/templates/new-instance/public/images/emoji/rat.png +0 -0
- data/templates/new-instance/public/images/emoji/recycle.png +0 -0
- data/templates/new-instance/public/images/emoji/red_car.png +0 -0
- data/templates/new-instance/public/images/emoji/red_circle.png +0 -0
- data/templates/new-instance/public/images/emoji/registered.png +0 -0
- data/templates/new-instance/public/images/emoji/relaxed.png +0 -0
- data/templates/new-instance/public/images/emoji/relieved.png +0 -0
- data/templates/new-instance/public/images/emoji/repeat.png +0 -0
- data/templates/new-instance/public/images/emoji/repeat_one.png +0 -0
- data/templates/new-instance/public/images/emoji/restroom.png +0 -0
- data/templates/new-instance/public/images/emoji/revolving_hearts.png +0 -0
- data/templates/new-instance/public/images/emoji/rewind.png +0 -0
- data/templates/new-instance/public/images/emoji/ribbon.png +0 -0
- data/templates/new-instance/public/images/emoji/rice.png +0 -0
- data/templates/new-instance/public/images/emoji/rice_ball.png +0 -0
- data/templates/new-instance/public/images/emoji/rice_cracker.png +0 -0
- data/templates/new-instance/public/images/emoji/rice_scene.png +0 -0
- data/templates/new-instance/public/images/emoji/ring.png +0 -0
- data/templates/new-instance/public/images/emoji/rocket.png +0 -0
- data/templates/new-instance/public/images/emoji/roller_coaster.png +0 -0
- data/templates/new-instance/public/images/emoji/rooster.png +0 -0
- data/templates/new-instance/public/images/emoji/rose.png +0 -0
- data/templates/new-instance/public/images/emoji/rotating_light.png +0 -0
- data/templates/new-instance/public/images/emoji/round_pushpin.png +0 -0
- data/templates/new-instance/public/images/emoji/rowboat.png +0 -0
- data/templates/new-instance/public/images/emoji/ru.png +0 -0
- data/templates/new-instance/public/images/emoji/rugby_football.png +0 -0
- data/templates/new-instance/public/images/emoji/runner.png +0 -0
- data/templates/new-instance/public/images/emoji/running.png +0 -0
- data/templates/new-instance/public/images/emoji/running_shirt_with_sash.png +0 -0
- data/templates/new-instance/public/images/emoji/sa.png +0 -0
- data/templates/new-instance/public/images/emoji/sagittarius.png +0 -0
- data/templates/new-instance/public/images/emoji/sailboat.png +0 -0
- data/templates/new-instance/public/images/emoji/sake.png +0 -0
- data/templates/new-instance/public/images/emoji/sandal.png +0 -0
- data/templates/new-instance/public/images/emoji/santa.png +0 -0
- data/templates/new-instance/public/images/emoji/satellite.png +0 -0
- data/templates/new-instance/public/images/emoji/satisfied.png +0 -0
- data/templates/new-instance/public/images/emoji/saxophone.png +0 -0
- data/templates/new-instance/public/images/emoji/school.png +0 -0
- data/templates/new-instance/public/images/emoji/school_satchel.png +0 -0
- data/templates/new-instance/public/images/emoji/scissors.png +0 -0
- data/templates/new-instance/public/images/emoji/scorpius.png +0 -0
- data/templates/new-instance/public/images/emoji/scream.png +0 -0
- data/templates/new-instance/public/images/emoji/scream_cat.png +0 -0
- data/templates/new-instance/public/images/emoji/scroll.png +0 -0
- data/templates/new-instance/public/images/emoji/seat.png +0 -0
- data/templates/new-instance/public/images/emoji/secret.png +0 -0
- data/templates/new-instance/public/images/emoji/see_no_evil.png +0 -0
- data/templates/new-instance/public/images/emoji/seedling.png +0 -0
- data/templates/new-instance/public/images/emoji/seven.png +0 -0
- data/templates/new-instance/public/images/emoji/shaved_ice.png +0 -0
- data/templates/new-instance/public/images/emoji/sheep.png +0 -0
- data/templates/new-instance/public/images/emoji/shell.png +0 -0
- data/templates/new-instance/public/images/emoji/ship.png +0 -0
- data/templates/new-instance/public/images/emoji/shipit.png +0 -0
- data/templates/new-instance/public/images/emoji/shirt.png +0 -0
- data/templates/new-instance/public/images/emoji/shit.png +0 -0
- data/templates/new-instance/public/images/emoji/shoe.png +0 -0
- data/templates/new-instance/public/images/emoji/shower.png +0 -0
- data/templates/new-instance/public/images/emoji/signal_strength.png +0 -0
- data/templates/new-instance/public/images/emoji/six.png +0 -0
- data/templates/new-instance/public/images/emoji/six_pointed_star.png +0 -0
- data/templates/new-instance/public/images/emoji/ski.png +0 -0
- data/templates/new-instance/public/images/emoji/skull.png +0 -0
- data/templates/new-instance/public/images/emoji/sleeping.png +0 -0
- data/templates/new-instance/public/images/emoji/sleepy.png +0 -0
- data/templates/new-instance/public/images/emoji/slot_machine.png +0 -0
- data/templates/new-instance/public/images/emoji/small_blue_diamond.png +0 -0
- data/templates/new-instance/public/images/emoji/small_orange_diamond.png +0 -0
- data/templates/new-instance/public/images/emoji/small_red_triangle.png +0 -0
- data/templates/new-instance/public/images/emoji/small_red_triangle_down.png +0 -0
- data/templates/new-instance/public/images/emoji/smile.png +0 -0
- data/templates/new-instance/public/images/emoji/smile_cat.png +0 -0
- data/templates/new-instance/public/images/emoji/smiley.png +0 -0
- data/templates/new-instance/public/images/emoji/smiley_cat.png +0 -0
- data/templates/new-instance/public/images/emoji/smiling_imp.png +0 -0
- data/templates/new-instance/public/images/emoji/smirk.png +0 -0
- data/templates/new-instance/public/images/emoji/smirk_cat.png +0 -0
- data/templates/new-instance/public/images/emoji/smoking.png +0 -0
- data/templates/new-instance/public/images/emoji/snail.png +0 -0
- data/templates/new-instance/public/images/emoji/snake.png +0 -0
- data/templates/new-instance/public/images/emoji/snowboarder.png +0 -0
- data/templates/new-instance/public/images/emoji/snowflake.png +0 -0
- data/templates/new-instance/public/images/emoji/snowman.png +0 -0
- data/templates/new-instance/public/images/emoji/sob.png +0 -0
- data/templates/new-instance/public/images/emoji/soccer.png +0 -0
- data/templates/new-instance/public/images/emoji/soon.png +0 -0
- data/templates/new-instance/public/images/emoji/sos.png +0 -0
- data/templates/new-instance/public/images/emoji/sound.png +0 -0
- data/templates/new-instance/public/images/emoji/space_invader.png +0 -0
- data/templates/new-instance/public/images/emoji/spades.png +0 -0
- data/templates/new-instance/public/images/emoji/spaghetti.png +0 -0
- data/templates/new-instance/public/images/emoji/sparkle.png +0 -0
- data/templates/new-instance/public/images/emoji/sparkler.png +0 -0
- data/templates/new-instance/public/images/emoji/sparkles.png +0 -0
- data/templates/new-instance/public/images/emoji/sparkling_heart.png +0 -0
- data/templates/new-instance/public/images/emoji/speak_no_evil.png +0 -0
- data/templates/new-instance/public/images/emoji/speaker.png +0 -0
- data/templates/new-instance/public/images/emoji/speech_balloon.png +0 -0
- data/templates/new-instance/public/images/emoji/speedboat.png +0 -0
- data/templates/new-instance/public/images/emoji/squirrel.png +0 -0
- data/templates/new-instance/public/images/emoji/star.png +0 -0
- data/templates/new-instance/public/images/emoji/star2.png +0 -0
- data/templates/new-instance/public/images/emoji/stars.png +0 -0
- data/templates/new-instance/public/images/emoji/station.png +0 -0
- data/templates/new-instance/public/images/emoji/statue_of_liberty.png +0 -0
- data/templates/new-instance/public/images/emoji/steam_locomotive.png +0 -0
- data/templates/new-instance/public/images/emoji/stew.png +0 -0
- data/templates/new-instance/public/images/emoji/straight_ruler.png +0 -0
- data/templates/new-instance/public/images/emoji/strawberry.png +0 -0
- data/templates/new-instance/public/images/emoji/stuck_out_tongue.png +0 -0
- data/templates/new-instance/public/images/emoji/stuck_out_tongue_closed_eyes.png +0 -0
- data/templates/new-instance/public/images/emoji/stuck_out_tongue_winking_eye.png +0 -0
- data/templates/new-instance/public/images/emoji/sun_with_face.png +0 -0
- data/templates/new-instance/public/images/emoji/sunflower.png +0 -0
- data/templates/new-instance/public/images/emoji/sunglasses.png +0 -0
- data/templates/new-instance/public/images/emoji/sunny.png +0 -0
- data/templates/new-instance/public/images/emoji/sunrise.png +0 -0
- data/templates/new-instance/public/images/emoji/sunrise_over_mountains.png +0 -0
- data/templates/new-instance/public/images/emoji/surfer.png +0 -0
- data/templates/new-instance/public/images/emoji/sushi.png +0 -0
- data/templates/new-instance/public/images/emoji/suspect.png +0 -0
- data/templates/new-instance/public/images/emoji/suspension_railway.png +0 -0
- data/templates/new-instance/public/images/emoji/sweat.png +0 -0
- data/templates/new-instance/public/images/emoji/sweat_drops.png +0 -0
- data/templates/new-instance/public/images/emoji/sweat_smile.png +0 -0
- data/templates/new-instance/public/images/emoji/sweet_potato.png +0 -0
- data/templates/new-instance/public/images/emoji/swimmer.png +0 -0
- data/templates/new-instance/public/images/emoji/symbols.png +0 -0
- data/templates/new-instance/public/images/emoji/syringe.png +0 -0
- data/templates/new-instance/public/images/emoji/tada.png +0 -0
- data/templates/new-instance/public/images/emoji/tanabata_tree.png +0 -0
- data/templates/new-instance/public/images/emoji/tangerine.png +0 -0
- data/templates/new-instance/public/images/emoji/taurus.png +0 -0
- data/templates/new-instance/public/images/emoji/taxi.png +0 -0
- data/templates/new-instance/public/images/emoji/tea.png +0 -0
- data/templates/new-instance/public/images/emoji/telephone.png +0 -0
- data/templates/new-instance/public/images/emoji/telephone_receiver.png +0 -0
- data/templates/new-instance/public/images/emoji/telescope.png +0 -0
- data/templates/new-instance/public/images/emoji/tennis.png +0 -0
- data/templates/new-instance/public/images/emoji/tent.png +0 -0
- data/templates/new-instance/public/images/emoji/thought_balloon.png +0 -0
- data/templates/new-instance/public/images/emoji/three.png +0 -0
- data/templates/new-instance/public/images/emoji/thumbsdown.png +0 -0
- data/templates/new-instance/public/images/emoji/thumbsup.png +0 -0
- data/templates/new-instance/public/images/emoji/ticket.png +0 -0
- data/templates/new-instance/public/images/emoji/tiger.png +0 -0
- data/templates/new-instance/public/images/emoji/tiger2.png +0 -0
- data/templates/new-instance/public/images/emoji/tired_face.png +0 -0
- data/templates/new-instance/public/images/emoji/tm.png +0 -0
- data/templates/new-instance/public/images/emoji/toilet.png +0 -0
- data/templates/new-instance/public/images/emoji/tokyo_tower.png +0 -0
- data/templates/new-instance/public/images/emoji/tomato.png +0 -0
- data/templates/new-instance/public/images/emoji/tongue.png +0 -0
- data/templates/new-instance/public/images/emoji/top.png +0 -0
- data/templates/new-instance/public/images/emoji/tophat.png +0 -0
- data/templates/new-instance/public/images/emoji/tractor.png +0 -0
- data/templates/new-instance/public/images/emoji/traffic_light.png +0 -0
- data/templates/new-instance/public/images/emoji/train.png +0 -0
- data/templates/new-instance/public/images/emoji/train2.png +0 -0
- data/templates/new-instance/public/images/emoji/tram.png +0 -0
- data/templates/new-instance/public/images/emoji/triangular_flag_on_post.png +0 -0
- data/templates/new-instance/public/images/emoji/triangular_ruler.png +0 -0
- data/templates/new-instance/public/images/emoji/trident.png +0 -0
- data/templates/new-instance/public/images/emoji/triumph.png +0 -0
- data/templates/new-instance/public/images/emoji/trolleybus.png +0 -0
- data/templates/new-instance/public/images/emoji/trollface.png +0 -0
- data/templates/new-instance/public/images/emoji/trophy.png +0 -0
- data/templates/new-instance/public/images/emoji/tropical_drink.png +0 -0
- data/templates/new-instance/public/images/emoji/tropical_fish.png +0 -0
- data/templates/new-instance/public/images/emoji/truck.png +0 -0
- data/templates/new-instance/public/images/emoji/trumpet.png +0 -0
- data/templates/new-instance/public/images/emoji/tshirt.png +0 -0
- data/templates/new-instance/public/images/emoji/tulip.png +0 -0
- data/templates/new-instance/public/images/emoji/turtle.png +0 -0
- data/templates/new-instance/public/images/emoji/tv.png +0 -0
- data/templates/new-instance/public/images/emoji/twisted_rightwards_arrows.png +0 -0
- data/templates/new-instance/public/images/emoji/two.png +0 -0
- data/templates/new-instance/public/images/emoji/two_hearts.png +0 -0
- data/templates/new-instance/public/images/emoji/two_men_holding_hands.png +0 -0
- data/templates/new-instance/public/images/emoji/two_women_holding_hands.png +0 -0
- data/templates/new-instance/public/images/emoji/u5272.png +0 -0
- data/templates/new-instance/public/images/emoji/u5408.png +0 -0
- data/templates/new-instance/public/images/emoji/u55b6.png +0 -0
- data/templates/new-instance/public/images/emoji/u6307.png +0 -0
- data/templates/new-instance/public/images/emoji/u6708.png +0 -0
- data/templates/new-instance/public/images/emoji/u6709.png +0 -0
- data/templates/new-instance/public/images/emoji/u6e80.png +0 -0
- data/templates/new-instance/public/images/emoji/u7121.png +0 -0
- data/templates/new-instance/public/images/emoji/u7533.png +0 -0
- data/templates/new-instance/public/images/emoji/u7981.png +0 -0
- data/templates/new-instance/public/images/emoji/u7a7a.png +0 -0
- data/templates/new-instance/public/images/emoji/uk.png +0 -0
- data/templates/new-instance/public/images/emoji/umbrella.png +0 -0
- data/templates/new-instance/public/images/emoji/unamused.png +0 -0
- data/templates/new-instance/public/images/emoji/underage.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/0023.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/0030.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/0031.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/0032.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/0033.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/0034.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/0035.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/0036.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/0037.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/0038.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/0039.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/00a9.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/00ae.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f004.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f0cf.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f170.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f171.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f17e.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f17f.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f18e.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f191.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f192.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f193.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f194.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f195.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f196.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f197.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f198.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f199.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f19a.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f1e8-1f1f3.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f1e9-1f1ea.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f1ea-1f1f8.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f1eb-1f1f7.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f1ec-1f1e7.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f1ee-1f1f9.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f1ef-1f1f5.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f1f0-1f1f7.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f1f7-1f1fa.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f1fa-1f1f8.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f201.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f202.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f21a.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f22f.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f232.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f233.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f234.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f235.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f236.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f237.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f238.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f239.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f23a.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f250.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f251.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f300.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f301.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f302.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f303.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f304.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f305.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f306.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f307.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f308.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f309.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f30a.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f30b.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f30c.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f30d.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f30e.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f30f.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f310.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f311.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f312.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f313.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f314.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f315.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f316.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f317.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f318.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f319.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f31a.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f31b.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f31c.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f31d.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f31e.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f31f.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f330.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f331.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f332.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f333.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f334.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f335.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f337.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f338.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f339.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f33a.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f33b.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f33c.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f33d.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f33e.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f33f.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f340.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f341.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f342.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f343.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f344.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f345.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f346.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f347.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f348.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f349.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f34a.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f34b.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f34c.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f34d.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f34e.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f34f.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f350.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f351.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f352.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f353.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f354.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f355.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f356.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f357.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f358.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f359.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f35a.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f35b.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f35c.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f35d.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f35e.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f35f.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f360.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f361.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f362.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f363.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f364.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f365.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f366.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f367.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f368.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f369.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f36a.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f36b.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f36c.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f36d.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f36e.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f36f.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f370.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f371.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f372.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f373.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f374.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f375.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f376.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f377.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f378.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f379.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f37a.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f37b.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f37c.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f380.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f381.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f382.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f383.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f384.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f385.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f386.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f387.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f388.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f389.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f38a.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f38b.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f38c.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f38d.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f38e.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f38f.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f390.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f391.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f392.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f393.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3a0.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3a1.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3a2.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3a3.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3a4.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3a5.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3a6.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3a7.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3a8.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3a9.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3aa.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3ab.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3ac.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3ad.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3ae.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3af.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3b0.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3b1.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3b2.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3b3.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3b4.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3b5.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3b6.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3b7.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3b8.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3b9.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3ba.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3bb.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3bc.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3bd.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3be.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3bf.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3c0.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3c1.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3c2.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3c3.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3c4.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3c6.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3c7.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3c8.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3c9.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3ca.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3e0.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3e1.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3e2.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3e3.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3e4.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3e5.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3e6.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3e7.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3e8.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3e9.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3ea.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3eb.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3ec.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3ed.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3ee.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3ef.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f3f0.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f400.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f401.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f402.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f403.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f404.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f405.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f406.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f407.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f408.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f409.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f40a.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f40b.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f40c.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f40d.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f40e.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f40f.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f410.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f411.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f412.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f413.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f414.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f415.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f416.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f417.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f418.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f419.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f41a.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f41b.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f41c.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f41d.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f41e.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f41f.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f420.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f421.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f422.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f423.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f424.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f425.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f426.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f427.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f428.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f429.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f42a.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f42b.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f42c.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f42d.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f42e.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f42f.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f430.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f431.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f432.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f433.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f434.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f435.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f436.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f437.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f438.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f439.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f43a.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f43b.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f43c.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f43d.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f43e.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f440.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f442.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f443.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f444.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f445.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f446.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f447.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f448.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f449.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f44a.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f44b.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f44c.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f44d.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f44e.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f44f.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f450.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f451.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f452.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f453.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f454.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f455.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f456.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f457.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f458.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f459.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f45a.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f45b.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f45c.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f45d.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f45e.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f45f.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f460.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f461.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f462.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f463.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f464.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f465.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f466.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f467.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f468.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f469.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f46a.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f46b.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f46c.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f46d.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f46e.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f46f.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f470.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f471.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f472.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f473.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f474.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f475.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f476.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f477.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f478.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f479.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f47a.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f47b.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f47c.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f47d.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f47e.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f47f.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f480.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f481.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f482.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f483.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f484.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f485.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f486.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f487.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f488.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f489.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f48a.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f48b.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f48c.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f48d.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f48e.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f48f.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f490.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f491.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f492.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f493.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f494.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f495.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f496.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f497.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f498.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f499.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f49a.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f49b.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f49c.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f49d.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f49e.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f49f.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4a0.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4a1.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4a2.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4a3.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4a4.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4a5.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4a6.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4a7.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4a8.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4a9.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4aa.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4ab.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4ac.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4ad.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4ae.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4af.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4b0.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4b1.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4b2.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4b3.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4b4.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4b5.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4b6.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4b7.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4b8.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4b9.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4ba.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4bb.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4bc.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4bd.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4be.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4bf.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4c0.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4c1.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4c2.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4c3.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4c4.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4c5.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4c6.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4c7.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4c8.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4c9.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4ca.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4cb.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4cc.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4cd.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4ce.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4cf.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4d0.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4d1.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4d2.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4d3.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4d4.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4d5.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4d6.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4d7.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4d8.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4d9.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4da.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4db.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4dc.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4dd.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4de.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4df.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4e0.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4e1.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4e2.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4e3.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4e4.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4e5.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4e6.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4e7.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4e8.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4e9.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4ea.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4eb.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4ec.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4ed.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4ee.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4ef.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4f0.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4f1.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4f2.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4f3.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4f4.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4f5.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4f6.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4f7.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4f9.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4fa.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4fb.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f4fc.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f500.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f501.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f502.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f503.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f504.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f505.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f506.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f507.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f509.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f50a.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f50b.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f50c.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f50d.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f50e.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f50f.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f510.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f511.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f512.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f513.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f514.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f515.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f516.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f517.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f518.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f519.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f51a.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f51b.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f51c.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f51d.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f51e.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f51f.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f520.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f521.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f522.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f523.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f524.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f525.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f526.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f527.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f528.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f529.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f52a.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f52b.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f52c.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f52d.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f52e.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f52f.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f530.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f531.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f532.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f533.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f534.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f535.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f536.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f537.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f538.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f539.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f53a.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f53b.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f53c.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f53d.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f550.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f551.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f552.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f553.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f554.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f555.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f556.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f557.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f558.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f559.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f55a.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f55b.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f55c.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f55d.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f55e.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f55f.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f560.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f561.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f562.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f563.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f564.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f565.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f566.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f567.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f5fb.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f5fc.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f5fd.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f5fe.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f5ff.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f600.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f601.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f602.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f603.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f604.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f605.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f606.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f607.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f608.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f609.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f60a.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f60b.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f60c.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f60d.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f60e.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f60f.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f610.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f611.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f612.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f613.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f614.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f615.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f616.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f617.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f618.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f619.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f61a.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f61b.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f61c.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f61d.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f61e.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f61f.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f620.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f621.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f622.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f623.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f624.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f625.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f626.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f627.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f628.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f629.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f62a.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f62b.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f62c.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f62d.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f62e.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f62f.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f630.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f631.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f632.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f633.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f634.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f635.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f636.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f637.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f638.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f639.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f63a.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f63b.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f63c.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f63d.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f63e.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f63f.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f640.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f645.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f646.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f647.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f648.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f649.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f64a.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f64b.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f64c.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f64d.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f64e.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f64f.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f680.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f681.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f682.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f683.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f684.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f685.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f686.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f687.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f688.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f689.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f68a.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f68c.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f68d.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f68e.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f68f.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f690.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f691.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f692.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f693.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f694.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f695.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f696.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f697.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f698.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f699.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f69a.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f69b.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f69c.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f69d.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f69e.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f69f.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f6a0.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f6a1.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f6a2.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f6a3.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f6a4.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f6a5.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f6a6.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f6a7.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f6a8.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f6a9.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f6aa.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f6ab.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f6ac.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f6ad.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f6ae.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f6af.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f6b0.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f6b1.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f6b2.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f6b3.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f6b4.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f6b5.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f6b6.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f6b7.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f6b8.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f6b9.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f6ba.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f6bb.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f6bc.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f6bd.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f6be.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f6bf.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f6c0.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f6c1.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f6c2.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f6c3.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f6c4.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/1f6c5.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/203c.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2049.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2122.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2139.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2194.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2195.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2196.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2197.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2198.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2199.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/21a9.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/21aa.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/231a.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/231b.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/23e9.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/23ea.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/23eb.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/23ec.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/23f0.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/23f3.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/24c2.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/25aa.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/25ab.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/25b6.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/25c0.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/25fb.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/25fc.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/25fd.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/25fe.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2600.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2601.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/260e.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2611.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2614.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2615.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/261d.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/263a.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2648.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2649.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/264a.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/264b.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/264c.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/264d.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/264e.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/264f.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2650.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2651.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2652.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2653.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2660.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2663.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2665.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2666.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2668.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/267b.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/267f.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2693.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/26a0.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/26a1.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/26aa.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/26ab.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/26bd.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/26be.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/26c4.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/26c5.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/26ce.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/26d4.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/26ea.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/26f2.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/26f3.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/26f5.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/26fa.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/26fd.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2702.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2705.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2708.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2709.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/270a.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/270b.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/270c.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/270f.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2712.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2714.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2716.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2728.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2733.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2734.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2744.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2747.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/274c.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/274e.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2753.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2754.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2755.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2757.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2764.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2795.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2796.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2797.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/27a1.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/27b0.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/27bf.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2934.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2935.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2b05.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2b06.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2b07.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2b1b.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2b1c.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2b50.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/2b55.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/3030.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/303d.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/3297.png +0 -0
- data/templates/new-instance/public/images/emoji/unicode/3299.png +0 -0
- data/templates/new-instance/public/images/emoji/unlock.png +0 -0
- data/templates/new-instance/public/images/emoji/up.png +0 -0
- data/templates/new-instance/public/images/emoji/us.png +0 -0
- data/templates/new-instance/public/images/emoji/v.png +0 -0
- data/templates/new-instance/public/images/emoji/vertical_traffic_light.png +0 -0
- data/templates/new-instance/public/images/emoji/vhs.png +0 -0
- data/templates/new-instance/public/images/emoji/vibration_mode.png +0 -0
- data/templates/new-instance/public/images/emoji/video_camera.png +0 -0
- data/templates/new-instance/public/images/emoji/video_game.png +0 -0
- data/templates/new-instance/public/images/emoji/violin.png +0 -0
- data/templates/new-instance/public/images/emoji/virgo.png +0 -0
- data/templates/new-instance/public/images/emoji/volcano.png +0 -0
- data/templates/new-instance/public/images/emoji/vs.png +0 -0
- data/templates/new-instance/public/images/emoji/walking.png +0 -0
- data/templates/new-instance/public/images/emoji/waning_crescent_moon.png +0 -0
- data/templates/new-instance/public/images/emoji/waning_gibbous_moon.png +0 -0
- data/templates/new-instance/public/images/emoji/warning.png +0 -0
- data/templates/new-instance/public/images/emoji/watch.png +0 -0
- data/templates/new-instance/public/images/emoji/water_buffalo.png +0 -0
- data/templates/new-instance/public/images/emoji/watermelon.png +0 -0
- data/templates/new-instance/public/images/emoji/wave.png +0 -0
- data/templates/new-instance/public/images/emoji/wavy_dash.png +0 -0
- data/templates/new-instance/public/images/emoji/waxing_crescent_moon.png +0 -0
- data/templates/new-instance/public/images/emoji/waxing_gibbous_moon.png +0 -0
- data/templates/new-instance/public/images/emoji/wc.png +0 -0
- data/templates/new-instance/public/images/emoji/weary.png +0 -0
- data/templates/new-instance/public/images/emoji/wedding.png +0 -0
- data/templates/new-instance/public/images/emoji/whale.png +0 -0
- data/templates/new-instance/public/images/emoji/whale2.png +0 -0
- data/templates/new-instance/public/images/emoji/wheelchair.png +0 -0
- data/templates/new-instance/public/images/emoji/white_check_mark.png +0 -0
- data/templates/new-instance/public/images/emoji/white_circle.png +0 -0
- data/templates/new-instance/public/images/emoji/white_flower.png +0 -0
- data/templates/new-instance/public/images/emoji/white_large_square.png +0 -0
- data/templates/new-instance/public/images/emoji/white_medium_small_square.png +0 -0
- data/templates/new-instance/public/images/emoji/white_medium_square.png +0 -0
- data/templates/new-instance/public/images/emoji/white_small_square.png +0 -0
- data/templates/new-instance/public/images/emoji/white_square_button.png +0 -0
- data/templates/new-instance/public/images/emoji/wind_chime.png +0 -0
- data/templates/new-instance/public/images/emoji/wine_glass.png +0 -0
- data/templates/new-instance/public/images/emoji/wink.png +0 -0
- data/templates/new-instance/public/images/emoji/wolf.png +0 -0
- data/templates/new-instance/public/images/emoji/woman.png +0 -0
- data/templates/new-instance/public/images/emoji/womans_clothes.png +0 -0
- data/templates/new-instance/public/images/emoji/womans_hat.png +0 -0
- data/templates/new-instance/public/images/emoji/womens.png +0 -0
- data/templates/new-instance/public/images/emoji/worried.png +0 -0
- data/templates/new-instance/public/images/emoji/wrench.png +0 -0
- data/templates/new-instance/public/images/emoji/x.png +0 -0
- data/templates/new-instance/public/images/emoji/yellow_heart.png +0 -0
- data/templates/new-instance/public/images/emoji/yen.png +0 -0
- data/templates/new-instance/public/images/emoji/yum.png +0 -0
- data/templates/new-instance/public/images/emoji/zap.png +0 -0
- data/templates/new-instance/public/images/emoji/zero.png +0 -0
- data/templates/new-instance/public/images/emoji/zzz.png +0 -0
- data/templates/new-instance/public/robots.txt +5 -0
- data/templates/new-instance/test/test_helper.rb +9 -0
- data/templates/new-instance/test/unit/test_test.rb +9 -0
- data/templates/new-module/Gemfile +20 -0
- data/templates/new-module/MIT-LICENSE +20 -0
- data/templates/new-module/README.md +31 -0
- data/templates/new-module/Rakefile +25 -0
- data/templates/new-module/app/assets/javascripts/houston/%name%/application.js.tt +13 -0
- data/templates/new-module/app/assets/stylesheets/houston/%name%/application.css +13 -0
- data/templates/new-module/app/controllers/houston/%name%/application_controller.rb.tt +4 -0
- data/templates/new-module/app/helpers/houston/%name%/application_helper.rb.tt +4 -0
- data/templates/new-module/app/mailers/.empty_directory +0 -0
- data/templates/new-module/app/models/.empty_directory +0 -0
- data/templates/new-module/app/views/layouts/houston/%name%/application.html.erb.tt +10 -0
- data/templates/new-module/bin/rails.tt +7 -0
- data/templates/new-module/config/initializers/add_navigation_renderer.rb +3 -0
- data/templates/new-module/config/routes.rb +2 -0
- data/templates/new-module/gitignore +10 -0
- data/templates/new-module/houston-%name%.gemspec +22 -0
- data/templates/new-module/lib/houston-%name%.rb +1 -0
- data/templates/new-module/lib/houston/%name%.rb +13 -0
- data/templates/new-module/lib/houston/%name%/configuration.rb +12 -0
- data/templates/new-module/lib/houston/%name%/engine.rb +27 -0
- data/templates/new-module/lib/houston/%name%/version.rb +5 -0
- data/templates/new-module/lib/tasks/%name%_tasks.rake +4 -0
- data/templates/new-module/rails/application.rb +17 -0
- data/templates/new-module/rails/boot.rb +5 -0
- data/templates/new-module/rails/javascripts.js +13 -0
- data/templates/new-module/rails/routes.rb +5 -0
- data/templates/new-module/rails/stylesheets.css +13 -0
- data/templates/new-module/script/rails.tt +7 -0
- data/templates/new-module/test/%name%_test.rb +7 -0
- data/templates/new-module/test/integration/navigation_test.rb +11 -0
- data/templates/new-module/test/test_helper.rb +15 -0
- data/test/acceptance/.keep +0 -0
- data/test/acceptance/creating_a_release_test.rb +79 -0
- data/test/acceptance/rejecting_malformed_requests_test.rb +14 -0
- data/test/data/backtrace.txt +27 -0
- data/test/data/bare_repo.git/FETCH_HEAD +3 -0
- data/test/data/bare_repo.git/HEAD +1 -0
- data/test/data/bare_repo.git/config +9 -0
- data/test/data/bare_repo.git/description +1 -0
- data/test/data/bare_repo.git/hooks/applypatch-msg.sample +15 -0
- data/test/data/bare_repo.git/hooks/commit-msg.sample +24 -0
- data/test/data/bare_repo.git/hooks/post-update.sample +8 -0
- data/test/data/bare_repo.git/hooks/pre-applypatch.sample +14 -0
- data/test/data/bare_repo.git/hooks/pre-commit.sample +50 -0
- data/test/data/bare_repo.git/hooks/pre-rebase.sample +169 -0
- data/test/data/bare_repo.git/hooks/prepare-commit-msg.sample +36 -0
- data/test/data/bare_repo.git/hooks/update.sample +128 -0
- data/test/data/bare_repo.git/info/exclude +6 -0
- data/test/data/bare_repo.git/objects/22/924bbf4378f83cab93bfd5fa7d7777cbc1f3b4 +0 -0
- data/test/data/bare_repo.git/objects/59/e4862a85cf64d42a8b17db45ebf2ba39568679 +0 -0
- data/test/data/bare_repo.git/objects/5f/8cb742401c71308f858bf537855bb07d2932d8 +3 -0
- data/test/data/bare_repo.git/objects/6e/eab9f9ee664c1acb08473921238ca95a8c17f5 +0 -0
- data/test/data/bare_repo.git/objects/7f/ce91258d10807380f36192304883e916a48ec0 +0 -0
- data/test/data/bare_repo.git/objects/b3/d156e4d4bb279e09cca0f31af8ea6e35d3df64 +1 -0
- data/test/data/bare_repo.git/objects/ba/a3ef218a40f23fe542f98d8b8e60a2e8e0bff0 +1 -0
- data/test/data/bare_repo.git/objects/bd/3e9e2e4ddf89a640a4f880cbf55bb46cc7e88a +2 -0
- data/test/data/bare_repo.git/objects/be/63e6ebab6ce87922f97ca24b1338befdbe6915 +0 -0
- data/test/data/bare_repo.git/objects/cc/f4bdedd71011176c0236e98268d71ed73eb80f +0 -0
- data/test/data/bare_repo.git/objects/e0/e4580f44317a084dd5142fef6b4144a4394819 +0 -0
- data/test/data/bare_repo.git/objects/e4/d9901b79d8112dd2fe369fcd8c65594c96a10b +0 -0
- data/test/data/bare_repo.git/objects/pack/pack-dd400c42eded7158ab780652af55aa92c30e37e3.idx +0 -0
- data/test/data/bare_repo.git/objects/pack/pack-dd400c42eded7158ab780652af55aa92c30e37e3.pack +0 -0
- data/test/data/bare_repo.git/packed-refs +2 -0
- data/test/data/bare_repo.git/refs/heads/divergent-branch +1 -0
- data/test/data/bare_repo.git/refs/heads/for-testing +1 -0
- data/test/data/bare_repo.git/refs/heads/master +1 -0
- data/test/data/github_push_event_payload.json +161 -0
- data/test/factories/commit_factory.rb +9 -0
- data/test/factories/deploy_factory.rb +7 -0
- data/test/factories/project_factory.rb +6 -0
- data/test/factories/task_factory.rb +6 -0
- data/test/factories/ticket_factory.rb +8 -0
- data/test/factories/user_factory.rb +13 -0
- data/test/fixtures/.gitkeep +0 -0
- data/test/fixtures/.keep +0 -0
- data/test/fixtures/simplecov_sample.rb +16 -0
- data/test/fixtures/users.yml +10 -0
- data/test/integration/.gitkeep +0 -0
- data/test/integration/.keep +0 -0
- data/test/integration/ci_integration_test.rb +169 -0
- data/test/integration/commits_api_test.rb +67 -0
- data/test/integration/ticket_tasks_api_test.rb +70 -0
- data/test/integration/web_hook_test.rb +30 -0
- data/test/support/config.rb +34 -0
- data/test/support/houston/adapters/ci_server/mock_adapter.rb +23 -0
- data/test/support/houston/adapters/ci_server/mock_adapter/job.rb +29 -0
- data/test/support/houston/adapters/error_tracker/mock_adapter.rb +31 -0
- data/test/support/houston/adapters/ticket_tracker/mock_adapter.rb +21 -0
- data/test/support/houston/adapters/version_control/mock_adapter.rb +21 -0
- data/test/test_helper.rb +171 -0
- data/test/unit/.gitkeep +0 -0
- data/test/unit/adapters/ci_server_adapters_api_test.rb +29 -0
- data/test/unit/adapters/error_tracker_adapters_test.rb +36 -0
- data/test/unit/adapters/git_adapter_test.rb +206 -0
- data/test/unit/adapters/jenkins_adapter_test.rb +184 -0
- data/test/unit/adapters/ticket_tracker_adapters_api_test.rb +67 -0
- data/test/unit/adapters/version_control_adapters_api_test.rb +39 -0
- data/test/unit/concerns/commit_synchronizer_test.rb +137 -0
- data/test/unit/controllers/deploys_controller_test.rb +41 -0
- data/test/unit/controllers/hooks_controller_test.rb +143 -0
- data/test/unit/controllers/project_options_controller_test.rb +43 -0
- data/test/unit/controllers/sprints_controller_test.rb +54 -0
- data/test/unit/controllers/test_runs_controller_test.rb +20 -0
- data/test/unit/controllers/user_options_controller_test.rb +43 -0
- data/test/unit/initializers/sync_commits_on_post_receive_test.rb +14 -0
- data/test/unit/models/code_climate_coverage_report_test.rb +137 -0
- data/test/unit/models/commit_test.rb +277 -0
- data/test/unit/models/deploy_test.rb +97 -0
- data/test/unit/models/observer_test.rb +17 -0
- data/test/unit/models/post_receive_payload_test.rb +19 -0
- data/test/unit/models/project_test.rb +58 -0
- data/test/unit/models/pull_request_test.rb +103 -0
- data/test/unit/models/release_change_test.rb +32 -0
- data/test/unit/models/release_test.rb +62 -0
- data/test/unit/models/source_file_coverage_test.rb +33 -0
- data/test/unit/models/sprint_test.rb +44 -0
- data/test/unit/models/task_test.rb +135 -0
- data/test/unit/models/test_run_test.rb +289 -0
- data/test/unit/models/ticket_antecedents_test.rb +38 -0
- data/test/unit/models/ticket_test.rb +250 -0
- data/test/unit/models/user_test.rb +80 -0
- data/test/unit/presenters/sprint_task_presenter_test.rb +57 -0
- data/test/unit/test_run_comparer_test.rb +108 -0
- data/vendor/assets/javascripts/jquery-ui.js +45 -45
- data/vendor/assets/stylesheets/jquery-ui.css +15 -15
- metadata +2022 -99
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery-ui-i18n.js +0 -1379
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-af.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-ar-DZ.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-ar.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-az.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-bg.js +0 -24
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-bs.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-ca.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-cs.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-da.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-de.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-el.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-en-AU.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-en-GB.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-en-NZ.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-eo.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-es.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-et.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-eu.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-fa.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-fi.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-fo.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-fr-CH.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-fr.js +0 -25
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-gl.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-he.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-hr.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-hu.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-hy.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-id.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-is.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-it.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-ja.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-ko.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-kz.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-lt.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-lv.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-ml.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-ms.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-nl.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-no.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-pl.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-pt-BR.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-pt.js +0 -22
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-rm.js +0 -21
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-ro.js +0 -26
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-ru.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-sk.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-sl.js +0 -24
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-sq.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-sr-SR.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-sr.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-sv.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-ta.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-th.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-tj.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-tr.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-uk.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-vi.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-zh-CN.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-zh-HK.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/i18n/jquery.ui.datepicker-zh-TW.js +0 -23
- data/vendor/assets/javascripts/jquery-ui-1.8.4/jquery.effects.blind.js +0 -49
- data/vendor/assets/javascripts/jquery-ui-1.8.4/jquery.effects.bounce.js +0 -78
- data/vendor/assets/javascripts/jquery-ui-1.8.4/jquery.effects.clip.js +0 -54
- data/vendor/assets/javascripts/jquery-ui-1.8.4/jquery.effects.core.js +0 -746
- data/vendor/assets/javascripts/jquery-ui-1.8.4/jquery.effects.drop.js +0 -50
- data/vendor/assets/javascripts/jquery-ui-1.8.4/jquery.effects.explode.js +0 -79
- data/vendor/assets/javascripts/jquery-ui-1.8.4/jquery.effects.fade.js +0 -32
- data/vendor/assets/javascripts/jquery-ui-1.8.4/jquery.effects.fold.js +0 -56
- data/vendor/assets/javascripts/jquery-ui-1.8.4/jquery.effects.highlight.js +0 -49
- data/vendor/assets/javascripts/jquery-ui-1.8.4/jquery.effects.pulsate.js +0 -51
- data/vendor/assets/javascripts/jquery-ui-1.8.4/jquery.effects.scale.js +0 -178
- data/vendor/assets/javascripts/jquery-ui-1.8.4/jquery.effects.shake.js +0 -57
- data/vendor/assets/javascripts/jquery-ui-1.8.4/jquery.effects.slide.js +0 -50
- data/vendor/assets/javascripts/jquery-ui-1.8.4/jquery.effects.transfer.js +0 -45
- data/vendor/assets/javascripts/jquery-ui-1.8.4/jquery.ui.accordion.js +0 -611
- data/vendor/assets/javascripts/jquery-ui-1.8.4/jquery.ui.autocomplete.js +0 -612
- data/vendor/assets/javascripts/jquery-ui-1.8.4/jquery.ui.button.js +0 -416
- data/vendor/assets/javascripts/jquery-ui-1.8.4/jquery.ui.core.js +0 -312
- data/vendor/assets/javascripts/jquery-ui-1.8.4/jquery.ui.datepicker.js +0 -1814
- data/vendor/assets/javascripts/jquery-ui-1.8.4/jquery.ui.dialog.js +0 -879
- data/vendor/assets/javascripts/jquery-ui-1.8.4/jquery.ui.draggable.js +0 -823
- data/vendor/assets/javascripts/jquery-ui-1.8.4/jquery.ui.droppable.js +0 -296
- data/vendor/assets/javascripts/jquery-ui-1.8.4/jquery.ui.mouse.js +0 -160
- data/vendor/assets/javascripts/jquery-ui-1.8.4/jquery.ui.position.js +0 -252
- data/vendor/assets/javascripts/jquery-ui-1.8.4/jquery.ui.progressbar.js +0 -109
- data/vendor/assets/javascripts/jquery-ui-1.8.4/jquery.ui.resizable.js +0 -842
- data/vendor/assets/javascripts/jquery-ui-1.8.4/jquery.ui.selectable.js +0 -266
- data/vendor/assets/javascripts/jquery-ui-1.8.4/jquery.ui.slider.js +0 -666
- data/vendor/assets/javascripts/jquery-ui-1.8.4/jquery.ui.sortable.js +0 -1077
- data/vendor/assets/javascripts/jquery-ui-1.8.4/jquery.ui.tabs.js +0 -758
- data/vendor/assets/javascripts/jquery-ui-1.8.4/jquery.ui.widget.js +0 -262
@@ -0,0 +1,22 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
# Everything in this bootstrap script
|
3
|
+
# is idempotent. It is OK to run again
|
4
|
+
# on an existing project if you are
|
5
|
+
# uncertain whether it is set up.
|
6
|
+
|
7
|
+
git submodule update --init
|
8
|
+
bundle
|
9
|
+
|
10
|
+
# See if the databases already exist
|
11
|
+
bundle exec rails runner "ActiveRecord::Base.connection" 2> /dev/null
|
12
|
+
if [ $? -ne 0 ] ; then
|
13
|
+
echo -e "\n\033[34;1mCreating and seeding your database\033[0m"
|
14
|
+
bundle exec rake db:setup
|
15
|
+
bundle exec rake db:seed
|
16
|
+
fi
|
17
|
+
|
18
|
+
# Always run migrations because schema
|
19
|
+
# changes required by modules will be
|
20
|
+
# declared in those.
|
21
|
+
echo -e "\n\033[34;1mRunning migrations\033[0m"
|
22
|
+
bundle exec rake db:migrate
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# This file is used by Rack-based servers to start the application.
|
2
|
+
|
3
|
+
$WEB_SERVER = :rack
|
4
|
+
|
5
|
+
# Load and configure Houston
|
6
|
+
require_relative "config/main"
|
7
|
+
|
8
|
+
# Initialize the Rails application
|
9
|
+
Rails.application.initialize!
|
10
|
+
|
11
|
+
# Run the application
|
12
|
+
run Rails.application
|
@@ -0,0 +1,81 @@
|
|
1
|
+
# This block uses the DSL defined by CanCan.
|
2
|
+
# https://github.com/ryanb/cancan/wiki/Defining-Abilities
|
3
|
+
|
4
|
+
Houston.config.abilities do |user|
|
5
|
+
if user.nil?
|
6
|
+
|
7
|
+
# Customers are allowed to see Release Notes of products, for production
|
8
|
+
can :read, Release do |release|
|
9
|
+
release.project.category == "Products" && (release.environment_name.blank? || release.environment_name == "production")
|
10
|
+
end
|
11
|
+
|
12
|
+
# Customers are allowed to see Features, Improvements, and Bugfixes
|
13
|
+
can :read, ReleaseChange, tag_slug: %w{feature improvement fix}
|
14
|
+
|
15
|
+
else
|
16
|
+
|
17
|
+
# Everyone can see Releases to staging
|
18
|
+
can :read, Release
|
19
|
+
|
20
|
+
# Everyone is allowed to see Features, Improvements, and Bugfixes
|
21
|
+
can :read, ReleaseChange, tag_slug: %w{feature improvement fix}
|
22
|
+
|
23
|
+
# Everyone can see Projects
|
24
|
+
can :read, Project
|
25
|
+
|
26
|
+
# Everyone can see Tickets
|
27
|
+
can :read, Ticket
|
28
|
+
|
29
|
+
# Everyone can see Milestones
|
30
|
+
can :read, Milestone
|
31
|
+
|
32
|
+
# Everyone can see Users and update themselves
|
33
|
+
can :read, User
|
34
|
+
can :update, user
|
35
|
+
|
36
|
+
# Everyone can make themselves a "Follower"
|
37
|
+
can :create, Role, name: "Follower"
|
38
|
+
|
39
|
+
# Everyone can remove themselves from a role
|
40
|
+
can :destroy, Role, user_id: user.id
|
41
|
+
|
42
|
+
# Everyone can edit their own testing notes
|
43
|
+
can [:update, :destroy], TestingNote, user_id: user.id
|
44
|
+
|
45
|
+
# Developers can
|
46
|
+
# - create tickets
|
47
|
+
# - see other kinds of Release Changes (like Refactors)
|
48
|
+
# - update Sprints
|
49
|
+
# - break tickets into tasks
|
50
|
+
if user.developer?
|
51
|
+
can :read, [Commit, ReleaseChange]
|
52
|
+
can :manage, Sprint
|
53
|
+
can :manage, Task
|
54
|
+
end
|
55
|
+
|
56
|
+
# Testers and Developers can
|
57
|
+
# - see and comment on all testing notes
|
58
|
+
# - create tickets
|
59
|
+
# - see and manage alerts
|
60
|
+
if user.tester? or user.developer?
|
61
|
+
can :create, Ticket
|
62
|
+
can [:create, :read], TestingNote
|
63
|
+
can :manage, Houston::Alerts::Alert
|
64
|
+
end
|
65
|
+
|
66
|
+
# The following abilities are project-specific and depend on one's role
|
67
|
+
roles = user.roles.participants
|
68
|
+
if roles.any?
|
69
|
+
|
70
|
+
# Everyone can see and comment on Testing Reports for projects they are involved in
|
71
|
+
can [:create, :read], TestingNote, project_id: roles.pluck(:project_id)
|
72
|
+
|
73
|
+
# Maintainers can manage Releases, close Tickets, and update Projects
|
74
|
+
roles.maintainers.pluck(:project_id).tap do |project_ids|
|
75
|
+
can :manage, Release, project_id: project_ids
|
76
|
+
can :close, Ticket, project_id: project_ids
|
77
|
+
can :update, Project, id: project_ids
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# If you use Gemnasium, you can pull CVE advisories in as Alerts.
|
2
|
+
|
3
|
+
require_relative "../../lib/gemnasium-alert"
|
4
|
+
|
5
|
+
Houston::Alerts.config.sync :open, "cve", every: "5m" do
|
6
|
+
Gemnasium::Alert.open.map { |alert|
|
7
|
+
advisory = alert["advisory"]
|
8
|
+
{ key: "#{alert["project_slug"]}-#{advisory["id"]}",
|
9
|
+
number: advisory["id"],
|
10
|
+
project_slug: alert["project_slug"],
|
11
|
+
summary: advisory["title"],
|
12
|
+
environment_name: "production",
|
13
|
+
url: "https://gemnasium.com/#{alert["project_id"]}/alerts#advisory_#{advisory["id"]}" } }
|
14
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# If you use Errbit, you can pull exception reports in as Alerts.
|
2
|
+
|
3
|
+
# The first time we sync errs after booting, we'll catch up
|
4
|
+
# by pulling down changes from the last week.
|
5
|
+
$errbit_since_changes_since = 1.week.ago
|
6
|
+
|
7
|
+
Houston::Alerts.config.sync :changes, "err", every: "45s" do
|
8
|
+
app_project_map = Hash[Project
|
9
|
+
.where(error_tracker_name: "Errbit")
|
10
|
+
.pluck("(extended_attributes->'errbit_app_id')::integer", :id)]
|
11
|
+
app_ids = app_project_map.keys
|
12
|
+
|
13
|
+
Houston::Adapters::ErrorTracker::ErrbitAdapter.changed_problems(app_id: app_ids, since: $errbit_since_changes_since).map { |problem|
|
14
|
+
key = "#{problem.id}-#{problem.opened_at.to_i}"
|
15
|
+
{ key: key,
|
16
|
+
number: problem.err_ids.min,
|
17
|
+
project_id: app_project_map[problem.app_id],
|
18
|
+
summary: problem.message,
|
19
|
+
environment_name: problem.environment,
|
20
|
+
text: problem.where,
|
21
|
+
opened_at: problem.opened_at,
|
22
|
+
closed_at: problem.resolved_at,
|
23
|
+
destroyed_at: problem.deleted_at,
|
24
|
+
url: problem.url } }.tap do
|
25
|
+
|
26
|
+
# From now on, we should expect to sync every 45 seconds,
|
27
|
+
# so we'll pull down changes from a smaller window.
|
28
|
+
$errbit_since_changes_since = 3.minutes.ago
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
Houston::Slack.config do
|
2
|
+
overhear(/cve[\s:](?<number>\d+)\b/i) do |e|
|
3
|
+
alert = Houston::Alerts::Alert.where(type: "cve", number: e.match[:number]).first
|
4
|
+
e.unfurl slack_alert_attachment(alert)
|
5
|
+
end
|
6
|
+
|
7
|
+
overhear(/(?:err|exception)[\s:](?<number>\d+)\b/i) do |e|
|
8
|
+
alert = Houston::Alerts::Alert.where(type: "err", number: e.match[:number]).first
|
9
|
+
e.unfurl slack_alert_attachment(alert)
|
10
|
+
end
|
11
|
+
|
12
|
+
overhear(/alert (?<number>\d+)\b/i) do |e|
|
13
|
+
Houston::Alerts::Alert.where(number: e.match[:number]).each do |alert|
|
14
|
+
e.unfurl slack_alert_attachment(alert)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
Houston::Slack.config do
|
2
|
+
overhear(/\b(?<task>\d+[a-z]+)\b/) do |e|
|
3
|
+
next unless e.user && e.user.developer?
|
4
|
+
tasks = Task.joins(:ticket)
|
5
|
+
|
6
|
+
if project = e.channel.name != "test" && Project.find_by_slug(e.channel.name)
|
7
|
+
tasks = tasks.where(Ticket.arel_table[:project_id].eq(project.id))
|
8
|
+
else
|
9
|
+
tasks = tasks.merge(Ticket.open)
|
10
|
+
end
|
11
|
+
|
12
|
+
tasks.with_shorthand(e.match[:task]).each do |task|
|
13
|
+
e.unfurl slack_task_attachment(task)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
development:
|
2
|
+
adapter: postgresql
|
3
|
+
encoding: utf8
|
4
|
+
database: houston_development
|
5
|
+
host: localhost
|
6
|
+
prepared_statements: false
|
7
|
+
|
8
|
+
test:
|
9
|
+
adapter: postgresql
|
10
|
+
encoding: utf8
|
11
|
+
database: houston_test
|
12
|
+
host: localhost
|
13
|
+
prepared_statements: false
|
14
|
+
|
15
|
+
production:
|
16
|
+
adapter: postgresql
|
17
|
+
encoding: utf8
|
18
|
+
database: houston_production
|
19
|
+
host: localhost
|
20
|
+
prepared_statements: false
|
File without changes
|
File without changes
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# Configuration for GitHub
|
2
|
+
# Use the following command to generate an access_token
|
3
|
+
# for your GitHub account to allow Houston to modify
|
4
|
+
# commit statuses.
|
5
|
+
#
|
6
|
+
# curl -v -u USERNAME -X POST https://api.github.com/authorizations --data '{"scopes":["repo:status"]}'
|
7
|
+
#
|
8
|
+
Houston.config.github do
|
9
|
+
# Access token for houstonbot with scopes: ["repo"]
|
10
|
+
access_token ENV["HOUSTON_GITHUB_ACCESS_TOKEN"]
|
11
|
+
key ENV["HOUSTON_GITHUB_KEY"]
|
12
|
+
secret ENV["HOUSTON_GITHUB_SECRET"]
|
13
|
+
organization "my-company"
|
14
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
require "yaml/store"
|
2
|
+
|
3
|
+
Houston.config.every "2m", "remind:alerts" do
|
4
|
+
store = YAML::Store.new("reminders.yml")
|
5
|
+
|
6
|
+
threshold = 4.hours.from_now
|
7
|
+
end_of_day = 16 # 4:00pm
|
8
|
+
|
9
|
+
threshold += 16.hours if threshold.hour > end_of_day # is it afternoon? see what alerts are due in the morning.
|
10
|
+
threshold += 1.day if threshold.wday == 6 # advance Saturday to Sunday
|
11
|
+
threshold += 1.day if threshold.wday == 0 # advance Sunday to Monday
|
12
|
+
alerts_coming_due = Houston::Alerts::Alert.open.checked_out.due_before(threshold)
|
13
|
+
|
14
|
+
reminders = alerts_coming_due.pluck(:id, :checked_out_by_id).map { |ids| ids.join("-") }
|
15
|
+
reminders_sent = store.transaction { store[:reminders_sent] } || []
|
16
|
+
reminders_sent &= reminders # prune reminders for closed or late Alerts
|
17
|
+
reminders_needed = reminders - reminders_sent
|
18
|
+
|
19
|
+
# reminders_needed will be an array of strings like /:alert_id-:user_id/
|
20
|
+
# we can treat these like an array of IDs because when calling `:to_i`
|
21
|
+
# on a string like that, Ruby will return everyting up to the hyphen:
|
22
|
+
# that is, the Alert ID.
|
23
|
+
Houston::Alerts::Alert.open.checked_out.where(id: reminders_needed).each do |alert|
|
24
|
+
assignee = alert.checked_out_by
|
25
|
+
seconds = alert.seconds_remaining
|
26
|
+
next if seconds < 180 # Skip it if we're late or have less than 2 minutes
|
27
|
+
|
28
|
+
Rails.logger.info "\e[34m[slack] reminding \e[1m#{assignee.first_name}\e[0;34m of alert due in \e[1m#{seconds}s\e[0m"
|
29
|
+
|
30
|
+
message = "Hey #{assignee.first_name}, this *#{alert.type}*"
|
31
|
+
message << " for #{alert.project.slug}" if alert.project
|
32
|
+
|
33
|
+
due_date = alert.deadline.to_date
|
34
|
+
if due_date == Date.today
|
35
|
+
minutes = seconds / 60
|
36
|
+
hours = minutes / 60
|
37
|
+
minutes -= (hours * 60)
|
38
|
+
|
39
|
+
# Round up to the next hour
|
40
|
+
if minutes > 50
|
41
|
+
minutes = 0
|
42
|
+
hours += 1
|
43
|
+
end
|
44
|
+
|
45
|
+
if hours == 0
|
46
|
+
timeleft = "#{minutes} minutes"
|
47
|
+
elsif hours == 1
|
48
|
+
timeleft = "1 hour"
|
49
|
+
timeleft << " and #{minutes} minutes" if minutes >= 10
|
50
|
+
else
|
51
|
+
timeleft = "#{hours} hours"
|
52
|
+
timeleft << " and #{minutes} minutes" if minutes >= 10
|
53
|
+
end
|
54
|
+
|
55
|
+
message << " is due in *#{timeleft}*"
|
56
|
+
else
|
57
|
+
date = due_date == Date.today + 1 ? "tomorrow" : due_date.strftime("%A")
|
58
|
+
message << " is due *#{date} at #{alert.deadline.strftime("%-I:%M %P")}*"
|
59
|
+
end
|
60
|
+
|
61
|
+
slack_send_message_to message, assignee, attachments: [slack_alert_attachment(alert)]
|
62
|
+
|
63
|
+
reminders_sent << "#{alert.id}-#{alert.checked_out_by_id}"
|
64
|
+
store.transaction { store[:reminders_sent] = reminders_sent }
|
65
|
+
end
|
66
|
+
end
|
@@ -0,0 +1,295 @@
|
|
1
|
+
# This file loads and configures Houston
|
2
|
+
|
3
|
+
# Load Houston
|
4
|
+
require "houston/application"
|
5
|
+
|
6
|
+
require_relative "../lib/slack_helpers"
|
7
|
+
require_relative "../lib/time_helpers"
|
8
|
+
|
9
|
+
# Configure Houston
|
10
|
+
Houston.config do
|
11
|
+
|
12
|
+
# Required
|
13
|
+
# ---------------------------------------------------------------------------
|
14
|
+
#
|
15
|
+
# The path to this instance.
|
16
|
+
# This is required so that Houston can load environment-specific
|
17
|
+
# configuration from ./config/environments, write log files to
|
18
|
+
# ./logs, and serve static assets from ./public.
|
19
|
+
root Pathname.new File.expand_path("../..", __FILE__)
|
20
|
+
|
21
|
+
# This is the name that will be shown in the banner
|
22
|
+
title "Houston"
|
23
|
+
|
24
|
+
# This is the host where Houston will be running
|
25
|
+
host "houston.my-company.com"
|
26
|
+
|
27
|
+
# This is the email address for emails send from Houston
|
28
|
+
mailer_sender "houston@my-company.com"
|
29
|
+
|
30
|
+
# This is the passphrase you used when generating config/keypair.pem
|
31
|
+
# Houston will use the keypair to encrypt and decrypt sensitive data
|
32
|
+
# To generate a new keypair.pem, execute these commands:
|
33
|
+
#
|
34
|
+
# openssl genrsa -des3 -out config/private.pem 2048
|
35
|
+
# openssl rsa -in config/private.pem -out config/public.pem -outform PEM -pubout
|
36
|
+
# cat config/private.pem config/public.pem >> config/keypair.pem
|
37
|
+
#
|
38
|
+
passphrase ENV["HOUSTON_PASSPHRASE"]
|
39
|
+
|
40
|
+
# This is the SMTP server Houston will use to send emails
|
41
|
+
smtp do
|
42
|
+
|
43
|
+
# Configuration for a local SMTP server
|
44
|
+
# address "10.10.10.10"
|
45
|
+
# port 25
|
46
|
+
# domain "10.10.10.10"
|
47
|
+
|
48
|
+
# Configuration for an SMTP service (like Mailgun)
|
49
|
+
# authentication :plain
|
50
|
+
# address "smtp.mailgun.org"
|
51
|
+
# port 587
|
52
|
+
# domain "my-company.mailgun.org"
|
53
|
+
# user_name ENV["HOUSTON_MAILGUN_USERNAME"]
|
54
|
+
# password ENV["HOUSTON_MAILGUN_PASSWORD"]
|
55
|
+
|
56
|
+
end
|
57
|
+
|
58
|
+
# These are the colors available for projects
|
59
|
+
project_colors(
|
60
|
+
"teal" => "39b3aa",
|
61
|
+
"sky" => "239ce7",
|
62
|
+
"sea" => "335996",
|
63
|
+
"indigo" => "7d63b8",
|
64
|
+
"thistle" => "b35ab8",
|
65
|
+
"tomato" => "e74c23",
|
66
|
+
"bark" => "756e54",
|
67
|
+
"hazelnut" => "a4703d",
|
68
|
+
"burnt_sienna" => "df8a3d",
|
69
|
+
"orange" => "e9b84e",
|
70
|
+
"pea" => "84bd37",
|
71
|
+
"leaf" => "409938",
|
72
|
+
"spruce" => "307355",
|
73
|
+
"slate" => "6c7a80",
|
74
|
+
"silver" => "a2a38b" )
|
75
|
+
|
76
|
+
# These are the tags available for each change in Release Notes
|
77
|
+
change_tags( {name: "New Feature", as: "feature", color: "8DB500"},
|
78
|
+
{name: "Improvement", as: "improvement", color: "3383A8", aliases: %w{enhancement}},
|
79
|
+
{name: "Bugfix", as: "fix", color: "C64537", aliases: %w{bugfix}} )
|
80
|
+
|
81
|
+
# These are the types of tickets
|
82
|
+
ticket_types(
|
83
|
+
"Chore" => "909090",
|
84
|
+
"Feature" => "8DB500",
|
85
|
+
"Enhancement" => "3383A8",
|
86
|
+
"Bug" => "C64537" )
|
87
|
+
|
88
|
+
|
89
|
+
|
90
|
+
# General
|
91
|
+
# ---------------------------------------------------------------------------
|
92
|
+
#
|
93
|
+
# (Optional) Sets Time.zone and configures Active Record to auto-convert to this zone.
|
94
|
+
# Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
|
95
|
+
# time_zone "Central Time (US & Canada)"
|
96
|
+
|
97
|
+
# (Optional) Parallelize requests.
|
98
|
+
# Improves performance when Houston has to make several requests at once
|
99
|
+
# to a remote API. Some firewalls might see this as suspicious activity.
|
100
|
+
# In those environments, comment the following line out.
|
101
|
+
parallelization :on
|
102
|
+
|
103
|
+
# (Optional) Supply an S3 bucket to support file uploads
|
104
|
+
s3 do
|
105
|
+
access_key ENV["HOUSTON_S3_ACCESS_KEY"]
|
106
|
+
secret ENV["HOUSTON_S3_SECRET"]
|
107
|
+
bucket "houston-#{ENV["RAILS_ENV"] || "development"}"
|
108
|
+
end
|
109
|
+
|
110
|
+
# (Optional) These are the categories you can organize your projects by
|
111
|
+
# project_categories "Products", "Services", "Libraries", "Tools"
|
112
|
+
|
113
|
+
# (Optional) What dependencies to list on the Projects page
|
114
|
+
# key_dependencies do
|
115
|
+
# gem "rails"
|
116
|
+
# gem "devise"
|
117
|
+
# end
|
118
|
+
|
119
|
+
# (Optional) Given a commit, return an array of email addresses
|
120
|
+
# This is useful if your team uses pair-programming and attributes
|
121
|
+
# commits to pairs by combining email addresses.
|
122
|
+
# https://robots.thoughtbot.com/how-to-create-github-avatars-for-pairs
|
123
|
+
identify_committers do |commit|
|
124
|
+
emails = [commit.committer_email]
|
125
|
+
emails = ["#{$1}@thoughtbot.com", "#{$2}@thoughtbot.com"] if commit.committer_email =~ /^([a-z\.]*)\+([a-z\.]*)@thoughtbot\.com/
|
126
|
+
emails
|
127
|
+
end
|
128
|
+
|
129
|
+
|
130
|
+
|
131
|
+
# Navigation
|
132
|
+
# ---------------------------------------------------------------------------
|
133
|
+
#
|
134
|
+
# Menus are provided by Houston and modules.
|
135
|
+
# Additional navigation can be defined by calling
|
136
|
+
#
|
137
|
+
# Houston.config.add_navigation_renderer
|
138
|
+
#
|
139
|
+
# For examples, see config/initializers/add_navigation_renderers.rb
|
140
|
+
#
|
141
|
+
# These are the menu items that will be shown in Houston
|
142
|
+
navigation :alerts,
|
143
|
+
:sprint
|
144
|
+
project_features :tickets,
|
145
|
+
:testing,
|
146
|
+
:releases
|
147
|
+
|
148
|
+
|
149
|
+
|
150
|
+
# Modules
|
151
|
+
# ---------------------------------------------------------------------------
|
152
|
+
#
|
153
|
+
# Modules provide a way to extend Houston.
|
154
|
+
#
|
155
|
+
# They are mountable Rails Engines whose routes are automatically
|
156
|
+
# added to Houston's, prefixed with the name of the module.
|
157
|
+
#
|
158
|
+
# To create a new module for Houston, run:
|
159
|
+
#
|
160
|
+
# gem install houston-cli
|
161
|
+
# houston_new_module <MODULE>
|
162
|
+
#
|
163
|
+
# Then add the module to your Gemfile with:
|
164
|
+
#
|
165
|
+
# gem "houston-<MODULE>", github: "<USERNAME>/houston-<MODULE>", branch: "master"
|
166
|
+
#
|
167
|
+
# Add add to this configuration file:
|
168
|
+
#
|
169
|
+
# use :<MODULE> do
|
170
|
+
# # Module-supplied configuration options can go here
|
171
|
+
# end
|
172
|
+
#
|
173
|
+
# When developing a module, it can be helpful to tell Bundler
|
174
|
+
# to refer to the local copy of your module's repo:
|
175
|
+
#
|
176
|
+
# bundle config local.houston-<MODULE> ~/Projects/houston-<MODULE>
|
177
|
+
#
|
178
|
+
|
179
|
+
use :alerts do
|
180
|
+
|
181
|
+
# Who can be assign an Alert?
|
182
|
+
workers { User.developers }
|
183
|
+
|
184
|
+
# Set a target-time for the Alert to be closed.
|
185
|
+
# This block sets a goal of closing alerts within
|
186
|
+
# 2 business days.
|
187
|
+
set_deadline do |alert|
|
188
|
+
time_allowed = 2.days
|
189
|
+
if weekend?(alert.opened_at)
|
190
|
+
time_allowed.after(monday_after(alert.opened_at))
|
191
|
+
else
|
192
|
+
deadline = time_allowed.after(alert.opened_at)
|
193
|
+
deadline = 2.days.after(deadline) if weekend?(deadline)
|
194
|
+
deadline
|
195
|
+
end
|
196
|
+
end
|
197
|
+
end
|
198
|
+
load "alerts/*"
|
199
|
+
|
200
|
+
use :slack do
|
201
|
+
token ENV["HOUSTON_SLACK_TOKEN"]
|
202
|
+
typing_speed 120 # characters/second
|
203
|
+
listen_for(/^(hello|hey|hi),? @houston[\!\.]*$/i) { |e| e.reply "hello" }
|
204
|
+
end
|
205
|
+
load "conversations/**/*"
|
206
|
+
|
207
|
+
|
208
|
+
|
209
|
+
|
210
|
+
# Roles and Abilities
|
211
|
+
# ---------------------------------------------------------------------------
|
212
|
+
#
|
213
|
+
# Every user will have one Role. You can refer to a user's roles when you
|
214
|
+
# define her abilities. Houston will add the role "Guest" to this list.
|
215
|
+
# "Guest" is the default role.
|
216
|
+
#
|
217
|
+
# NOTE: Presently, Houston requires that "Tester" be one of these roles.
|
218
|
+
|
219
|
+
roles "Developer",
|
220
|
+
"Tester"
|
221
|
+
|
222
|
+
# Users additionally have any number of project-specific roles. You can
|
223
|
+
# refer to these as well when configuring abilities.
|
224
|
+
#
|
225
|
+
# NOTE: Presently, Houston requires that "Maintainer" be one of these.
|
226
|
+
|
227
|
+
project_roles "Maintainer",
|
228
|
+
"Owner"
|
229
|
+
|
230
|
+
# Houston uses CanCan to check authorize users to do particular actions.
|
231
|
+
# Houston will pass a user to the block defined below which should declare
|
232
|
+
# what abilities that user has.
|
233
|
+
|
234
|
+
load "abilities"
|
235
|
+
|
236
|
+
|
237
|
+
|
238
|
+
# Integrations
|
239
|
+
# ---------------------------------------------------------------------------
|
240
|
+
#
|
241
|
+
# Configure Houston to integrate with third-party services
|
242
|
+
|
243
|
+
load "integrations/*"
|
244
|
+
|
245
|
+
|
246
|
+
|
247
|
+
# Events
|
248
|
+
# ---------------------------------------------------------------------------
|
249
|
+
#
|
250
|
+
# Configure Houston to execute block of code when an event is triggered.
|
251
|
+
#
|
252
|
+
# Here is a list of many of Houston's events:
|
253
|
+
#
|
254
|
+
# * antecedent:*:released When a Ticket has been released, for each antecedent
|
255
|
+
# * antecedent:*:resolved When a Ticket has been resolved, for each antecedent
|
256
|
+
# * antecedent:*:closed When a Ticket has been closed, for each antecedent
|
257
|
+
# * daemon:*:start When a background thread (like the Scheduler or Slack) starts
|
258
|
+
# * daemon:*:restart When a background thread (like the Scheduler or Slack) is restarted
|
259
|
+
# * daemon:*:stop When a background thread (like the Scheduler or Slack) dies
|
260
|
+
# * deploy:completed When a deploy has been recorded
|
261
|
+
# * hooks:* When a Web Hook as been triggered
|
262
|
+
# * release:create When a new Release has been created
|
263
|
+
# * test_run:start When the CI server has begun a build
|
264
|
+
# * test_run:complete When the CI server has completed a build
|
265
|
+
# * testing_note:create When a Testing Note has been created
|
266
|
+
# * testing_note:update When a Testing Note has been updated
|
267
|
+
# * testing_note:save When a Testing Note has been created or updated
|
268
|
+
# * ticket:release When a Ticket is mentioned in a Release
|
269
|
+
# * task:released When a commit mentioning a Task is released
|
270
|
+
# * task:committed When a commit mentioning a Task is pushed
|
271
|
+
# * task:completed When a Task is marked completed
|
272
|
+
# * task:reopened When a Task is marked reopened
|
273
|
+
# * alert:create When an Alert is created
|
274
|
+
# * alert:*:create When an Alert of a particular type is created
|
275
|
+
# * alert:assign When an Alert is assigned
|
276
|
+
# * alert:*:assign When an Alert of a particular type is assigned
|
277
|
+
# * alert:deployed When an Alert is deployed
|
278
|
+
# * alert:*:deployed When an Alert of a particular type is deployed
|
279
|
+
|
280
|
+
load "triggers/**/*"
|
281
|
+
|
282
|
+
|
283
|
+
|
284
|
+
# Background Jobs
|
285
|
+
# ---------------------------------------------------------------------------
|
286
|
+
#
|
287
|
+
# Houston can be configured to run jobs at a variety of intervals.
|
288
|
+
|
289
|
+
load "jobs/**/*"
|
290
|
+
|
291
|
+
|
292
|
+
|
293
|
+
# Perform any other initialization
|
294
|
+
load "initializers/*"
|
295
|
+
end
|