love_monster 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (985) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.rdoc +3 -0
  4. data/Rakefile +37 -0
  5. data/app/assets/fonts/love_monster/glyphicons-halflings-regular.eot +0 -0
  6. data/app/assets/fonts/love_monster/glyphicons-halflings-regular.svg +288 -0
  7. data/app/assets/fonts/love_monster/glyphicons-halflings-regular.ttf +0 -0
  8. data/app/assets/fonts/love_monster/glyphicons-halflings-regular.woff +0 -0
  9. data/app/assets/fonts/love_monster/glyphicons-halflings-regular.woff2 +0 -0
  10. data/app/assets/images/love_monster/chosen-sprite.png +0 -0
  11. data/app/assets/images/love_monster/emoji/-1.png +0 -0
  12. data/app/assets/images/love_monster/emoji/100.png +0 -0
  13. data/app/assets/images/love_monster/emoji/1234.png +0 -0
  14. data/app/assets/images/love_monster/emoji/8ball.png +0 -0
  15. data/app/assets/images/love_monster/emoji/_1.png +0 -0
  16. data/app/assets/images/love_monster/emoji/a.png +0 -0
  17. data/app/assets/images/love_monster/emoji/ab.png +0 -0
  18. data/app/assets/images/love_monster/emoji/abc.png +0 -0
  19. data/app/assets/images/love_monster/emoji/abcd.png +0 -0
  20. data/app/assets/images/love_monster/emoji/accept.png +0 -0
  21. data/app/assets/images/love_monster/emoji/aerial_tramway.png +0 -0
  22. data/app/assets/images/love_monster/emoji/airplane.png +0 -0
  23. data/app/assets/images/love_monster/emoji/alarm_clock.png +0 -0
  24. data/app/assets/images/love_monster/emoji/alien.png +0 -0
  25. data/app/assets/images/love_monster/emoji/ambulance.png +0 -0
  26. data/app/assets/images/love_monster/emoji/anchor.png +0 -0
  27. data/app/assets/images/love_monster/emoji/angel.png +0 -0
  28. data/app/assets/images/love_monster/emoji/anger.png +0 -0
  29. data/app/assets/images/love_monster/emoji/angry.png +0 -0
  30. data/app/assets/images/love_monster/emoji/anguished.png +0 -0
  31. data/app/assets/images/love_monster/emoji/ant.png +0 -0
  32. data/app/assets/images/love_monster/emoji/apple.png +0 -0
  33. data/app/assets/images/love_monster/emoji/aquarius.png +0 -0
  34. data/app/assets/images/love_monster/emoji/aries.png +0 -0
  35. data/app/assets/images/love_monster/emoji/arrow_backward.png +0 -0
  36. data/app/assets/images/love_monster/emoji/arrow_double_down.png +0 -0
  37. data/app/assets/images/love_monster/emoji/arrow_double_up.png +0 -0
  38. data/app/assets/images/love_monster/emoji/arrow_down.png +0 -0
  39. data/app/assets/images/love_monster/emoji/arrow_down_small.png +0 -0
  40. data/app/assets/images/love_monster/emoji/arrow_forward.png +0 -0
  41. data/app/assets/images/love_monster/emoji/arrow_heading_down.png +0 -0
  42. data/app/assets/images/love_monster/emoji/arrow_heading_up.png +0 -0
  43. data/app/assets/images/love_monster/emoji/arrow_left.png +0 -0
  44. data/app/assets/images/love_monster/emoji/arrow_lower_left.png +0 -0
  45. data/app/assets/images/love_monster/emoji/arrow_lower_right.png +0 -0
  46. data/app/assets/images/love_monster/emoji/arrow_right.png +0 -0
  47. data/app/assets/images/love_monster/emoji/arrow_right_hook.png +0 -0
  48. data/app/assets/images/love_monster/emoji/arrow_up.png +0 -0
  49. data/app/assets/images/love_monster/emoji/arrow_up_down.png +0 -0
  50. data/app/assets/images/love_monster/emoji/arrow_up_small.png +0 -0
  51. data/app/assets/images/love_monster/emoji/arrow_upper_left.png +0 -0
  52. data/app/assets/images/love_monster/emoji/arrow_upper_right.png +0 -0
  53. data/app/assets/images/love_monster/emoji/arrows_clockwise.png +0 -0
  54. data/app/assets/images/love_monster/emoji/arrows_counterclockwise.png +0 -0
  55. data/app/assets/images/love_monster/emoji/art.png +0 -0
  56. data/app/assets/images/love_monster/emoji/articulated_lorry.png +0 -0
  57. data/app/assets/images/love_monster/emoji/astonished.png +0 -0
  58. data/app/assets/images/love_monster/emoji/atm.png +0 -0
  59. data/app/assets/images/love_monster/emoji/b.png +0 -0
  60. data/app/assets/images/love_monster/emoji/baby.png +0 -0
  61. data/app/assets/images/love_monster/emoji/baby_bottle.png +0 -0
  62. data/app/assets/images/love_monster/emoji/baby_chick.png +0 -0
  63. data/app/assets/images/love_monster/emoji/baby_symbol.png +0 -0
  64. data/app/assets/images/love_monster/emoji/back.png +0 -0
  65. data/app/assets/images/love_monster/emoji/baggage_claim.png +0 -0
  66. data/app/assets/images/love_monster/emoji/balloon.png +0 -0
  67. data/app/assets/images/love_monster/emoji/ballot_box_with_check.png +0 -0
  68. data/app/assets/images/love_monster/emoji/bamboo.png +0 -0
  69. data/app/assets/images/love_monster/emoji/banana.png +0 -0
  70. data/app/assets/images/love_monster/emoji/bangbang.png +0 -0
  71. data/app/assets/images/love_monster/emoji/bank.png +0 -0
  72. data/app/assets/images/love_monster/emoji/bar_chart.png +0 -0
  73. data/app/assets/images/love_monster/emoji/barber.png +0 -0
  74. data/app/assets/images/love_monster/emoji/baseball.png +0 -0
  75. data/app/assets/images/love_monster/emoji/basketball.png +0 -0
  76. data/app/assets/images/love_monster/emoji/bath.png +0 -0
  77. data/app/assets/images/love_monster/emoji/bathtub.png +0 -0
  78. data/app/assets/images/love_monster/emoji/battery.png +0 -0
  79. data/app/assets/images/love_monster/emoji/bear.png +0 -0
  80. data/app/assets/images/love_monster/emoji/bee.png +0 -0
  81. data/app/assets/images/love_monster/emoji/beer.png +0 -0
  82. data/app/assets/images/love_monster/emoji/beers.png +0 -0
  83. data/app/assets/images/love_monster/emoji/beetle.png +0 -0
  84. data/app/assets/images/love_monster/emoji/beginner.png +0 -0
  85. data/app/assets/images/love_monster/emoji/bell.png +0 -0
  86. data/app/assets/images/love_monster/emoji/bento.png +0 -0
  87. data/app/assets/images/love_monster/emoji/bicyclist.png +0 -0
  88. data/app/assets/images/love_monster/emoji/bike.png +0 -0
  89. data/app/assets/images/love_monster/emoji/bikini.png +0 -0
  90. data/app/assets/images/love_monster/emoji/bird.png +0 -0
  91. data/app/assets/images/love_monster/emoji/birthday.png +0 -0
  92. data/app/assets/images/love_monster/emoji/black_circle.png +0 -0
  93. data/app/assets/images/love_monster/emoji/black_joker.png +0 -0
  94. data/app/assets/images/love_monster/emoji/black_medium_small_square.png +0 -0
  95. data/app/assets/images/love_monster/emoji/black_medium_square.png +0 -0
  96. data/app/assets/images/love_monster/emoji/black_nib.png +0 -0
  97. data/app/assets/images/love_monster/emoji/black_small_square.png +0 -0
  98. data/app/assets/images/love_monster/emoji/black_square.png +0 -0
  99. data/app/assets/images/love_monster/emoji/black_square_button.png +0 -0
  100. data/app/assets/images/love_monster/emoji/blossom.png +0 -0
  101. data/app/assets/images/love_monster/emoji/blowfish.png +0 -0
  102. data/app/assets/images/love_monster/emoji/blue_book.png +0 -0
  103. data/app/assets/images/love_monster/emoji/blue_car.png +0 -0
  104. data/app/assets/images/love_monster/emoji/blue_heart.png +0 -0
  105. data/app/assets/images/love_monster/emoji/blush.png +0 -0
  106. data/app/assets/images/love_monster/emoji/boar.png +0 -0
  107. data/app/assets/images/love_monster/emoji/boat.png +0 -0
  108. data/app/assets/images/love_monster/emoji/bomb.png +0 -0
  109. data/app/assets/images/love_monster/emoji/book.png +0 -0
  110. data/app/assets/images/love_monster/emoji/bookmark.png +0 -0
  111. data/app/assets/images/love_monster/emoji/bookmark_tabs.png +0 -0
  112. data/app/assets/images/love_monster/emoji/books.png +0 -0
  113. data/app/assets/images/love_monster/emoji/boom.png +0 -0
  114. data/app/assets/images/love_monster/emoji/boot.png +0 -0
  115. data/app/assets/images/love_monster/emoji/bouquet.png +0 -0
  116. data/app/assets/images/love_monster/emoji/bow.png +0 -0
  117. data/app/assets/images/love_monster/emoji/bowling.png +0 -0
  118. data/app/assets/images/love_monster/emoji/bowtie.png +0 -0
  119. data/app/assets/images/love_monster/emoji/boy.png +0 -0
  120. data/app/assets/images/love_monster/emoji/bread.png +0 -0
  121. data/app/assets/images/love_monster/emoji/bride_with_veil.png +0 -0
  122. data/app/assets/images/love_monster/emoji/bridge_at_night.png +0 -0
  123. data/app/assets/images/love_monster/emoji/briefcase.png +0 -0
  124. data/app/assets/images/love_monster/emoji/broken_heart.png +0 -0
  125. data/app/assets/images/love_monster/emoji/bug.png +0 -0
  126. data/app/assets/images/love_monster/emoji/bulb.png +0 -0
  127. data/app/assets/images/love_monster/emoji/bullettrain_front.png +0 -0
  128. data/app/assets/images/love_monster/emoji/bullettrain_side.png +0 -0
  129. data/app/assets/images/love_monster/emoji/bus.png +0 -0
  130. data/app/assets/images/love_monster/emoji/busstop.png +0 -0
  131. data/app/assets/images/love_monster/emoji/bust_in_silhouette.png +0 -0
  132. data/app/assets/images/love_monster/emoji/busts_in_silhouette.png +0 -0
  133. data/app/assets/images/love_monster/emoji/cactus.png +0 -0
  134. data/app/assets/images/love_monster/emoji/cake.png +0 -0
  135. data/app/assets/images/love_monster/emoji/calendar.png +0 -0
  136. data/app/assets/images/love_monster/emoji/calling.png +0 -0
  137. data/app/assets/images/love_monster/emoji/camel.png +0 -0
  138. data/app/assets/images/love_monster/emoji/camera.png +0 -0
  139. data/app/assets/images/love_monster/emoji/cancer.png +0 -0
  140. data/app/assets/images/love_monster/emoji/candy.png +0 -0
  141. data/app/assets/images/love_monster/emoji/capital_abcd.png +0 -0
  142. data/app/assets/images/love_monster/emoji/capricorn.png +0 -0
  143. data/app/assets/images/love_monster/emoji/car.png +0 -0
  144. data/app/assets/images/love_monster/emoji/card_index.png +0 -0
  145. data/app/assets/images/love_monster/emoji/carousel_horse.png +0 -0
  146. data/app/assets/images/love_monster/emoji/cat.png +0 -0
  147. data/app/assets/images/love_monster/emoji/cat2.png +0 -0
  148. data/app/assets/images/love_monster/emoji/cd.png +0 -0
  149. data/app/assets/images/love_monster/emoji/chart.png +0 -0
  150. data/app/assets/images/love_monster/emoji/chart_with_downwards_trend.png +0 -0
  151. data/app/assets/images/love_monster/emoji/chart_with_upwards_trend.png +0 -0
  152. data/app/assets/images/love_monster/emoji/checkered_flag.png +0 -0
  153. data/app/assets/images/love_monster/emoji/cherries.png +0 -0
  154. data/app/assets/images/love_monster/emoji/cherry_blossom.png +0 -0
  155. data/app/assets/images/love_monster/emoji/chestnut.png +0 -0
  156. data/app/assets/images/love_monster/emoji/chicken.png +0 -0
  157. data/app/assets/images/love_monster/emoji/children_crossing.png +0 -0
  158. data/app/assets/images/love_monster/emoji/chocolate_bar.png +0 -0
  159. data/app/assets/images/love_monster/emoji/christmas_tree.png +0 -0
  160. data/app/assets/images/love_monster/emoji/church.png +0 -0
  161. data/app/assets/images/love_monster/emoji/cinema.png +0 -0
  162. data/app/assets/images/love_monster/emoji/circus_tent.png +0 -0
  163. data/app/assets/images/love_monster/emoji/city_sunrise.png +0 -0
  164. data/app/assets/images/love_monster/emoji/city_sunset.png +0 -0
  165. data/app/assets/images/love_monster/emoji/cl.png +0 -0
  166. data/app/assets/images/love_monster/emoji/clap.png +0 -0
  167. data/app/assets/images/love_monster/emoji/clapper.png +0 -0
  168. data/app/assets/images/love_monster/emoji/clipboard.png +0 -0
  169. data/app/assets/images/love_monster/emoji/clock1.png +0 -0
  170. data/app/assets/images/love_monster/emoji/clock10.png +0 -0
  171. data/app/assets/images/love_monster/emoji/clock1030.png +0 -0
  172. data/app/assets/images/love_monster/emoji/clock11.png +0 -0
  173. data/app/assets/images/love_monster/emoji/clock1130.png +0 -0
  174. data/app/assets/images/love_monster/emoji/clock12.png +0 -0
  175. data/app/assets/images/love_monster/emoji/clock1230.png +0 -0
  176. data/app/assets/images/love_monster/emoji/clock130.png +0 -0
  177. data/app/assets/images/love_monster/emoji/clock2.png +0 -0
  178. data/app/assets/images/love_monster/emoji/clock230.png +0 -0
  179. data/app/assets/images/love_monster/emoji/clock3.png +0 -0
  180. data/app/assets/images/love_monster/emoji/clock330.png +0 -0
  181. data/app/assets/images/love_monster/emoji/clock4.png +0 -0
  182. data/app/assets/images/love_monster/emoji/clock430.png +0 -0
  183. data/app/assets/images/love_monster/emoji/clock5.png +0 -0
  184. data/app/assets/images/love_monster/emoji/clock530.png +0 -0
  185. data/app/assets/images/love_monster/emoji/clock6.png +0 -0
  186. data/app/assets/images/love_monster/emoji/clock630.png +0 -0
  187. data/app/assets/images/love_monster/emoji/clock7.png +0 -0
  188. data/app/assets/images/love_monster/emoji/clock730.png +0 -0
  189. data/app/assets/images/love_monster/emoji/clock8.png +0 -0
  190. data/app/assets/images/love_monster/emoji/clock830.png +0 -0
  191. data/app/assets/images/love_monster/emoji/clock9.png +0 -0
  192. data/app/assets/images/love_monster/emoji/clock930.png +0 -0
  193. data/app/assets/images/love_monster/emoji/closed_book.png +0 -0
  194. data/app/assets/images/love_monster/emoji/closed_lock_with_key.png +0 -0
  195. data/app/assets/images/love_monster/emoji/closed_umbrella.png +0 -0
  196. data/app/assets/images/love_monster/emoji/cloud.png +0 -0
  197. data/app/assets/images/love_monster/emoji/clubs.png +0 -0
  198. data/app/assets/images/love_monster/emoji/cn.png +0 -0
  199. data/app/assets/images/love_monster/emoji/cocktail.png +0 -0
  200. data/app/assets/images/love_monster/emoji/coffee.png +0 -0
  201. data/app/assets/images/love_monster/emoji/cold_sweat.png +0 -0
  202. data/app/assets/images/love_monster/emoji/collision.png +0 -0
  203. data/app/assets/images/love_monster/emoji/computer.png +0 -0
  204. data/app/assets/images/love_monster/emoji/confetti_ball.png +0 -0
  205. data/app/assets/images/love_monster/emoji/confounded.png +0 -0
  206. data/app/assets/images/love_monster/emoji/confused.png +0 -0
  207. data/app/assets/images/love_monster/emoji/congratulations.png +0 -0
  208. data/app/assets/images/love_monster/emoji/construction.png +0 -0
  209. data/app/assets/images/love_monster/emoji/construction_worker.png +0 -0
  210. data/app/assets/images/love_monster/emoji/convenience_store.png +0 -0
  211. data/app/assets/images/love_monster/emoji/cookie.png +0 -0
  212. data/app/assets/images/love_monster/emoji/cool.png +0 -0
  213. data/app/assets/images/love_monster/emoji/cop.png +0 -0
  214. data/app/assets/images/love_monster/emoji/copyright.png +0 -0
  215. data/app/assets/images/love_monster/emoji/corn.png +0 -0
  216. data/app/assets/images/love_monster/emoji/couple.png +0 -0
  217. data/app/assets/images/love_monster/emoji/couple_with_heart.png +0 -0
  218. data/app/assets/images/love_monster/emoji/couplekiss.png +0 -0
  219. data/app/assets/images/love_monster/emoji/cow.png +0 -0
  220. data/app/assets/images/love_monster/emoji/cow2.png +0 -0
  221. data/app/assets/images/love_monster/emoji/credit_card.png +0 -0
  222. data/app/assets/images/love_monster/emoji/crescent_moon.png +0 -0
  223. data/app/assets/images/love_monster/emoji/crocodile.png +0 -0
  224. data/app/assets/images/love_monster/emoji/crossed_flags.png +0 -0
  225. data/app/assets/images/love_monster/emoji/crown.png +0 -0
  226. data/app/assets/images/love_monster/emoji/cry.png +0 -0
  227. data/app/assets/images/love_monster/emoji/crying_cat_face.png +0 -0
  228. data/app/assets/images/love_monster/emoji/crystal_ball.png +0 -0
  229. data/app/assets/images/love_monster/emoji/cupid.png +0 -0
  230. data/app/assets/images/love_monster/emoji/curly_loop.png +0 -0
  231. data/app/assets/images/love_monster/emoji/currency_exchange.png +0 -0
  232. data/app/assets/images/love_monster/emoji/curry.png +0 -0
  233. data/app/assets/images/love_monster/emoji/custard.png +0 -0
  234. data/app/assets/images/love_monster/emoji/customs.png +0 -0
  235. data/app/assets/images/love_monster/emoji/cyclone.png +0 -0
  236. data/app/assets/images/love_monster/emoji/dancer.png +0 -0
  237. data/app/assets/images/love_monster/emoji/dancers.png +0 -0
  238. data/app/assets/images/love_monster/emoji/dango.png +0 -0
  239. data/app/assets/images/love_monster/emoji/dart.png +0 -0
  240. data/app/assets/images/love_monster/emoji/dash.png +0 -0
  241. data/app/assets/images/love_monster/emoji/date.png +0 -0
  242. data/app/assets/images/love_monster/emoji/de.png +0 -0
  243. data/app/assets/images/love_monster/emoji/deciduous_tree.png +0 -0
  244. data/app/assets/images/love_monster/emoji/department_store.png +0 -0
  245. data/app/assets/images/love_monster/emoji/diamond_shape_with_a_dot_inside.png +0 -0
  246. data/app/assets/images/love_monster/emoji/diamonds.png +0 -0
  247. data/app/assets/images/love_monster/emoji/disappointed.png +0 -0
  248. data/app/assets/images/love_monster/emoji/disappointed_relieved.png +0 -0
  249. data/app/assets/images/love_monster/emoji/dizzy.png +0 -0
  250. data/app/assets/images/love_monster/emoji/dizzy_face.png +0 -0
  251. data/app/assets/images/love_monster/emoji/do_not_litter.png +0 -0
  252. data/app/assets/images/love_monster/emoji/dog.png +0 -0
  253. data/app/assets/images/love_monster/emoji/dog2.png +0 -0
  254. data/app/assets/images/love_monster/emoji/dollar.png +0 -0
  255. data/app/assets/images/love_monster/emoji/dolls.png +0 -0
  256. data/app/assets/images/love_monster/emoji/dolphin.png +0 -0
  257. data/app/assets/images/love_monster/emoji/donut.png +0 -0
  258. data/app/assets/images/love_monster/emoji/door.png +0 -0
  259. data/app/assets/images/love_monster/emoji/doughnut.png +0 -0
  260. data/app/assets/images/love_monster/emoji/dragon.png +0 -0
  261. data/app/assets/images/love_monster/emoji/dragon_face.png +0 -0
  262. data/app/assets/images/love_monster/emoji/dress.png +0 -0
  263. data/app/assets/images/love_monster/emoji/dromedary_camel.png +0 -0
  264. data/app/assets/images/love_monster/emoji/droplet.png +0 -0
  265. data/app/assets/images/love_monster/emoji/dvd.png +0 -0
  266. data/app/assets/images/love_monster/emoji/e-mail.png +0 -0
  267. data/app/assets/images/love_monster/emoji/ear.png +0 -0
  268. data/app/assets/images/love_monster/emoji/ear_of_rice.png +0 -0
  269. data/app/assets/images/love_monster/emoji/earth_africa.png +0 -0
  270. data/app/assets/images/love_monster/emoji/earth_americas.png +0 -0
  271. data/app/assets/images/love_monster/emoji/earth_asia.png +0 -0
  272. data/app/assets/images/love_monster/emoji/egg.png +0 -0
  273. data/app/assets/images/love_monster/emoji/eggplant.png +0 -0
  274. data/app/assets/images/love_monster/emoji/eight.png +0 -0
  275. data/app/assets/images/love_monster/emoji/eight_pointed_black_star.png +0 -0
  276. data/app/assets/images/love_monster/emoji/eight_spoked_asterisk.png +0 -0
  277. data/app/assets/images/love_monster/emoji/electric_plug.png +0 -0
  278. data/app/assets/images/love_monster/emoji/elephant.png +0 -0
  279. data/app/assets/images/love_monster/emoji/email.png +0 -0
  280. data/app/assets/images/love_monster/emoji/end.png +0 -0
  281. data/app/assets/images/love_monster/emoji/envelope.png +0 -0
  282. data/app/assets/images/love_monster/emoji/es.png +0 -0
  283. data/app/assets/images/love_monster/emoji/euro.png +0 -0
  284. data/app/assets/images/love_monster/emoji/european_castle.png +0 -0
  285. data/app/assets/images/love_monster/emoji/european_post_office.png +0 -0
  286. data/app/assets/images/love_monster/emoji/evergreen_tree.png +0 -0
  287. data/app/assets/images/love_monster/emoji/exclamation.png +0 -0
  288. data/app/assets/images/love_monster/emoji/expressionless.png +0 -0
  289. data/app/assets/images/love_monster/emoji/eyeglasses.png +0 -0
  290. data/app/assets/images/love_monster/emoji/eyes.png +0 -0
  291. data/app/assets/images/love_monster/emoji/facepunch.png +0 -0
  292. data/app/assets/images/love_monster/emoji/factory.png +0 -0
  293. data/app/assets/images/love_monster/emoji/fallen_leaf.png +0 -0
  294. data/app/assets/images/love_monster/emoji/family.png +0 -0
  295. data/app/assets/images/love_monster/emoji/fast_forward.png +0 -0
  296. data/app/assets/images/love_monster/emoji/fax.png +0 -0
  297. data/app/assets/images/love_monster/emoji/fearful.png +0 -0
  298. data/app/assets/images/love_monster/emoji/feelsgood.png +0 -0
  299. data/app/assets/images/love_monster/emoji/feet.png +0 -0
  300. data/app/assets/images/love_monster/emoji/ferris_wheel.png +0 -0
  301. data/app/assets/images/love_monster/emoji/file_folder.png +0 -0
  302. data/app/assets/images/love_monster/emoji/finnadie.png +0 -0
  303. data/app/assets/images/love_monster/emoji/fire.png +0 -0
  304. data/app/assets/images/love_monster/emoji/fire_engine.png +0 -0
  305. data/app/assets/images/love_monster/emoji/fireworks.png +0 -0
  306. data/app/assets/images/love_monster/emoji/first_quarter_moon.png +0 -0
  307. data/app/assets/images/love_monster/emoji/first_quarter_moon_with_face.png +0 -0
  308. data/app/assets/images/love_monster/emoji/fish.png +0 -0
  309. data/app/assets/images/love_monster/emoji/fish_cake.png +0 -0
  310. data/app/assets/images/love_monster/emoji/fishing_pole_and_fish.png +0 -0
  311. data/app/assets/images/love_monster/emoji/fist.png +0 -0
  312. data/app/assets/images/love_monster/emoji/five.png +0 -0
  313. data/app/assets/images/love_monster/emoji/flags.png +0 -0
  314. data/app/assets/images/love_monster/emoji/flashlight.png +0 -0
  315. data/app/assets/images/love_monster/emoji/floppy_disk.png +0 -0
  316. data/app/assets/images/love_monster/emoji/flower_playing_cards.png +0 -0
  317. data/app/assets/images/love_monster/emoji/flushed.png +0 -0
  318. data/app/assets/images/love_monster/emoji/foggy.png +0 -0
  319. data/app/assets/images/love_monster/emoji/football.png +0 -0
  320. data/app/assets/images/love_monster/emoji/fork_and_knife.png +0 -0
  321. data/app/assets/images/love_monster/emoji/fountain.png +0 -0
  322. data/app/assets/images/love_monster/emoji/four.png +0 -0
  323. data/app/assets/images/love_monster/emoji/four_leaf_clover.png +0 -0
  324. data/app/assets/images/love_monster/emoji/fr.png +0 -0
  325. data/app/assets/images/love_monster/emoji/free.png +0 -0
  326. data/app/assets/images/love_monster/emoji/fried_shrimp.png +0 -0
  327. data/app/assets/images/love_monster/emoji/fries.png +0 -0
  328. data/app/assets/images/love_monster/emoji/frog.png +0 -0
  329. data/app/assets/images/love_monster/emoji/frowning.png +0 -0
  330. data/app/assets/images/love_monster/emoji/fu.png +0 -0
  331. data/app/assets/images/love_monster/emoji/fuelpump.png +0 -0
  332. data/app/assets/images/love_monster/emoji/full_moon.png +0 -0
  333. data/app/assets/images/love_monster/emoji/full_moon_with_face.png +0 -0
  334. data/app/assets/images/love_monster/emoji/game_die.png +0 -0
  335. data/app/assets/images/love_monster/emoji/gb.png +0 -0
  336. data/app/assets/images/love_monster/emoji/gem.png +0 -0
  337. data/app/assets/images/love_monster/emoji/gemini.png +0 -0
  338. data/app/assets/images/love_monster/emoji/ghost.png +0 -0
  339. data/app/assets/images/love_monster/emoji/gift.png +0 -0
  340. data/app/assets/images/love_monster/emoji/gift_heart.png +0 -0
  341. data/app/assets/images/love_monster/emoji/girl.png +0 -0
  342. data/app/assets/images/love_monster/emoji/globe_with_meridians.png +0 -0
  343. data/app/assets/images/love_monster/emoji/goat.png +0 -0
  344. data/app/assets/images/love_monster/emoji/goberserk.png +0 -0
  345. data/app/assets/images/love_monster/emoji/godmode.png +0 -0
  346. data/app/assets/images/love_monster/emoji/golf.png +0 -0
  347. data/app/assets/images/love_monster/emoji/grapes.png +0 -0
  348. data/app/assets/images/love_monster/emoji/green_apple.png +0 -0
  349. data/app/assets/images/love_monster/emoji/green_book.png +0 -0
  350. data/app/assets/images/love_monster/emoji/green_heart.png +0 -0
  351. data/app/assets/images/love_monster/emoji/grey_exclamation.png +0 -0
  352. data/app/assets/images/love_monster/emoji/grey_question.png +0 -0
  353. data/app/assets/images/love_monster/emoji/grimacing.png +0 -0
  354. data/app/assets/images/love_monster/emoji/grin.png +0 -0
  355. data/app/assets/images/love_monster/emoji/grinning.png +0 -0
  356. data/app/assets/images/love_monster/emoji/guardsman.png +0 -0
  357. data/app/assets/images/love_monster/emoji/guitar.png +0 -0
  358. data/app/assets/images/love_monster/emoji/gun.png +0 -0
  359. data/app/assets/images/love_monster/emoji/haircut.png +0 -0
  360. data/app/assets/images/love_monster/emoji/hamburger.png +0 -0
  361. data/app/assets/images/love_monster/emoji/hammer.png +0 -0
  362. data/app/assets/images/love_monster/emoji/hamster.png +0 -0
  363. data/app/assets/images/love_monster/emoji/hand.png +0 -0
  364. data/app/assets/images/love_monster/emoji/handbag.png +0 -0
  365. data/app/assets/images/love_monster/emoji/hankey.png +0 -0
  366. data/app/assets/images/love_monster/emoji/hash.png +0 -0
  367. data/app/assets/images/love_monster/emoji/hatched_chick.png +0 -0
  368. data/app/assets/images/love_monster/emoji/hatching_chick.png +0 -0
  369. data/app/assets/images/love_monster/emoji/headphones.png +0 -0
  370. data/app/assets/images/love_monster/emoji/hear_no_evil.png +0 -0
  371. data/app/assets/images/love_monster/emoji/heart.png +0 -0
  372. data/app/assets/images/love_monster/emoji/heart_decoration.png +0 -0
  373. data/app/assets/images/love_monster/emoji/heart_eyes.png +0 -0
  374. data/app/assets/images/love_monster/emoji/heart_eyes_cat.png +0 -0
  375. data/app/assets/images/love_monster/emoji/heartbeat.png +0 -0
  376. data/app/assets/images/love_monster/emoji/heartpulse.png +0 -0
  377. data/app/assets/images/love_monster/emoji/hearts.png +0 -0
  378. data/app/assets/images/love_monster/emoji/heavy_check_mark.png +0 -0
  379. data/app/assets/images/love_monster/emoji/heavy_division_sign.png +0 -0
  380. data/app/assets/images/love_monster/emoji/heavy_dollar_sign.png +0 -0
  381. data/app/assets/images/love_monster/emoji/heavy_exclamation_mark.png +0 -0
  382. data/app/assets/images/love_monster/emoji/heavy_minus_sign.png +0 -0
  383. data/app/assets/images/love_monster/emoji/heavy_multiplication_x.png +0 -0
  384. data/app/assets/images/love_monster/emoji/heavy_plus_sign.png +0 -0
  385. data/app/assets/images/love_monster/emoji/helicopter.png +0 -0
  386. data/app/assets/images/love_monster/emoji/herb.png +0 -0
  387. data/app/assets/images/love_monster/emoji/hibiscus.png +0 -0
  388. data/app/assets/images/love_monster/emoji/high_brightness.png +0 -0
  389. data/app/assets/images/love_monster/emoji/high_heel.png +0 -0
  390. data/app/assets/images/love_monster/emoji/hocho.png +0 -0
  391. data/app/assets/images/love_monster/emoji/honey_pot.png +0 -0
  392. data/app/assets/images/love_monster/emoji/honeybee.png +0 -0
  393. data/app/assets/images/love_monster/emoji/horse.png +0 -0
  394. data/app/assets/images/love_monster/emoji/horse_racing.png +0 -0
  395. data/app/assets/images/love_monster/emoji/hospital.png +0 -0
  396. data/app/assets/images/love_monster/emoji/hotel.png +0 -0
  397. data/app/assets/images/love_monster/emoji/hotsprings.png +0 -0
  398. data/app/assets/images/love_monster/emoji/hourglass.png +0 -0
  399. data/app/assets/images/love_monster/emoji/hourglass_flowing_sand.png +0 -0
  400. data/app/assets/images/love_monster/emoji/house.png +0 -0
  401. data/app/assets/images/love_monster/emoji/house_with_garden.png +0 -0
  402. data/app/assets/images/love_monster/emoji/hurtrealbad.png +0 -0
  403. data/app/assets/images/love_monster/emoji/hushed.png +0 -0
  404. data/app/assets/images/love_monster/emoji/ice_cream.png +0 -0
  405. data/app/assets/images/love_monster/emoji/icecream.png +0 -0
  406. data/app/assets/images/love_monster/emoji/id.png +0 -0
  407. data/app/assets/images/love_monster/emoji/ideograph_advantage.png +0 -0
  408. data/app/assets/images/love_monster/emoji/imp.png +0 -0
  409. data/app/assets/images/love_monster/emoji/inbox_tray.png +0 -0
  410. data/app/assets/images/love_monster/emoji/incoming_envelope.png +0 -0
  411. data/app/assets/images/love_monster/emoji/information_desk_person.png +0 -0
  412. data/app/assets/images/love_monster/emoji/information_source.png +0 -0
  413. data/app/assets/images/love_monster/emoji/innocent.png +0 -0
  414. data/app/assets/images/love_monster/emoji/interrobang.png +0 -0
  415. data/app/assets/images/love_monster/emoji/iphone.png +0 -0
  416. data/app/assets/images/love_monster/emoji/it.png +0 -0
  417. data/app/assets/images/love_monster/emoji/izakaya_lantern.png +0 -0
  418. data/app/assets/images/love_monster/emoji/jack_o_lantern.png +0 -0
  419. data/app/assets/images/love_monster/emoji/japan.png +0 -0
  420. data/app/assets/images/love_monster/emoji/japanese_castle.png +0 -0
  421. data/app/assets/images/love_monster/emoji/japanese_goblin.png +0 -0
  422. data/app/assets/images/love_monster/emoji/japanese_ogre.png +0 -0
  423. data/app/assets/images/love_monster/emoji/jeans.png +0 -0
  424. data/app/assets/images/love_monster/emoji/joy.png +0 -0
  425. data/app/assets/images/love_monster/emoji/joy_cat.png +0 -0
  426. data/app/assets/images/love_monster/emoji/jp.png +0 -0
  427. data/app/assets/images/love_monster/emoji/key.png +0 -0
  428. data/app/assets/images/love_monster/emoji/keycap_ten.png +0 -0
  429. data/app/assets/images/love_monster/emoji/kimono.png +0 -0
  430. data/app/assets/images/love_monster/emoji/kiss.png +0 -0
  431. data/app/assets/images/love_monster/emoji/kissing.png +0 -0
  432. data/app/assets/images/love_monster/emoji/kissing_cat.png +0 -0
  433. data/app/assets/images/love_monster/emoji/kissing_closed_eyes.png +0 -0
  434. data/app/assets/images/love_monster/emoji/kissing_face.png +0 -0
  435. data/app/assets/images/love_monster/emoji/kissing_heart.png +0 -0
  436. data/app/assets/images/love_monster/emoji/kissing_smiling_eyes.png +0 -0
  437. data/app/assets/images/love_monster/emoji/koala.png +0 -0
  438. data/app/assets/images/love_monster/emoji/koko.png +0 -0
  439. data/app/assets/images/love_monster/emoji/kr.png +0 -0
  440. data/app/assets/images/love_monster/emoji/large_blue_circle.png +0 -0
  441. data/app/assets/images/love_monster/emoji/large_blue_diamond.png +0 -0
  442. data/app/assets/images/love_monster/emoji/large_orange_diamond.png +0 -0
  443. data/app/assets/images/love_monster/emoji/last_quarter_moon.png +0 -0
  444. data/app/assets/images/love_monster/emoji/last_quarter_moon_with_face.png +0 -0
  445. data/app/assets/images/love_monster/emoji/laughing.png +0 -0
  446. data/app/assets/images/love_monster/emoji/leaves.png +0 -0
  447. data/app/assets/images/love_monster/emoji/ledger.png +0 -0
  448. data/app/assets/images/love_monster/emoji/left_luggage.png +0 -0
  449. data/app/assets/images/love_monster/emoji/left_right_arrow.png +0 -0
  450. data/app/assets/images/love_monster/emoji/leftwards_arrow_with_hook.png +0 -0
  451. data/app/assets/images/love_monster/emoji/lemon.png +0 -0
  452. data/app/assets/images/love_monster/emoji/leo.png +0 -0
  453. data/app/assets/images/love_monster/emoji/leopard.png +0 -0
  454. data/app/assets/images/love_monster/emoji/libra.png +0 -0
  455. data/app/assets/images/love_monster/emoji/light_rail.png +0 -0
  456. data/app/assets/images/love_monster/emoji/link.png +0 -0
  457. data/app/assets/images/love_monster/emoji/lips.png +0 -0
  458. data/app/assets/images/love_monster/emoji/lipstick.png +0 -0
  459. data/app/assets/images/love_monster/emoji/lock.png +0 -0
  460. data/app/assets/images/love_monster/emoji/lock_with_ink_pen.png +0 -0
  461. data/app/assets/images/love_monster/emoji/lollipop.png +0 -0
  462. data/app/assets/images/love_monster/emoji/loop.png +0 -0
  463. data/app/assets/images/love_monster/emoji/loudspeaker.png +0 -0
  464. data/app/assets/images/love_monster/emoji/love_hotel.png +0 -0
  465. data/app/assets/images/love_monster/emoji/love_letter.png +0 -0
  466. data/app/assets/images/love_monster/emoji/low_brightness.png +0 -0
  467. data/app/assets/images/love_monster/emoji/m.png +0 -0
  468. data/app/assets/images/love_monster/emoji/mag.png +0 -0
  469. data/app/assets/images/love_monster/emoji/mag_right.png +0 -0
  470. data/app/assets/images/love_monster/emoji/mahjong.png +0 -0
  471. data/app/assets/images/love_monster/emoji/mailbox.png +0 -0
  472. data/app/assets/images/love_monster/emoji/mailbox_closed.png +0 -0
  473. data/app/assets/images/love_monster/emoji/mailbox_with_mail.png +0 -0
  474. data/app/assets/images/love_monster/emoji/mailbox_with_no_mail.png +0 -0
  475. data/app/assets/images/love_monster/emoji/man.png +0 -0
  476. data/app/assets/images/love_monster/emoji/man_with_gua_pi_mao.png +0 -0
  477. data/app/assets/images/love_monster/emoji/man_with_turban.png +0 -0
  478. data/app/assets/images/love_monster/emoji/mans_shoe.png +0 -0
  479. data/app/assets/images/love_monster/emoji/maple_leaf.png +0 -0
  480. data/app/assets/images/love_monster/emoji/mask.png +0 -0
  481. data/app/assets/images/love_monster/emoji/massage.png +0 -0
  482. data/app/assets/images/love_monster/emoji/meat_on_bone.png +0 -0
  483. data/app/assets/images/love_monster/emoji/mega.png +0 -0
  484. data/app/assets/images/love_monster/emoji/melon.png +0 -0
  485. data/app/assets/images/love_monster/emoji/memo.png +0 -0
  486. data/app/assets/images/love_monster/emoji/mens.png +0 -0
  487. data/app/assets/images/love_monster/emoji/metal.png +0 -0
  488. data/app/assets/images/love_monster/emoji/metro.png +0 -0
  489. data/app/assets/images/love_monster/emoji/microphone.png +0 -0
  490. data/app/assets/images/love_monster/emoji/microscope.png +0 -0
  491. data/app/assets/images/love_monster/emoji/milky_way.png +0 -0
  492. data/app/assets/images/love_monster/emoji/minibus.png +0 -0
  493. data/app/assets/images/love_monster/emoji/minidisc.png +0 -0
  494. data/app/assets/images/love_monster/emoji/mobile_phone_off.png +0 -0
  495. data/app/assets/images/love_monster/emoji/money_with_wings.png +0 -0
  496. data/app/assets/images/love_monster/emoji/moneybag.png +0 -0
  497. data/app/assets/images/love_monster/emoji/monkey.png +0 -0
  498. data/app/assets/images/love_monster/emoji/monkey_face.png +0 -0
  499. data/app/assets/images/love_monster/emoji/monorail.png +0 -0
  500. data/app/assets/images/love_monster/emoji/mortar_board.png +0 -0
  501. data/app/assets/images/love_monster/emoji/mount_fuji.png +0 -0
  502. data/app/assets/images/love_monster/emoji/mountain_bicyclist.png +0 -0
  503. data/app/assets/images/love_monster/emoji/mountain_cableway.png +0 -0
  504. data/app/assets/images/love_monster/emoji/mountain_railway.png +0 -0
  505. data/app/assets/images/love_monster/emoji/mouse.png +0 -0
  506. data/app/assets/images/love_monster/emoji/mouse2.png +0 -0
  507. data/app/assets/images/love_monster/emoji/movie_camera.png +0 -0
  508. data/app/assets/images/love_monster/emoji/moyai.png +0 -0
  509. data/app/assets/images/love_monster/emoji/muscle.png +0 -0
  510. data/app/assets/images/love_monster/emoji/mushroom.png +0 -0
  511. data/app/assets/images/love_monster/emoji/musical_keyboard.png +0 -0
  512. data/app/assets/images/love_monster/emoji/musical_note.png +0 -0
  513. data/app/assets/images/love_monster/emoji/musical_score.png +0 -0
  514. data/app/assets/images/love_monster/emoji/mute.png +0 -0
  515. data/app/assets/images/love_monster/emoji/nail_care.png +0 -0
  516. data/app/assets/images/love_monster/emoji/name_badge.png +0 -0
  517. data/app/assets/images/love_monster/emoji/neckbeard.png +0 -0
  518. data/app/assets/images/love_monster/emoji/necktie.png +0 -0
  519. data/app/assets/images/love_monster/emoji/negative_squared_cross_mark.png +0 -0
  520. data/app/assets/images/love_monster/emoji/neutral_face.png +0 -0
  521. data/app/assets/images/love_monster/emoji/new.png +0 -0
  522. data/app/assets/images/love_monster/emoji/new_moon.png +0 -0
  523. data/app/assets/images/love_monster/emoji/new_moon_with_face.png +0 -0
  524. data/app/assets/images/love_monster/emoji/newspaper.png +0 -0
  525. data/app/assets/images/love_monster/emoji/ng.png +0 -0
  526. data/app/assets/images/love_monster/emoji/nine.png +0 -0
  527. data/app/assets/images/love_monster/emoji/no_bell.png +0 -0
  528. data/app/assets/images/love_monster/emoji/no_bicycles.png +0 -0
  529. data/app/assets/images/love_monster/emoji/no_entry.png +0 -0
  530. data/app/assets/images/love_monster/emoji/no_entry_sign.png +0 -0
  531. data/app/assets/images/love_monster/emoji/no_good.png +0 -0
  532. data/app/assets/images/love_monster/emoji/no_mobile_phones.png +0 -0
  533. data/app/assets/images/love_monster/emoji/no_mouth.png +0 -0
  534. data/app/assets/images/love_monster/emoji/no_pedestrians.png +0 -0
  535. data/app/assets/images/love_monster/emoji/no_smoking.png +0 -0
  536. data/app/assets/images/love_monster/emoji/non-potable_water.png +0 -0
  537. data/app/assets/images/love_monster/emoji/nose.png +0 -0
  538. data/app/assets/images/love_monster/emoji/notebook.png +0 -0
  539. data/app/assets/images/love_monster/emoji/notebook_with_decorative_cover.png +0 -0
  540. data/app/assets/images/love_monster/emoji/notes.png +0 -0
  541. data/app/assets/images/love_monster/emoji/nut_and_bolt.png +0 -0
  542. data/app/assets/images/love_monster/emoji/o.png +0 -0
  543. data/app/assets/images/love_monster/emoji/o2.png +0 -0
  544. data/app/assets/images/love_monster/emoji/ocean.png +0 -0
  545. data/app/assets/images/love_monster/emoji/octocat.png +0 -0
  546. data/app/assets/images/love_monster/emoji/octopus.png +0 -0
  547. data/app/assets/images/love_monster/emoji/oden.png +0 -0
  548. data/app/assets/images/love_monster/emoji/office.png +0 -0
  549. data/app/assets/images/love_monster/emoji/ok.png +0 -0
  550. data/app/assets/images/love_monster/emoji/ok_hand.png +0 -0
  551. data/app/assets/images/love_monster/emoji/ok_woman.png +0 -0
  552. data/app/assets/images/love_monster/emoji/older_man.png +0 -0
  553. data/app/assets/images/love_monster/emoji/older_woman.png +0 -0
  554. data/app/assets/images/love_monster/emoji/on.png +0 -0
  555. data/app/assets/images/love_monster/emoji/oncoming_automobile.png +0 -0
  556. data/app/assets/images/love_monster/emoji/oncoming_bus.png +0 -0
  557. data/app/assets/images/love_monster/emoji/oncoming_police_car.png +0 -0
  558. data/app/assets/images/love_monster/emoji/oncoming_taxi.png +0 -0
  559. data/app/assets/images/love_monster/emoji/one.png +0 -0
  560. data/app/assets/images/love_monster/emoji/open_file_folder.png +0 -0
  561. data/app/assets/images/love_monster/emoji/open_hands.png +0 -0
  562. data/app/assets/images/love_monster/emoji/open_mouth.png +0 -0
  563. data/app/assets/images/love_monster/emoji/ophiuchus.png +0 -0
  564. data/app/assets/images/love_monster/emoji/orange_book.png +0 -0
  565. data/app/assets/images/love_monster/emoji/outbox_tray.png +0 -0
  566. data/app/assets/images/love_monster/emoji/ox.png +0 -0
  567. data/app/assets/images/love_monster/emoji/package.png +0 -0
  568. data/app/assets/images/love_monster/emoji/page_facing_up.png +0 -0
  569. data/app/assets/images/love_monster/emoji/page_with_curl.png +0 -0
  570. data/app/assets/images/love_monster/emoji/pager.png +0 -0
  571. data/app/assets/images/love_monster/emoji/palm_tree.png +0 -0
  572. data/app/assets/images/love_monster/emoji/panda_face.png +0 -0
  573. data/app/assets/images/love_monster/emoji/paperclip.png +0 -0
  574. data/app/assets/images/love_monster/emoji/parking.png +0 -0
  575. data/app/assets/images/love_monster/emoji/part_alternation_mark.png +0 -0
  576. data/app/assets/images/love_monster/emoji/partly_sunny.png +0 -0
  577. data/app/assets/images/love_monster/emoji/passport_control.png +0 -0
  578. data/app/assets/images/love_monster/emoji/paw_prints.png +0 -0
  579. data/app/assets/images/love_monster/emoji/peach.png +0 -0
  580. data/app/assets/images/love_monster/emoji/pear.png +0 -0
  581. data/app/assets/images/love_monster/emoji/pencil.png +0 -0
  582. data/app/assets/images/love_monster/emoji/pencil2.png +0 -0
  583. data/app/assets/images/love_monster/emoji/penguin.png +0 -0
  584. data/app/assets/images/love_monster/emoji/pensive.png +0 -0
  585. data/app/assets/images/love_monster/emoji/performing_arts.png +0 -0
  586. data/app/assets/images/love_monster/emoji/persevere.png +0 -0
  587. data/app/assets/images/love_monster/emoji/person_frowning.png +0 -0
  588. data/app/assets/images/love_monster/emoji/person_with_blond_hair.png +0 -0
  589. data/app/assets/images/love_monster/emoji/person_with_pouting_face.png +0 -0
  590. data/app/assets/images/love_monster/emoji/phone.png +0 -0
  591. data/app/assets/images/love_monster/emoji/pig.png +0 -0
  592. data/app/assets/images/love_monster/emoji/pig2.png +0 -0
  593. data/app/assets/images/love_monster/emoji/pig_nose.png +0 -0
  594. data/app/assets/images/love_monster/emoji/pill.png +0 -0
  595. data/app/assets/images/love_monster/emoji/pineapple.png +0 -0
  596. data/app/assets/images/love_monster/emoji/pisces.png +0 -0
  597. data/app/assets/images/love_monster/emoji/pizza.png +0 -0
  598. data/app/assets/images/love_monster/emoji/plus1.png +0 -0
  599. data/app/assets/images/love_monster/emoji/point_down.png +0 -0
  600. data/app/assets/images/love_monster/emoji/point_left.png +0 -0
  601. data/app/assets/images/love_monster/emoji/point_right.png +0 -0
  602. data/app/assets/images/love_monster/emoji/point_up.png +0 -0
  603. data/app/assets/images/love_monster/emoji/point_up_2.png +0 -0
  604. data/app/assets/images/love_monster/emoji/police_car.png +0 -0
  605. data/app/assets/images/love_monster/emoji/poodle.png +0 -0
  606. data/app/assets/images/love_monster/emoji/poop.png +0 -0
  607. data/app/assets/images/love_monster/emoji/post_office.png +0 -0
  608. data/app/assets/images/love_monster/emoji/postal_horn.png +0 -0
  609. data/app/assets/images/love_monster/emoji/postbox.png +0 -0
  610. data/app/assets/images/love_monster/emoji/potable_water.png +0 -0
  611. data/app/assets/images/love_monster/emoji/pouch.png +0 -0
  612. data/app/assets/images/love_monster/emoji/poultry_leg.png +0 -0
  613. data/app/assets/images/love_monster/emoji/pound.png +0 -0
  614. data/app/assets/images/love_monster/emoji/pouting_cat.png +0 -0
  615. data/app/assets/images/love_monster/emoji/pray.png +0 -0
  616. data/app/assets/images/love_monster/emoji/princess.png +0 -0
  617. data/app/assets/images/love_monster/emoji/punch.png +0 -0
  618. data/app/assets/images/love_monster/emoji/purple_heart.png +0 -0
  619. data/app/assets/images/love_monster/emoji/purse.png +0 -0
  620. data/app/assets/images/love_monster/emoji/pushpin.png +0 -0
  621. data/app/assets/images/love_monster/emoji/put_litter_in_its_place.png +0 -0
  622. data/app/assets/images/love_monster/emoji/question.png +0 -0
  623. data/app/assets/images/love_monster/emoji/rabbit.png +0 -0
  624. data/app/assets/images/love_monster/emoji/rabbit2.png +0 -0
  625. data/app/assets/images/love_monster/emoji/racehorse.png +0 -0
  626. data/app/assets/images/love_monster/emoji/radio.png +0 -0
  627. data/app/assets/images/love_monster/emoji/radio_button.png +0 -0
  628. data/app/assets/images/love_monster/emoji/rage.png +0 -0
  629. data/app/assets/images/love_monster/emoji/rage1.png +0 -0
  630. data/app/assets/images/love_monster/emoji/rage2.png +0 -0
  631. data/app/assets/images/love_monster/emoji/rage3.png +0 -0
  632. data/app/assets/images/love_monster/emoji/rage4.png +0 -0
  633. data/app/assets/images/love_monster/emoji/railway_car.png +0 -0
  634. data/app/assets/images/love_monster/emoji/rainbow.png +0 -0
  635. data/app/assets/images/love_monster/emoji/raised_hand.png +0 -0
  636. data/app/assets/images/love_monster/emoji/raised_hands.png +0 -0
  637. data/app/assets/images/love_monster/emoji/raising_hand.png +0 -0
  638. data/app/assets/images/love_monster/emoji/ram.png +0 -0
  639. data/app/assets/images/love_monster/emoji/ramen.png +0 -0
  640. data/app/assets/images/love_monster/emoji/rat.png +0 -0
  641. data/app/assets/images/love_monster/emoji/recycle.png +0 -0
  642. data/app/assets/images/love_monster/emoji/red_car.png +0 -0
  643. data/app/assets/images/love_monster/emoji/red_circle.png +0 -0
  644. data/app/assets/images/love_monster/emoji/registered.png +0 -0
  645. data/app/assets/images/love_monster/emoji/relaxed.png +0 -0
  646. data/app/assets/images/love_monster/emoji/relieved.png +0 -0
  647. data/app/assets/images/love_monster/emoji/repeat.png +0 -0
  648. data/app/assets/images/love_monster/emoji/repeat_one.png +0 -0
  649. data/app/assets/images/love_monster/emoji/restroom.png +0 -0
  650. data/app/assets/images/love_monster/emoji/revolving_hearts.png +0 -0
  651. data/app/assets/images/love_monster/emoji/rewind.png +0 -0
  652. data/app/assets/images/love_monster/emoji/ribbon.png +0 -0
  653. data/app/assets/images/love_monster/emoji/rice.png +0 -0
  654. data/app/assets/images/love_monster/emoji/rice_ball.png +0 -0
  655. data/app/assets/images/love_monster/emoji/rice_cracker.png +0 -0
  656. data/app/assets/images/love_monster/emoji/rice_scene.png +0 -0
  657. data/app/assets/images/love_monster/emoji/ring.png +0 -0
  658. data/app/assets/images/love_monster/emoji/rocket.png +0 -0
  659. data/app/assets/images/love_monster/emoji/roller_coaster.png +0 -0
  660. data/app/assets/images/love_monster/emoji/rooster.png +0 -0
  661. data/app/assets/images/love_monster/emoji/rose.png +0 -0
  662. data/app/assets/images/love_monster/emoji/rotating_light.png +0 -0
  663. data/app/assets/images/love_monster/emoji/round_pushpin.png +0 -0
  664. data/app/assets/images/love_monster/emoji/rowboat.png +0 -0
  665. data/app/assets/images/love_monster/emoji/ru.png +0 -0
  666. data/app/assets/images/love_monster/emoji/rugby_football.png +0 -0
  667. data/app/assets/images/love_monster/emoji/runner.png +0 -0
  668. data/app/assets/images/love_monster/emoji/running.png +0 -0
  669. data/app/assets/images/love_monster/emoji/running_shirt_with_sash.png +0 -0
  670. data/app/assets/images/love_monster/emoji/sa.png +0 -0
  671. data/app/assets/images/love_monster/emoji/sagittarius.png +0 -0
  672. data/app/assets/images/love_monster/emoji/sailboat.png +0 -0
  673. data/app/assets/images/love_monster/emoji/sake.png +0 -0
  674. data/app/assets/images/love_monster/emoji/sandal.png +0 -0
  675. data/app/assets/images/love_monster/emoji/santa.png +0 -0
  676. data/app/assets/images/love_monster/emoji/satellite.png +0 -0
  677. data/app/assets/images/love_monster/emoji/satisfied.png +0 -0
  678. data/app/assets/images/love_monster/emoji/saxophone.png +0 -0
  679. data/app/assets/images/love_monster/emoji/school.png +0 -0
  680. data/app/assets/images/love_monster/emoji/school_satchel.png +0 -0
  681. data/app/assets/images/love_monster/emoji/scissors.png +0 -0
  682. data/app/assets/images/love_monster/emoji/scorpius.png +0 -0
  683. data/app/assets/images/love_monster/emoji/scream.png +0 -0
  684. data/app/assets/images/love_monster/emoji/scream_cat.png +0 -0
  685. data/app/assets/images/love_monster/emoji/scroll.png +0 -0
  686. data/app/assets/images/love_monster/emoji/seat.png +0 -0
  687. data/app/assets/images/love_monster/emoji/secret.png +0 -0
  688. data/app/assets/images/love_monster/emoji/see_no_evil.png +0 -0
  689. data/app/assets/images/love_monster/emoji/seedling.png +0 -0
  690. data/app/assets/images/love_monster/emoji/seven.png +0 -0
  691. data/app/assets/images/love_monster/emoji/shaved_ice.png +0 -0
  692. data/app/assets/images/love_monster/emoji/sheep.png +0 -0
  693. data/app/assets/images/love_monster/emoji/shell.png +0 -0
  694. data/app/assets/images/love_monster/emoji/ship.png +0 -0
  695. data/app/assets/images/love_monster/emoji/shipit.png +0 -0
  696. data/app/assets/images/love_monster/emoji/shirt.png +0 -0
  697. data/app/assets/images/love_monster/emoji/shit.png +0 -0
  698. data/app/assets/images/love_monster/emoji/shoe.png +0 -0
  699. data/app/assets/images/love_monster/emoji/shower.png +0 -0
  700. data/app/assets/images/love_monster/emoji/signal_strength.png +0 -0
  701. data/app/assets/images/love_monster/emoji/six.png +0 -0
  702. data/app/assets/images/love_monster/emoji/six_pointed_star.png +0 -0
  703. data/app/assets/images/love_monster/emoji/ski.png +0 -0
  704. data/app/assets/images/love_monster/emoji/skull.png +0 -0
  705. data/app/assets/images/love_monster/emoji/sleeping.png +0 -0
  706. data/app/assets/images/love_monster/emoji/sleepy.png +0 -0
  707. data/app/assets/images/love_monster/emoji/slot_machine.png +0 -0
  708. data/app/assets/images/love_monster/emoji/small_blue_diamond.png +0 -0
  709. data/app/assets/images/love_monster/emoji/small_orange_diamond.png +0 -0
  710. data/app/assets/images/love_monster/emoji/small_red_triangle.png +0 -0
  711. data/app/assets/images/love_monster/emoji/small_red_triangle_down.png +0 -0
  712. data/app/assets/images/love_monster/emoji/smile.png +0 -0
  713. data/app/assets/images/love_monster/emoji/smile_cat.png +0 -0
  714. data/app/assets/images/love_monster/emoji/smiley.png +0 -0
  715. data/app/assets/images/love_monster/emoji/smiley_cat.png +0 -0
  716. data/app/assets/images/love_monster/emoji/smiling_imp.png +0 -0
  717. data/app/assets/images/love_monster/emoji/smirk.png +0 -0
  718. data/app/assets/images/love_monster/emoji/smirk_cat.png +0 -0
  719. data/app/assets/images/love_monster/emoji/smoking.png +0 -0
  720. data/app/assets/images/love_monster/emoji/snail.png +0 -0
  721. data/app/assets/images/love_monster/emoji/snake.png +0 -0
  722. data/app/assets/images/love_monster/emoji/snowboarder.png +0 -0
  723. data/app/assets/images/love_monster/emoji/snowflake.png +0 -0
  724. data/app/assets/images/love_monster/emoji/snowman.png +0 -0
  725. data/app/assets/images/love_monster/emoji/sob.png +0 -0
  726. data/app/assets/images/love_monster/emoji/soccer.png +0 -0
  727. data/app/assets/images/love_monster/emoji/soon.png +0 -0
  728. data/app/assets/images/love_monster/emoji/sos.png +0 -0
  729. data/app/assets/images/love_monster/emoji/sound.png +0 -0
  730. data/app/assets/images/love_monster/emoji/space_invader.png +0 -0
  731. data/app/assets/images/love_monster/emoji/spades.png +0 -0
  732. data/app/assets/images/love_monster/emoji/spaghetti.png +0 -0
  733. data/app/assets/images/love_monster/emoji/sparkle.png +0 -0
  734. data/app/assets/images/love_monster/emoji/sparkler.png +0 -0
  735. data/app/assets/images/love_monster/emoji/sparkles.png +0 -0
  736. data/app/assets/images/love_monster/emoji/sparkling_heart.png +0 -0
  737. data/app/assets/images/love_monster/emoji/speak_no_evil.png +0 -0
  738. data/app/assets/images/love_monster/emoji/speaker.png +0 -0
  739. data/app/assets/images/love_monster/emoji/speech_balloon.png +0 -0
  740. data/app/assets/images/love_monster/emoji/speedboat.png +0 -0
  741. data/app/assets/images/love_monster/emoji/squirrel.png +0 -0
  742. data/app/assets/images/love_monster/emoji/star.png +0 -0
  743. data/app/assets/images/love_monster/emoji/star2.png +0 -0
  744. data/app/assets/images/love_monster/emoji/stars.png +0 -0
  745. data/app/assets/images/love_monster/emoji/station.png +0 -0
  746. data/app/assets/images/love_monster/emoji/statue_of_liberty.png +0 -0
  747. data/app/assets/images/love_monster/emoji/steam_locomotive.png +0 -0
  748. data/app/assets/images/love_monster/emoji/stew.png +0 -0
  749. data/app/assets/images/love_monster/emoji/straight_ruler.png +0 -0
  750. data/app/assets/images/love_monster/emoji/strawberry.png +0 -0
  751. data/app/assets/images/love_monster/emoji/stuck_out_tongue.png +0 -0
  752. data/app/assets/images/love_monster/emoji/stuck_out_tongue_closed_eyes.png +0 -0
  753. data/app/assets/images/love_monster/emoji/stuck_out_tongue_winking_eye.png +0 -0
  754. data/app/assets/images/love_monster/emoji/sun_with_face.png +0 -0
  755. data/app/assets/images/love_monster/emoji/sunflower.png +0 -0
  756. data/app/assets/images/love_monster/emoji/sunglasses.png +0 -0
  757. data/app/assets/images/love_monster/emoji/sunny.png +0 -0
  758. data/app/assets/images/love_monster/emoji/sunrise.png +0 -0
  759. data/app/assets/images/love_monster/emoji/sunrise_over_mountains.png +0 -0
  760. data/app/assets/images/love_monster/emoji/surfer.png +0 -0
  761. data/app/assets/images/love_monster/emoji/sushi.png +0 -0
  762. data/app/assets/images/love_monster/emoji/suspect.png +0 -0
  763. data/app/assets/images/love_monster/emoji/suspension_railway.png +0 -0
  764. data/app/assets/images/love_monster/emoji/sweat.png +0 -0
  765. data/app/assets/images/love_monster/emoji/sweat_drops.png +0 -0
  766. data/app/assets/images/love_monster/emoji/sweat_smile.png +0 -0
  767. data/app/assets/images/love_monster/emoji/sweet_potato.png +0 -0
  768. data/app/assets/images/love_monster/emoji/swimmer.png +0 -0
  769. data/app/assets/images/love_monster/emoji/symbols.png +0 -0
  770. data/app/assets/images/love_monster/emoji/syringe.png +0 -0
  771. data/app/assets/images/love_monster/emoji/tada.png +0 -0
  772. data/app/assets/images/love_monster/emoji/tanabata_tree.png +0 -0
  773. data/app/assets/images/love_monster/emoji/tangerine.png +0 -0
  774. data/app/assets/images/love_monster/emoji/taurus.png +0 -0
  775. data/app/assets/images/love_monster/emoji/taxi.png +0 -0
  776. data/app/assets/images/love_monster/emoji/tea.png +0 -0
  777. data/app/assets/images/love_monster/emoji/telephone.png +0 -0
  778. data/app/assets/images/love_monster/emoji/telephone_receiver.png +0 -0
  779. data/app/assets/images/love_monster/emoji/telescope.png +0 -0
  780. data/app/assets/images/love_monster/emoji/tennis.png +0 -0
  781. data/app/assets/images/love_monster/emoji/tent.png +0 -0
  782. data/app/assets/images/love_monster/emoji/thought_balloon.png +0 -0
  783. data/app/assets/images/love_monster/emoji/three.png +0 -0
  784. data/app/assets/images/love_monster/emoji/thumbsdown.png +0 -0
  785. data/app/assets/images/love_monster/emoji/thumbsup.png +0 -0
  786. data/app/assets/images/love_monster/emoji/ticket.png +0 -0
  787. data/app/assets/images/love_monster/emoji/tiger.png +0 -0
  788. data/app/assets/images/love_monster/emoji/tiger2.png +0 -0
  789. data/app/assets/images/love_monster/emoji/tired_face.png +0 -0
  790. data/app/assets/images/love_monster/emoji/tm.png +0 -0
  791. data/app/assets/images/love_monster/emoji/toilet.png +0 -0
  792. data/app/assets/images/love_monster/emoji/tokyo_tower.png +0 -0
  793. data/app/assets/images/love_monster/emoji/tomato.png +0 -0
  794. data/app/assets/images/love_monster/emoji/tongue.png +0 -0
  795. data/app/assets/images/love_monster/emoji/top.png +0 -0
  796. data/app/assets/images/love_monster/emoji/tophat.png +0 -0
  797. data/app/assets/images/love_monster/emoji/tractor.png +0 -0
  798. data/app/assets/images/love_monster/emoji/traffic_light.png +0 -0
  799. data/app/assets/images/love_monster/emoji/train.png +0 -0
  800. data/app/assets/images/love_monster/emoji/train2.png +0 -0
  801. data/app/assets/images/love_monster/emoji/tram.png +0 -0
  802. data/app/assets/images/love_monster/emoji/triangular_flag_on_post.png +0 -0
  803. data/app/assets/images/love_monster/emoji/triangular_ruler.png +0 -0
  804. data/app/assets/images/love_monster/emoji/trident.png +0 -0
  805. data/app/assets/images/love_monster/emoji/triumph.png +0 -0
  806. data/app/assets/images/love_monster/emoji/trolleybus.png +0 -0
  807. data/app/assets/images/love_monster/emoji/trollface.png +0 -0
  808. data/app/assets/images/love_monster/emoji/trophy.png +0 -0
  809. data/app/assets/images/love_monster/emoji/tropical_drink.png +0 -0
  810. data/app/assets/images/love_monster/emoji/tropical_fish.png +0 -0
  811. data/app/assets/images/love_monster/emoji/truck.png +0 -0
  812. data/app/assets/images/love_monster/emoji/trumpet.png +0 -0
  813. data/app/assets/images/love_monster/emoji/tshirt.png +0 -0
  814. data/app/assets/images/love_monster/emoji/tulip.png +0 -0
  815. data/app/assets/images/love_monster/emoji/turtle.png +0 -0
  816. data/app/assets/images/love_monster/emoji/tv.png +0 -0
  817. data/app/assets/images/love_monster/emoji/twisted_rightwards_arrows.png +0 -0
  818. data/app/assets/images/love_monster/emoji/two.png +0 -0
  819. data/app/assets/images/love_monster/emoji/two_hearts.png +0 -0
  820. data/app/assets/images/love_monster/emoji/two_men_holding_hands.png +0 -0
  821. data/app/assets/images/love_monster/emoji/two_women_holding_hands.png +0 -0
  822. data/app/assets/images/love_monster/emoji/u5272.png +0 -0
  823. data/app/assets/images/love_monster/emoji/u5408.png +0 -0
  824. data/app/assets/images/love_monster/emoji/u55b6.png +0 -0
  825. data/app/assets/images/love_monster/emoji/u6307.png +0 -0
  826. data/app/assets/images/love_monster/emoji/u6708.png +0 -0
  827. data/app/assets/images/love_monster/emoji/u6709.png +0 -0
  828. data/app/assets/images/love_monster/emoji/u6e80.png +0 -0
  829. data/app/assets/images/love_monster/emoji/u7121.png +0 -0
  830. data/app/assets/images/love_monster/emoji/u7533.png +0 -0
  831. data/app/assets/images/love_monster/emoji/u7981.png +0 -0
  832. data/app/assets/images/love_monster/emoji/u7a7a.png +0 -0
  833. data/app/assets/images/love_monster/emoji/uk.png +0 -0
  834. data/app/assets/images/love_monster/emoji/umbrella.png +0 -0
  835. data/app/assets/images/love_monster/emoji/unamused.png +0 -0
  836. data/app/assets/images/love_monster/emoji/underage.png +0 -0
  837. data/app/assets/images/love_monster/emoji/unlock.png +0 -0
  838. data/app/assets/images/love_monster/emoji/up.png +0 -0
  839. data/app/assets/images/love_monster/emoji/us.png +0 -0
  840. data/app/assets/images/love_monster/emoji/v.png +0 -0
  841. data/app/assets/images/love_monster/emoji/vertical_traffic_light.png +0 -0
  842. data/app/assets/images/love_monster/emoji/vhs.png +0 -0
  843. data/app/assets/images/love_monster/emoji/vibration_mode.png +0 -0
  844. data/app/assets/images/love_monster/emoji/video_camera.png +0 -0
  845. data/app/assets/images/love_monster/emoji/video_game.png +0 -0
  846. data/app/assets/images/love_monster/emoji/violin.png +0 -0
  847. data/app/assets/images/love_monster/emoji/virgo.png +0 -0
  848. data/app/assets/images/love_monster/emoji/volcano.png +0 -0
  849. data/app/assets/images/love_monster/emoji/vs.png +0 -0
  850. data/app/assets/images/love_monster/emoji/walking.png +0 -0
  851. data/app/assets/images/love_monster/emoji/waning_crescent_moon.png +0 -0
  852. data/app/assets/images/love_monster/emoji/waning_gibbous_moon.png +0 -0
  853. data/app/assets/images/love_monster/emoji/warning.png +0 -0
  854. data/app/assets/images/love_monster/emoji/watch.png +0 -0
  855. data/app/assets/images/love_monster/emoji/water_buffalo.png +0 -0
  856. data/app/assets/images/love_monster/emoji/watermelon.png +0 -0
  857. data/app/assets/images/love_monster/emoji/wave.png +0 -0
  858. data/app/assets/images/love_monster/emoji/wavy_dash.png +0 -0
  859. data/app/assets/images/love_monster/emoji/waxing_crescent_moon.png +0 -0
  860. data/app/assets/images/love_monster/emoji/waxing_gibbous_moon.png +0 -0
  861. data/app/assets/images/love_monster/emoji/wc.png +0 -0
  862. data/app/assets/images/love_monster/emoji/weary.png +0 -0
  863. data/app/assets/images/love_monster/emoji/wedding.png +0 -0
  864. data/app/assets/images/love_monster/emoji/whale.png +0 -0
  865. data/app/assets/images/love_monster/emoji/whale2.png +0 -0
  866. data/app/assets/images/love_monster/emoji/wheelchair.png +0 -0
  867. data/app/assets/images/love_monster/emoji/white_check_mark.png +0 -0
  868. data/app/assets/images/love_monster/emoji/white_circle.png +0 -0
  869. data/app/assets/images/love_monster/emoji/white_flower.png +0 -0
  870. data/app/assets/images/love_monster/emoji/white_large_square.png +0 -0
  871. data/app/assets/images/love_monster/emoji/white_medium_small_square.png +0 -0
  872. data/app/assets/images/love_monster/emoji/white_medium_square.png +0 -0
  873. data/app/assets/images/love_monster/emoji/white_small_square.png +0 -0
  874. data/app/assets/images/love_monster/emoji/white_square_button.png +0 -0
  875. data/app/assets/images/love_monster/emoji/wind_chime.png +0 -0
  876. data/app/assets/images/love_monster/emoji/wine_glass.png +0 -0
  877. data/app/assets/images/love_monster/emoji/wink.png +0 -0
  878. data/app/assets/images/love_monster/emoji/wolf.png +0 -0
  879. data/app/assets/images/love_monster/emoji/woman.png +0 -0
  880. data/app/assets/images/love_monster/emoji/womans_clothes.png +0 -0
  881. data/app/assets/images/love_monster/emoji/womans_hat.png +0 -0
  882. data/app/assets/images/love_monster/emoji/womens.png +0 -0
  883. data/app/assets/images/love_monster/emoji/worried.png +0 -0
  884. data/app/assets/images/love_monster/emoji/wrench.png +0 -0
  885. data/app/assets/images/love_monster/emoji/x.png +0 -0
  886. data/app/assets/images/love_monster/emoji/yellow_heart.png +0 -0
  887. data/app/assets/images/love_monster/emoji/yen.png +0 -0
  888. data/app/assets/images/love_monster/emoji/yum.png +0 -0
  889. data/app/assets/images/love_monster/emoji/zap.png +0 -0
  890. data/app/assets/images/love_monster/emoji/zero.png +0 -0
  891. data/app/assets/images/love_monster/emoji/zzz.png +0 -0
  892. data/app/assets/javascripts/love_monster/application.js +17 -0
  893. data/app/assets/javascripts/love_monster/bootstrap.js +2363 -0
  894. data/app/assets/javascripts/love_monster/chosen.js +1257 -0
  895. data/app/assets/javascripts/love_monster/emojify.js +378 -0
  896. data/app/assets/javascripts/love_monster/emojis.js +166 -0
  897. data/app/assets/javascripts/love_monster/jquery.js +9210 -0
  898. data/app/assets/javascripts/love_monster/loves.js +56 -0
  899. data/app/assets/javascripts/love_monster/textcomplete.js +1215 -0
  900. data/app/assets/stylesheets/love_monster/application.css +23 -0
  901. data/app/assets/stylesheets/love_monster/bootstrap-chosen.css +346 -0
  902. data/app/assets/stylesheets/love_monster/bootstrap-theme.css +587 -0
  903. data/app/assets/stylesheets/love_monster/bootstrap.css.erb +6800 -0
  904. data/app/assets/stylesheets/love_monster/emojify.css +7 -0
  905. data/app/assets/stylesheets/love_monster/loves.css +4 -0
  906. data/app/assets/stylesheets/love_monster/textcomplete.css +33 -0
  907. data/app/assets/stylesheets/scaffold.css +56 -0
  908. data/app/controllers/love_monster/api/v1/people_controller.rb +7 -0
  909. data/app/controllers/love_monster/application_controller.rb +5 -0
  910. data/app/controllers/love_monster/likes_controller.rb +24 -0
  911. data/app/controllers/love_monster/loves_controller.rb +43 -0
  912. data/app/controllers/love_monster/people_controller.rb +13 -0
  913. data/app/helpers/love_monster/application_helper.rb +4 -0
  914. data/app/helpers/love_monster/loves_helper.rb +13 -0
  915. data/app/models/love_monster/like.rb +13 -0
  916. data/app/models/love_monster/love.rb +17 -0
  917. data/app/models/love_monster/person.rb +19 -0
  918. data/app/views/kaminari/_first_page.html.erb +3 -0
  919. data/app/views/kaminari/_gap.html.erb +3 -0
  920. data/app/views/kaminari/_last_page.html.erb +3 -0
  921. data/app/views/kaminari/_next_page.html.erb +3 -0
  922. data/app/views/kaminari/_page.html.erb +9 -0
  923. data/app/views/kaminari/_paginator.html.erb +15 -0
  924. data/app/views/kaminari/_prev_page.html.erb +3 -0
  925. data/app/views/love_monster/loves/_form.html.erb +37 -0
  926. data/app/views/love_monster/loves/_like_button.html.erb +3 -0
  927. data/app/views/love_monster/loves/_table.html.erb +24 -0
  928. data/app/views/love_monster/loves/index.html.erb +21 -0
  929. data/app/views/love_monster/people/show.html.erb +25 -0
  930. data/config/routes.rb +14 -0
  931. data/db/migrate/20150722155657_create_love_monster_people.rb +12 -0
  932. data/db/migrate/20150722155658_create_love_monster_loves.rb +13 -0
  933. data/db/migrate/20150724145323_create_love_monster_likes.rb +10 -0
  934. data/lib/love_monster/engine.rb +19 -0
  935. data/lib/love_monster/version.rb +3 -0
  936. data/lib/love_monster.rb +4 -0
  937. data/lib/tasks/love_tasks.rake +4 -0
  938. data/test/controllers/love_monster/loves_controller_test.rb +24 -0
  939. data/test/dummy/README.rdoc +28 -0
  940. data/test/dummy/Rakefile +6 -0
  941. data/test/dummy/app/assets/javascripts/application.js +13 -0
  942. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  943. data/test/dummy/app/controllers/application_controller.rb +5 -0
  944. data/test/dummy/app/helpers/application_helper.rb +2 -0
  945. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  946. data/test/dummy/bin/bundle +3 -0
  947. data/test/dummy/bin/rails +4 -0
  948. data/test/dummy/bin/rake +4 -0
  949. data/test/dummy/bin/setup +29 -0
  950. data/test/dummy/config/application.rb +26 -0
  951. data/test/dummy/config/boot.rb +5 -0
  952. data/test/dummy/config/database.yml +25 -0
  953. data/test/dummy/config/environment.rb +5 -0
  954. data/test/dummy/config/environments/development.rb +41 -0
  955. data/test/dummy/config/environments/production.rb +79 -0
  956. data/test/dummy/config/environments/test.rb +42 -0
  957. data/test/dummy/config/initializers/assets.rb +11 -0
  958. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  959. data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
  960. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  961. data/test/dummy/config/initializers/inflections.rb +16 -0
  962. data/test/dummy/config/initializers/mime_types.rb +4 -0
  963. data/test/dummy/config/initializers/session_store.rb +3 -0
  964. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  965. data/test/dummy/config/locales/en.yml +23 -0
  966. data/test/dummy/config/routes.rb +4 -0
  967. data/test/dummy/config/secrets.yml +22 -0
  968. data/test/dummy/config.ru +4 -0
  969. data/test/dummy/db/schema.rb +33 -0
  970. data/test/dummy/db/test.sqlite3 +0 -0
  971. data/test/dummy/log/test.log +8 -0
  972. data/test/dummy/public/404.html +67 -0
  973. data/test/dummy/public/422.html +67 -0
  974. data/test/dummy/public/500.html +66 -0
  975. data/test/dummy/public/favicon.ico +0 -0
  976. data/test/fixtures/love_monster/likes.yml +11 -0
  977. data/test/fixtures/love_monster/love.yml +15 -0
  978. data/test/fixtures/love_monster/users.yml +13 -0
  979. data/test/integration/navigation_test.rb +10 -0
  980. data/test/love_monster_test.rb +7 -0
  981. data/test/models/love_monster/like_test.rb +9 -0
  982. data/test/models/love_monster/love_test.rb +9 -0
  983. data/test/models/love_monster/user_test.rb +9 -0
  984. data/test/test_helper.rb +20 -0
  985. metadata +1122 -0
@@ -0,0 +1,1257 @@
1
+ /*!
2
+ Chosen, a Select Box Enhancer for jQuery and Prototype
3
+ by Patrick Filler for Harvest, http://getharvest.com
4
+
5
+ Version 1.4.2
6
+ Full source at https://github.com/harvesthq/chosen
7
+ Copyright (c) 2011-2015 Harvest http://getharvest.com
8
+
9
+ MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md
10
+ This file is generated by `grunt build`, do not edit it by hand.
11
+ */
12
+
13
+ (function() {
14
+ var $, AbstractChosen, Chosen, SelectParser, _ref,
15
+ __hasProp = {}.hasOwnProperty,
16
+ __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
17
+
18
+ SelectParser = (function() {
19
+ function SelectParser() {
20
+ this.options_index = 0;
21
+ this.parsed = [];
22
+ }
23
+
24
+ SelectParser.prototype.add_node = function(child) {
25
+ if (child.nodeName.toUpperCase() === "OPTGROUP") {
26
+ return this.add_group(child);
27
+ } else {
28
+ return this.add_option(child);
29
+ }
30
+ };
31
+
32
+ SelectParser.prototype.add_group = function(group) {
33
+ var group_position, option, _i, _len, _ref, _results;
34
+ group_position = this.parsed.length;
35
+ this.parsed.push({
36
+ array_index: group_position,
37
+ group: true,
38
+ label: this.escapeExpression(group.label),
39
+ title: group.title ? group.title : void 0,
40
+ children: 0,
41
+ disabled: group.disabled,
42
+ classes: group.className
43
+ });
44
+ _ref = group.childNodes;
45
+ _results = [];
46
+ for (_i = 0, _len = _ref.length; _i < _len; _i++) {
47
+ option = _ref[_i];
48
+ _results.push(this.add_option(option, group_position, group.disabled));
49
+ }
50
+ return _results;
51
+ };
52
+
53
+ SelectParser.prototype.add_option = function(option, group_position, group_disabled) {
54
+ if (option.nodeName.toUpperCase() === "OPTION") {
55
+ if (option.text !== "") {
56
+ if (group_position != null) {
57
+ this.parsed[group_position].children += 1;
58
+ }
59
+ this.parsed.push({
60
+ array_index: this.parsed.length,
61
+ options_index: this.options_index,
62
+ value: option.value,
63
+ text: option.text,
64
+ html: option.innerHTML,
65
+ title: option.title ? option.title : void 0,
66
+ selected: option.selected,
67
+ disabled: group_disabled === true ? group_disabled : option.disabled,
68
+ group_array_index: group_position,
69
+ group_label: group_position != null ? this.parsed[group_position].label : null,
70
+ classes: option.className,
71
+ style: option.style.cssText
72
+ });
73
+ } else {
74
+ this.parsed.push({
75
+ array_index: this.parsed.length,
76
+ options_index: this.options_index,
77
+ empty: true
78
+ });
79
+ }
80
+ return this.options_index += 1;
81
+ }
82
+ };
83
+
84
+ SelectParser.prototype.escapeExpression = function(text) {
85
+ var map, unsafe_chars;
86
+ if ((text == null) || text === false) {
87
+ return "";
88
+ }
89
+ if (!/[\&\<\>\"\'\`]/.test(text)) {
90
+ return text;
91
+ }
92
+ map = {
93
+ "<": "&lt;",
94
+ ">": "&gt;",
95
+ '"': "&quot;",
96
+ "'": "&#x27;",
97
+ "`": "&#x60;"
98
+ };
99
+ unsafe_chars = /&(?!\w+;)|[\<\>\"\'\`]/g;
100
+ return text.replace(unsafe_chars, function(chr) {
101
+ return map[chr] || "&amp;";
102
+ });
103
+ };
104
+
105
+ return SelectParser;
106
+
107
+ })();
108
+
109
+ SelectParser.select_to_array = function(select) {
110
+ var child, parser, _i, _len, _ref;
111
+ parser = new SelectParser();
112
+ _ref = select.childNodes;
113
+ for (_i = 0, _len = _ref.length; _i < _len; _i++) {
114
+ child = _ref[_i];
115
+ parser.add_node(child);
116
+ }
117
+ return parser.parsed;
118
+ };
119
+
120
+ AbstractChosen = (function() {
121
+ function AbstractChosen(form_field, options) {
122
+ this.form_field = form_field;
123
+ this.options = options != null ? options : {};
124
+ if (!AbstractChosen.browser_is_supported()) {
125
+ return;
126
+ }
127
+ this.is_multiple = this.form_field.multiple;
128
+ this.set_default_text();
129
+ this.set_default_values();
130
+ this.setup();
131
+ this.set_up_html();
132
+ this.register_observers();
133
+ this.on_ready();
134
+ }
135
+
136
+ AbstractChosen.prototype.set_default_values = function() {
137
+ var _this = this;
138
+ this.click_test_action = function(evt) {
139
+ return _this.test_active_click(evt);
140
+ };
141
+ this.activate_action = function(evt) {
142
+ return _this.activate_field(evt);
143
+ };
144
+ this.active_field = false;
145
+ this.mouse_on_container = false;
146
+ this.results_showing = false;
147
+ this.result_highlighted = null;
148
+ this.allow_single_deselect = (this.options.allow_single_deselect != null) && (this.form_field.options[0] != null) && this.form_field.options[0].text === "" ? this.options.allow_single_deselect : false;
149
+ this.disable_search_threshold = this.options.disable_search_threshold || 0;
150
+ this.disable_search = this.options.disable_search || false;
151
+ this.enable_split_word_search = this.options.enable_split_word_search != null ? this.options.enable_split_word_search : true;
152
+ this.group_search = this.options.group_search != null ? this.options.group_search : true;
153
+ this.search_contains = this.options.search_contains || false;
154
+ this.single_backstroke_delete = this.options.single_backstroke_delete != null ? this.options.single_backstroke_delete : true;
155
+ this.max_selected_options = this.options.max_selected_options || Infinity;
156
+ this.inherit_select_classes = this.options.inherit_select_classes || false;
157
+ this.display_selected_options = this.options.display_selected_options != null ? this.options.display_selected_options : true;
158
+ this.display_disabled_options = this.options.display_disabled_options != null ? this.options.display_disabled_options : true;
159
+ return this.include_group_label_in_selected = this.options.include_group_label_in_selected || false;
160
+ };
161
+
162
+ AbstractChosen.prototype.set_default_text = function() {
163
+ if (this.form_field.getAttribute("data-placeholder")) {
164
+ this.default_text = this.form_field.getAttribute("data-placeholder");
165
+ } else if (this.is_multiple) {
166
+ this.default_text = this.options.placeholder_text_multiple || this.options.placeholder_text || AbstractChosen.default_multiple_text;
167
+ } else {
168
+ this.default_text = this.options.placeholder_text_single || this.options.placeholder_text || AbstractChosen.default_single_text;
169
+ }
170
+ return this.results_none_found = this.form_field.getAttribute("data-no_results_text") || this.options.no_results_text || AbstractChosen.default_no_result_text;
171
+ };
172
+
173
+ AbstractChosen.prototype.choice_label = function(item) {
174
+ if (this.include_group_label_in_selected && (item.group_label != null)) {
175
+ return "<b class='group-name'>" + item.group_label + "</b>" + item.html;
176
+ } else {
177
+ return item.html;
178
+ }
179
+ };
180
+
181
+ AbstractChosen.prototype.mouse_enter = function() {
182
+ return this.mouse_on_container = true;
183
+ };
184
+
185
+ AbstractChosen.prototype.mouse_leave = function() {
186
+ return this.mouse_on_container = false;
187
+ };
188
+
189
+ AbstractChosen.prototype.input_focus = function(evt) {
190
+ var _this = this;
191
+ if (this.is_multiple) {
192
+ if (!this.active_field) {
193
+ return setTimeout((function() {
194
+ return _this.container_mousedown();
195
+ }), 50);
196
+ }
197
+ } else {
198
+ if (!this.active_field) {
199
+ return this.activate_field();
200
+ }
201
+ }
202
+ };
203
+
204
+ AbstractChosen.prototype.input_blur = function(evt) {
205
+ var _this = this;
206
+ if (!this.mouse_on_container) {
207
+ this.active_field = false;
208
+ return setTimeout((function() {
209
+ return _this.blur_test();
210
+ }), 100);
211
+ }
212
+ };
213
+
214
+ AbstractChosen.prototype.results_option_build = function(options) {
215
+ var content, data, _i, _len, _ref;
216
+ content = '';
217
+ _ref = this.results_data;
218
+ for (_i = 0, _len = _ref.length; _i < _len; _i++) {
219
+ data = _ref[_i];
220
+ if (data.group) {
221
+ content += this.result_add_group(data);
222
+ } else {
223
+ content += this.result_add_option(data);
224
+ }
225
+ if (options != null ? options.first : void 0) {
226
+ if (data.selected && this.is_multiple) {
227
+ this.choice_build(data);
228
+ } else if (data.selected && !this.is_multiple) {
229
+ this.single_set_selected_text(this.choice_label(data));
230
+ }
231
+ }
232
+ }
233
+ return content;
234
+ };
235
+
236
+ AbstractChosen.prototype.result_add_option = function(option) {
237
+ var classes, option_el;
238
+ if (!option.search_match) {
239
+ return '';
240
+ }
241
+ if (!this.include_option_in_results(option)) {
242
+ return '';
243
+ }
244
+ classes = [];
245
+ if (!option.disabled && !(option.selected && this.is_multiple)) {
246
+ classes.push("active-result");
247
+ }
248
+ if (option.disabled && !(option.selected && this.is_multiple)) {
249
+ classes.push("disabled-result");
250
+ }
251
+ if (option.selected) {
252
+ classes.push("result-selected");
253
+ }
254
+ if (option.group_array_index != null) {
255
+ classes.push("group-option");
256
+ }
257
+ if (option.classes !== "") {
258
+ classes.push(option.classes);
259
+ }
260
+ option_el = document.createElement("li");
261
+ option_el.className = classes.join(" ");
262
+ option_el.style.cssText = option.style;
263
+ option_el.setAttribute("data-option-array-index", option.array_index);
264
+ option_el.innerHTML = option.search_text;
265
+ if (option.title) {
266
+ option_el.title = option.title;
267
+ }
268
+ return this.outerHTML(option_el);
269
+ };
270
+
271
+ AbstractChosen.prototype.result_add_group = function(group) {
272
+ var classes, group_el;
273
+ if (!(group.search_match || group.group_match)) {
274
+ return '';
275
+ }
276
+ if (!(group.active_options > 0)) {
277
+ return '';
278
+ }
279
+ classes = [];
280
+ classes.push("group-result");
281
+ if (group.classes) {
282
+ classes.push(group.classes);
283
+ }
284
+ group_el = document.createElement("li");
285
+ group_el.className = classes.join(" ");
286
+ group_el.innerHTML = group.search_text;
287
+ if (group.title) {
288
+ group_el.title = group.title;
289
+ }
290
+ return this.outerHTML(group_el);
291
+ };
292
+
293
+ AbstractChosen.prototype.results_update_field = function() {
294
+ this.set_default_text();
295
+ if (!this.is_multiple) {
296
+ this.results_reset_cleanup();
297
+ }
298
+ this.result_clear_highlight();
299
+ this.results_build();
300
+ if (this.results_showing) {
301
+ return this.winnow_results();
302
+ }
303
+ };
304
+
305
+ AbstractChosen.prototype.reset_single_select_options = function() {
306
+ var result, _i, _len, _ref, _results;
307
+ _ref = this.results_data;
308
+ _results = [];
309
+ for (_i = 0, _len = _ref.length; _i < _len; _i++) {
310
+ result = _ref[_i];
311
+ if (result.selected) {
312
+ _results.push(result.selected = false);
313
+ } else {
314
+ _results.push(void 0);
315
+ }
316
+ }
317
+ return _results;
318
+ };
319
+
320
+ AbstractChosen.prototype.results_toggle = function() {
321
+ if (this.results_showing) {
322
+ return this.results_hide();
323
+ } else {
324
+ return this.results_show();
325
+ }
326
+ };
327
+
328
+ AbstractChosen.prototype.results_search = function(evt) {
329
+ if (this.results_showing) {
330
+ return this.winnow_results();
331
+ } else {
332
+ return this.results_show();
333
+ }
334
+ };
335
+
336
+ AbstractChosen.prototype.winnow_results = function() {
337
+ var escapedSearchText, option, regex, results, results_group, searchText, startpos, text, zregex, _i, _len, _ref;
338
+ this.no_results_clear();
339
+ results = 0;
340
+ searchText = this.get_search_text();
341
+ escapedSearchText = searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
342
+ zregex = new RegExp(escapedSearchText, 'i');
343
+ regex = this.get_search_regex(escapedSearchText);
344
+ _ref = this.results_data;
345
+ for (_i = 0, _len = _ref.length; _i < _len; _i++) {
346
+ option = _ref[_i];
347
+ option.search_match = false;
348
+ results_group = null;
349
+ if (this.include_option_in_results(option)) {
350
+ if (option.group) {
351
+ option.group_match = false;
352
+ option.active_options = 0;
353
+ }
354
+ if ((option.group_array_index != null) && this.results_data[option.group_array_index]) {
355
+ results_group = this.results_data[option.group_array_index];
356
+ if (results_group.active_options === 0 && results_group.search_match) {
357
+ results += 1;
358
+ }
359
+ results_group.active_options += 1;
360
+ }
361
+ option.search_text = option.group ? option.label : option.html;
362
+ if (!(option.group && !this.group_search)) {
363
+ option.search_match = this.search_string_match(option.search_text, regex);
364
+ if (option.search_match && !option.group) {
365
+ results += 1;
366
+ }
367
+ if (option.search_match) {
368
+ if (searchText.length) {
369
+ startpos = option.search_text.search(zregex);
370
+ text = option.search_text.substr(0, startpos + searchText.length) + '</em>' + option.search_text.substr(startpos + searchText.length);
371
+ option.search_text = text.substr(0, startpos) + '<em>' + text.substr(startpos);
372
+ }
373
+ if (results_group != null) {
374
+ results_group.group_match = true;
375
+ }
376
+ } else if ((option.group_array_index != null) && this.results_data[option.group_array_index].search_match) {
377
+ option.search_match = true;
378
+ }
379
+ }
380
+ }
381
+ }
382
+ this.result_clear_highlight();
383
+ if (results < 1 && searchText.length) {
384
+ this.update_results_content("");
385
+ return this.no_results(searchText);
386
+ } else {
387
+ this.update_results_content(this.results_option_build());
388
+ return this.winnow_results_set_highlight();
389
+ }
390
+ };
391
+
392
+ AbstractChosen.prototype.get_search_regex = function(escaped_search_string) {
393
+ var regex_anchor;
394
+ regex_anchor = this.search_contains ? "" : "^";
395
+ return new RegExp(regex_anchor + escaped_search_string, 'i');
396
+ };
397
+
398
+ AbstractChosen.prototype.search_string_match = function(search_string, regex) {
399
+ var part, parts, _i, _len;
400
+ if (regex.test(search_string)) {
401
+ return true;
402
+ } else if (this.enable_split_word_search && (search_string.indexOf(" ") >= 0 || search_string.indexOf("[") === 0)) {
403
+ parts = search_string.replace(/\[|\]/g, "").split(" ");
404
+ if (parts.length) {
405
+ for (_i = 0, _len = parts.length; _i < _len; _i++) {
406
+ part = parts[_i];
407
+ if (regex.test(part)) {
408
+ return true;
409
+ }
410
+ }
411
+ }
412
+ }
413
+ };
414
+
415
+ AbstractChosen.prototype.choices_count = function() {
416
+ var option, _i, _len, _ref;
417
+ if (this.selected_option_count != null) {
418
+ return this.selected_option_count;
419
+ }
420
+ this.selected_option_count = 0;
421
+ _ref = this.form_field.options;
422
+ for (_i = 0, _len = _ref.length; _i < _len; _i++) {
423
+ option = _ref[_i];
424
+ if (option.selected) {
425
+ this.selected_option_count += 1;
426
+ }
427
+ }
428
+ return this.selected_option_count;
429
+ };
430
+
431
+ AbstractChosen.prototype.choices_click = function(evt) {
432
+ evt.preventDefault();
433
+ if (!(this.results_showing || this.is_disabled)) {
434
+ return this.results_show();
435
+ }
436
+ };
437
+
438
+ AbstractChosen.prototype.keyup_checker = function(evt) {
439
+ var stroke, _ref;
440
+ stroke = (_ref = evt.which) != null ? _ref : evt.keyCode;
441
+ this.search_field_scale();
442
+ switch (stroke) {
443
+ case 8:
444
+ if (this.is_multiple && this.backstroke_length < 1 && this.choices_count() > 0) {
445
+ return this.keydown_backstroke();
446
+ } else if (!this.pending_backstroke) {
447
+ this.result_clear_highlight();
448
+ return this.results_search();
449
+ }
450
+ break;
451
+ case 13:
452
+ evt.preventDefault();
453
+ if (this.results_showing) {
454
+ return this.result_select(evt);
455
+ }
456
+ break;
457
+ case 27:
458
+ if (this.results_showing) {
459
+ this.results_hide();
460
+ }
461
+ return true;
462
+ case 9:
463
+ case 38:
464
+ case 40:
465
+ case 16:
466
+ case 91:
467
+ case 17:
468
+ break;
469
+ default:
470
+ return this.results_search();
471
+ }
472
+ };
473
+
474
+ AbstractChosen.prototype.clipboard_event_checker = function(evt) {
475
+ var _this = this;
476
+ return setTimeout((function() {
477
+ return _this.results_search();
478
+ }), 50);
479
+ };
480
+
481
+ AbstractChosen.prototype.container_width = function() {
482
+ if (this.options.width != null) {
483
+ return this.options.width;
484
+ } else {
485
+ return "" + this.form_field.offsetWidth + "px";
486
+ }
487
+ };
488
+
489
+ AbstractChosen.prototype.include_option_in_results = function(option) {
490
+ if (this.is_multiple && (!this.display_selected_options && option.selected)) {
491
+ return false;
492
+ }
493
+ if (!this.display_disabled_options && option.disabled) {
494
+ return false;
495
+ }
496
+ if (option.empty) {
497
+ return false;
498
+ }
499
+ return true;
500
+ };
501
+
502
+ AbstractChosen.prototype.search_results_touchstart = function(evt) {
503
+ this.touch_started = true;
504
+ return this.search_results_mouseover(evt);
505
+ };
506
+
507
+ AbstractChosen.prototype.search_results_touchmove = function(evt) {
508
+ this.touch_started = false;
509
+ return this.search_results_mouseout(evt);
510
+ };
511
+
512
+ AbstractChosen.prototype.search_results_touchend = function(evt) {
513
+ if (this.touch_started) {
514
+ return this.search_results_mouseup(evt);
515
+ }
516
+ };
517
+
518
+ AbstractChosen.prototype.outerHTML = function(element) {
519
+ var tmp;
520
+ if (element.outerHTML) {
521
+ return element.outerHTML;
522
+ }
523
+ tmp = document.createElement("div");
524
+ tmp.appendChild(element);
525
+ return tmp.innerHTML;
526
+ };
527
+
528
+ AbstractChosen.browser_is_supported = function() {
529
+ if (window.navigator.appName === "Microsoft Internet Explorer") {
530
+ return document.documentMode >= 8;
531
+ }
532
+ if (/iP(od|hone)/i.test(window.navigator.userAgent)) {
533
+ return false;
534
+ }
535
+ if (/Android/i.test(window.navigator.userAgent)) {
536
+ if (/Mobile/i.test(window.navigator.userAgent)) {
537
+ return false;
538
+ }
539
+ }
540
+ return true;
541
+ };
542
+
543
+ AbstractChosen.default_multiple_text = "Select Some Options";
544
+
545
+ AbstractChosen.default_single_text = "Select an Option";
546
+
547
+ AbstractChosen.default_no_result_text = "No results match";
548
+
549
+ return AbstractChosen;
550
+
551
+ })();
552
+
553
+ $ = jQuery;
554
+
555
+ $.fn.extend({
556
+ chosen: function(options) {
557
+ if (!AbstractChosen.browser_is_supported()) {
558
+ return this;
559
+ }
560
+ return this.each(function(input_field) {
561
+ var $this, chosen;
562
+ $this = $(this);
563
+ chosen = $this.data('chosen');
564
+ if (options === 'destroy' && chosen instanceof Chosen) {
565
+ chosen.destroy();
566
+ } else if (!(chosen instanceof Chosen)) {
567
+ $this.data('chosen', new Chosen(this, options));
568
+ }
569
+ });
570
+ }
571
+ });
572
+
573
+ Chosen = (function(_super) {
574
+ __extends(Chosen, _super);
575
+
576
+ function Chosen() {
577
+ _ref = Chosen.__super__.constructor.apply(this, arguments);
578
+ return _ref;
579
+ }
580
+
581
+ Chosen.prototype.setup = function() {
582
+ this.form_field_jq = $(this.form_field);
583
+ this.current_selectedIndex = this.form_field.selectedIndex;
584
+ return this.is_rtl = this.form_field_jq.hasClass("chosen-rtl");
585
+ };
586
+
587
+ Chosen.prototype.set_up_html = function() {
588
+ var container_classes, container_props;
589
+ container_classes = ["chosen-container"];
590
+ container_classes.push("chosen-container-" + (this.is_multiple ? "multi" : "single"));
591
+ if (this.inherit_select_classes && this.form_field.className) {
592
+ container_classes.push(this.form_field.className);
593
+ }
594
+ if (this.is_rtl) {
595
+ container_classes.push("chosen-rtl");
596
+ }
597
+ container_props = {
598
+ 'class': container_classes.join(' '),
599
+ 'style': "width: " + (this.container_width()) + ";",
600
+ 'title': this.form_field.title
601
+ };
602
+ if (this.form_field.id.length) {
603
+ container_props.id = this.form_field.id.replace(/[^\w]/g, '_') + "_chosen";
604
+ }
605
+ this.container = $("<div />", container_props);
606
+ if (this.is_multiple) {
607
+ this.container.html('<ul class="chosen-choices"><li class="search-field"><input type="text" value="' + this.default_text + '" class="default" autocomplete="off" style="width:25px;" /></li></ul><div class="chosen-drop"><ul class="chosen-results"></ul></div>');
608
+ } else {
609
+ this.container.html('<a class="chosen-single chosen-default" tabindex="-1"><span>' + this.default_text + '</span><div><b></b></div></a><div class="chosen-drop"><div class="chosen-search"><input type="text" autocomplete="off" /></div><ul class="chosen-results"></ul></div>');
610
+ }
611
+ this.form_field_jq.hide().after(this.container);
612
+ this.dropdown = this.container.find('div.chosen-drop').first();
613
+ this.search_field = this.container.find('input').first();
614
+ this.search_results = this.container.find('ul.chosen-results').first();
615
+ this.search_field_scale();
616
+ this.search_no_results = this.container.find('li.no-results').first();
617
+ if (this.is_multiple) {
618
+ this.search_choices = this.container.find('ul.chosen-choices').first();
619
+ this.search_container = this.container.find('li.search-field').first();
620
+ } else {
621
+ this.search_container = this.container.find('div.chosen-search').first();
622
+ this.selected_item = this.container.find('.chosen-single').first();
623
+ }
624
+ this.results_build();
625
+ this.set_tab_index();
626
+ return this.set_label_behavior();
627
+ };
628
+
629
+ Chosen.prototype.on_ready = function() {
630
+ return this.form_field_jq.trigger("chosen:ready", {
631
+ chosen: this
632
+ });
633
+ };
634
+
635
+ Chosen.prototype.register_observers = function() {
636
+ var _this = this;
637
+ this.container.bind('touchstart.chosen', function(evt) {
638
+ _this.container_mousedown(evt);
639
+ return evt.preventDefault();
640
+ });
641
+ this.container.bind('touchend.chosen', function(evt) {
642
+ _this.container_mouseup(evt);
643
+ return evt.preventDefault();
644
+ });
645
+ this.container.bind('mousedown.chosen', function(evt) {
646
+ _this.container_mousedown(evt);
647
+ });
648
+ this.container.bind('mouseup.chosen', function(evt) {
649
+ _this.container_mouseup(evt);
650
+ });
651
+ this.container.bind('mouseenter.chosen', function(evt) {
652
+ _this.mouse_enter(evt);
653
+ });
654
+ this.container.bind('mouseleave.chosen', function(evt) {
655
+ _this.mouse_leave(evt);
656
+ });
657
+ this.search_results.bind('mouseup.chosen', function(evt) {
658
+ _this.search_results_mouseup(evt);
659
+ });
660
+ this.search_results.bind('mouseover.chosen', function(evt) {
661
+ _this.search_results_mouseover(evt);
662
+ });
663
+ this.search_results.bind('mouseout.chosen', function(evt) {
664
+ _this.search_results_mouseout(evt);
665
+ });
666
+ this.search_results.bind('mousewheel.chosen DOMMouseScroll.chosen', function(evt) {
667
+ _this.search_results_mousewheel(evt);
668
+ });
669
+ this.search_results.bind('touchstart.chosen', function(evt) {
670
+ _this.search_results_touchstart(evt);
671
+ });
672
+ this.search_results.bind('touchmove.chosen', function(evt) {
673
+ _this.search_results_touchmove(evt);
674
+ });
675
+ this.search_results.bind('touchend.chosen', function(evt) {
676
+ _this.search_results_touchend(evt);
677
+ });
678
+ this.form_field_jq.bind("chosen:updated.chosen", function(evt) {
679
+ _this.results_update_field(evt);
680
+ });
681
+ this.form_field_jq.bind("chosen:activate.chosen", function(evt) {
682
+ _this.activate_field(evt);
683
+ });
684
+ this.form_field_jq.bind("chosen:open.chosen", function(evt) {
685
+ _this.container_mousedown(evt);
686
+ });
687
+ this.form_field_jq.bind("chosen:close.chosen", function(evt) {
688
+ _this.input_blur(evt);
689
+ });
690
+ this.search_field.bind('blur.chosen', function(evt) {
691
+ _this.input_blur(evt);
692
+ });
693
+ this.search_field.bind('keyup.chosen', function(evt) {
694
+ _this.keyup_checker(evt);
695
+ });
696
+ this.search_field.bind('keydown.chosen', function(evt) {
697
+ _this.keydown_checker(evt);
698
+ });
699
+ this.search_field.bind('focus.chosen', function(evt) {
700
+ _this.input_focus(evt);
701
+ });
702
+ this.search_field.bind('cut.chosen', function(evt) {
703
+ _this.clipboard_event_checker(evt);
704
+ });
705
+ this.search_field.bind('paste.chosen', function(evt) {
706
+ _this.clipboard_event_checker(evt);
707
+ });
708
+ if (this.is_multiple) {
709
+ return this.search_choices.bind('click.chosen', function(evt) {
710
+ _this.choices_click(evt);
711
+ });
712
+ } else {
713
+ return this.container.bind('click.chosen', function(evt) {
714
+ evt.preventDefault();
715
+ });
716
+ }
717
+ };
718
+
719
+ Chosen.prototype.destroy = function() {
720
+ $(this.container[0].ownerDocument).unbind("click.chosen", this.click_test_action);
721
+ if (this.search_field[0].tabIndex) {
722
+ this.form_field_jq[0].tabIndex = this.search_field[0].tabIndex;
723
+ }
724
+ this.container.remove();
725
+ this.form_field_jq.removeData('chosen');
726
+ return this.form_field_jq.show();
727
+ };
728
+
729
+ Chosen.prototype.search_field_disabled = function() {
730
+ this.is_disabled = this.form_field_jq[0].disabled;
731
+ if (this.is_disabled) {
732
+ this.container.addClass('chosen-disabled');
733
+ this.search_field[0].disabled = true;
734
+ if (!this.is_multiple) {
735
+ this.selected_item.unbind("focus.chosen", this.activate_action);
736
+ }
737
+ return this.close_field();
738
+ } else {
739
+ this.container.removeClass('chosen-disabled');
740
+ this.search_field[0].disabled = false;
741
+ if (!this.is_multiple) {
742
+ return this.selected_item.bind("focus.chosen", this.activate_action);
743
+ }
744
+ }
745
+ };
746
+
747
+ Chosen.prototype.container_mousedown = function(evt) {
748
+ if (!this.is_disabled) {
749
+ if (evt && evt.type === "mousedown" && !this.results_showing) {
750
+ evt.preventDefault();
751
+ }
752
+ if (!((evt != null) && ($(evt.target)).hasClass("search-choice-close"))) {
753
+ if (!this.active_field) {
754
+ if (this.is_multiple) {
755
+ this.search_field.val("");
756
+ }
757
+ $(this.container[0].ownerDocument).bind('click.chosen', this.click_test_action);
758
+ this.results_show();
759
+ } else if (!this.is_multiple && evt && (($(evt.target)[0] === this.selected_item[0]) || $(evt.target).parents("a.chosen-single").length)) {
760
+ evt.preventDefault();
761
+ this.results_toggle();
762
+ }
763
+ return this.activate_field();
764
+ }
765
+ }
766
+ };
767
+
768
+ Chosen.prototype.container_mouseup = function(evt) {
769
+ if (evt.target.nodeName === "ABBR" && !this.is_disabled) {
770
+ return this.results_reset(evt);
771
+ }
772
+ };
773
+
774
+ Chosen.prototype.search_results_mousewheel = function(evt) {
775
+ var delta;
776
+ if (evt.originalEvent) {
777
+ delta = evt.originalEvent.deltaY || -evt.originalEvent.wheelDelta || evt.originalEvent.detail;
778
+ }
779
+ if (delta != null) {
780
+ evt.preventDefault();
781
+ if (evt.type === 'DOMMouseScroll') {
782
+ delta = delta * 40;
783
+ }
784
+ return this.search_results.scrollTop(delta + this.search_results.scrollTop());
785
+ }
786
+ };
787
+
788
+ Chosen.prototype.blur_test = function(evt) {
789
+ if (!this.active_field && this.container.hasClass("chosen-container-active")) {
790
+ return this.close_field();
791
+ }
792
+ };
793
+
794
+ Chosen.prototype.close_field = function() {
795
+ $(this.container[0].ownerDocument).unbind("click.chosen", this.click_test_action);
796
+ this.active_field = false;
797
+ this.results_hide();
798
+ this.container.removeClass("chosen-container-active");
799
+ this.clear_backstroke();
800
+ this.show_search_field_default();
801
+ return this.search_field_scale();
802
+ };
803
+
804
+ Chosen.prototype.activate_field = function() {
805
+ this.container.addClass("chosen-container-active");
806
+ this.active_field = true;
807
+ this.search_field.val(this.search_field.val());
808
+ return this.search_field.focus();
809
+ };
810
+
811
+ Chosen.prototype.test_active_click = function(evt) {
812
+ var active_container;
813
+ active_container = $(evt.target).closest('.chosen-container');
814
+ if (active_container.length && this.container[0] === active_container[0]) {
815
+ return this.active_field = true;
816
+ } else {
817
+ return this.close_field();
818
+ }
819
+ };
820
+
821
+ Chosen.prototype.results_build = function() {
822
+ this.parsing = true;
823
+ this.selected_option_count = null;
824
+ this.results_data = SelectParser.select_to_array(this.form_field);
825
+ if (this.is_multiple) {
826
+ this.search_choices.find("li.search-choice").remove();
827
+ } else if (!this.is_multiple) {
828
+ this.single_set_selected_text();
829
+ if (this.disable_search || this.form_field.options.length <= this.disable_search_threshold) {
830
+ this.search_field[0].readOnly = true;
831
+ this.container.addClass("chosen-container-single-nosearch");
832
+ } else {
833
+ this.search_field[0].readOnly = false;
834
+ this.container.removeClass("chosen-container-single-nosearch");
835
+ }
836
+ }
837
+ this.update_results_content(this.results_option_build({
838
+ first: true
839
+ }));
840
+ this.search_field_disabled();
841
+ this.show_search_field_default();
842
+ this.search_field_scale();
843
+ return this.parsing = false;
844
+ };
845
+
846
+ Chosen.prototype.result_do_highlight = function(el) {
847
+ var high_bottom, high_top, maxHeight, visible_bottom, visible_top;
848
+ if (el.length) {
849
+ this.result_clear_highlight();
850
+ this.result_highlight = el;
851
+ this.result_highlight.addClass("highlighted");
852
+ maxHeight = parseInt(this.search_results.css("maxHeight"), 10);
853
+ visible_top = this.search_results.scrollTop();
854
+ visible_bottom = maxHeight + visible_top;
855
+ high_top = this.result_highlight.position().top + this.search_results.scrollTop();
856
+ high_bottom = high_top + this.result_highlight.outerHeight();
857
+ if (high_bottom >= visible_bottom) {
858
+ return this.search_results.scrollTop((high_bottom - maxHeight) > 0 ? high_bottom - maxHeight : 0);
859
+ } else if (high_top < visible_top) {
860
+ return this.search_results.scrollTop(high_top);
861
+ }
862
+ }
863
+ };
864
+
865
+ Chosen.prototype.result_clear_highlight = function() {
866
+ if (this.result_highlight) {
867
+ this.result_highlight.removeClass("highlighted");
868
+ }
869
+ return this.result_highlight = null;
870
+ };
871
+
872
+ Chosen.prototype.results_show = function() {
873
+ if (this.is_multiple && this.max_selected_options <= this.choices_count()) {
874
+ this.form_field_jq.trigger("chosen:maxselected", {
875
+ chosen: this
876
+ });
877
+ return false;
878
+ }
879
+ this.container.addClass("chosen-with-drop");
880
+ this.results_showing = true;
881
+ this.search_field.focus();
882
+ this.search_field.val(this.search_field.val());
883
+ this.winnow_results();
884
+ return this.form_field_jq.trigger("chosen:showing_dropdown", {
885
+ chosen: this
886
+ });
887
+ };
888
+
889
+ Chosen.prototype.update_results_content = function(content) {
890
+ return this.search_results.html(content);
891
+ };
892
+
893
+ Chosen.prototype.results_hide = function() {
894
+ if (this.results_showing) {
895
+ this.result_clear_highlight();
896
+ this.container.removeClass("chosen-with-drop");
897
+ this.form_field_jq.trigger("chosen:hiding_dropdown", {
898
+ chosen: this
899
+ });
900
+ }
901
+ return this.results_showing = false;
902
+ };
903
+
904
+ Chosen.prototype.set_tab_index = function(el) {
905
+ var ti;
906
+ if (this.form_field.tabIndex) {
907
+ ti = this.form_field.tabIndex;
908
+ this.form_field.tabIndex = -1;
909
+ return this.search_field[0].tabIndex = ti;
910
+ }
911
+ };
912
+
913
+ Chosen.prototype.set_label_behavior = function() {
914
+ var _this = this;
915
+ this.form_field_label = this.form_field_jq.parents("label");
916
+ if (!this.form_field_label.length && this.form_field.id.length) {
917
+ this.form_field_label = $("label[for='" + this.form_field.id + "']");
918
+ }
919
+ if (this.form_field_label.length > 0) {
920
+ return this.form_field_label.bind('click.chosen', function(evt) {
921
+ if (_this.is_multiple) {
922
+ return _this.container_mousedown(evt);
923
+ } else {
924
+ return _this.activate_field();
925
+ }
926
+ });
927
+ }
928
+ };
929
+
930
+ Chosen.prototype.show_search_field_default = function() {
931
+ if (this.is_multiple && this.choices_count() < 1 && !this.active_field) {
932
+ this.search_field.val(this.default_text);
933
+ return this.search_field.addClass("default");
934
+ } else {
935
+ this.search_field.val("");
936
+ return this.search_field.removeClass("default");
937
+ }
938
+ };
939
+
940
+ Chosen.prototype.search_results_mouseup = function(evt) {
941
+ var target;
942
+ target = $(evt.target).hasClass("active-result") ? $(evt.target) : $(evt.target).parents(".active-result").first();
943
+ if (target.length) {
944
+ this.result_highlight = target;
945
+ this.result_select(evt);
946
+ return this.search_field.focus();
947
+ }
948
+ };
949
+
950
+ Chosen.prototype.search_results_mouseover = function(evt) {
951
+ var target;
952
+ target = $(evt.target).hasClass("active-result") ? $(evt.target) : $(evt.target).parents(".active-result").first();
953
+ if (target) {
954
+ return this.result_do_highlight(target);
955
+ }
956
+ };
957
+
958
+ Chosen.prototype.search_results_mouseout = function(evt) {
959
+ if ($(evt.target).hasClass("active-result" || $(evt.target).parents('.active-result').first())) {
960
+ return this.result_clear_highlight();
961
+ }
962
+ };
963
+
964
+ Chosen.prototype.choice_build = function(item) {
965
+ var choice, close_link,
966
+ _this = this;
967
+ choice = $('<li />', {
968
+ "class": "search-choice"
969
+ }).html("<span>" + (this.choice_label(item)) + "</span>");
970
+ if (item.disabled) {
971
+ choice.addClass('search-choice-disabled');
972
+ } else {
973
+ close_link = $('<a />', {
974
+ "class": 'search-choice-close',
975
+ 'data-option-array-index': item.array_index
976
+ });
977
+ close_link.bind('click.chosen', function(evt) {
978
+ return _this.choice_destroy_link_click(evt);
979
+ });
980
+ choice.append(close_link);
981
+ }
982
+ return this.search_container.before(choice);
983
+ };
984
+
985
+ Chosen.prototype.choice_destroy_link_click = function(evt) {
986
+ evt.preventDefault();
987
+ evt.stopPropagation();
988
+ if (!this.is_disabled) {
989
+ return this.choice_destroy($(evt.target));
990
+ }
991
+ };
992
+
993
+ Chosen.prototype.choice_destroy = function(link) {
994
+ if (this.result_deselect(link[0].getAttribute("data-option-array-index"))) {
995
+ this.show_search_field_default();
996
+ if (this.is_multiple && this.choices_count() > 0 && this.search_field.val().length < 1) {
997
+ this.results_hide();
998
+ }
999
+ link.parents('li').first().remove();
1000
+ return this.search_field_scale();
1001
+ }
1002
+ };
1003
+
1004
+ Chosen.prototype.results_reset = function() {
1005
+ this.reset_single_select_options();
1006
+ this.form_field.options[0].selected = true;
1007
+ this.single_set_selected_text();
1008
+ this.show_search_field_default();
1009
+ this.results_reset_cleanup();
1010
+ this.form_field_jq.trigger("change");
1011
+ if (this.active_field) {
1012
+ return this.results_hide();
1013
+ }
1014
+ };
1015
+
1016
+ Chosen.prototype.results_reset_cleanup = function() {
1017
+ this.current_selectedIndex = this.form_field.selectedIndex;
1018
+ return this.selected_item.find("abbr").remove();
1019
+ };
1020
+
1021
+ Chosen.prototype.result_select = function(evt) {
1022
+ var high, item;
1023
+ if (this.result_highlight) {
1024
+ high = this.result_highlight;
1025
+ this.result_clear_highlight();
1026
+ if (this.is_multiple && this.max_selected_options <= this.choices_count()) {
1027
+ this.form_field_jq.trigger("chosen:maxselected", {
1028
+ chosen: this
1029
+ });
1030
+ return false;
1031
+ }
1032
+ if (this.is_multiple) {
1033
+ high.removeClass("active-result");
1034
+ } else {
1035
+ this.reset_single_select_options();
1036
+ }
1037
+ high.addClass("result-selected");
1038
+ item = this.results_data[high[0].getAttribute("data-option-array-index")];
1039
+ item.selected = true;
1040
+ this.form_field.options[item.options_index].selected = true;
1041
+ this.selected_option_count = null;
1042
+ if (this.is_multiple) {
1043
+ this.choice_build(item);
1044
+ } else {
1045
+ this.single_set_selected_text(this.choice_label(item));
1046
+ }
1047
+ if (!((evt.metaKey || evt.ctrlKey) && this.is_multiple)) {
1048
+ this.results_hide();
1049
+ }
1050
+ this.search_field.val("");
1051
+ if (this.is_multiple || this.form_field.selectedIndex !== this.current_selectedIndex) {
1052
+ this.form_field_jq.trigger("change", {
1053
+ 'selected': this.form_field.options[item.options_index].value
1054
+ });
1055
+ }
1056
+ this.current_selectedIndex = this.form_field.selectedIndex;
1057
+ evt.preventDefault();
1058
+ return this.search_field_scale();
1059
+ }
1060
+ };
1061
+
1062
+ Chosen.prototype.single_set_selected_text = function(text) {
1063
+ if (text == null) {
1064
+ text = this.default_text;
1065
+ }
1066
+ if (text === this.default_text) {
1067
+ this.selected_item.addClass("chosen-default");
1068
+ } else {
1069
+ this.single_deselect_control_build();
1070
+ this.selected_item.removeClass("chosen-default");
1071
+ }
1072
+ return this.selected_item.find("span").html(text);
1073
+ };
1074
+
1075
+ Chosen.prototype.result_deselect = function(pos) {
1076
+ var result_data;
1077
+ result_data = this.results_data[pos];
1078
+ if (!this.form_field.options[result_data.options_index].disabled) {
1079
+ result_data.selected = false;
1080
+ this.form_field.options[result_data.options_index].selected = false;
1081
+ this.selected_option_count = null;
1082
+ this.result_clear_highlight();
1083
+ if (this.results_showing) {
1084
+ this.winnow_results();
1085
+ }
1086
+ this.form_field_jq.trigger("change", {
1087
+ deselected: this.form_field.options[result_data.options_index].value
1088
+ });
1089
+ this.search_field_scale();
1090
+ return true;
1091
+ } else {
1092
+ return false;
1093
+ }
1094
+ };
1095
+
1096
+ Chosen.prototype.single_deselect_control_build = function() {
1097
+ if (!this.allow_single_deselect) {
1098
+ return;
1099
+ }
1100
+ if (!this.selected_item.find("abbr").length) {
1101
+ this.selected_item.find("span").first().after("<abbr class=\"search-choice-close\"></abbr>");
1102
+ }
1103
+ return this.selected_item.addClass("chosen-single-with-deselect");
1104
+ };
1105
+
1106
+ Chosen.prototype.get_search_text = function() {
1107
+ return $('<div/>').text($.trim(this.search_field.val())).html();
1108
+ };
1109
+
1110
+ Chosen.prototype.winnow_results_set_highlight = function() {
1111
+ var do_high, selected_results;
1112
+ selected_results = !this.is_multiple ? this.search_results.find(".result-selected.active-result") : [];
1113
+ do_high = selected_results.length ? selected_results.first() : this.search_results.find(".active-result").first();
1114
+ if (do_high != null) {
1115
+ return this.result_do_highlight(do_high);
1116
+ }
1117
+ };
1118
+
1119
+ Chosen.prototype.no_results = function(terms) {
1120
+ var no_results_html;
1121
+ no_results_html = $('<li class="no-results">' + this.results_none_found + ' "<span></span>"</li>');
1122
+ no_results_html.find("span").first().html(terms);
1123
+ this.search_results.append(no_results_html);
1124
+ return this.form_field_jq.trigger("chosen:no_results", {
1125
+ chosen: this
1126
+ });
1127
+ };
1128
+
1129
+ Chosen.prototype.no_results_clear = function() {
1130
+ return this.search_results.find(".no-results").remove();
1131
+ };
1132
+
1133
+ Chosen.prototype.keydown_arrow = function() {
1134
+ var next_sib;
1135
+ if (this.results_showing && this.result_highlight) {
1136
+ next_sib = this.result_highlight.nextAll("li.active-result").first();
1137
+ if (next_sib) {
1138
+ return this.result_do_highlight(next_sib);
1139
+ }
1140
+ } else {
1141
+ return this.results_show();
1142
+ }
1143
+ };
1144
+
1145
+ Chosen.prototype.keyup_arrow = function() {
1146
+ var prev_sibs;
1147
+ if (!this.results_showing && !this.is_multiple) {
1148
+ return this.results_show();
1149
+ } else if (this.result_highlight) {
1150
+ prev_sibs = this.result_highlight.prevAll("li.active-result");
1151
+ if (prev_sibs.length) {
1152
+ return this.result_do_highlight(prev_sibs.first());
1153
+ } else {
1154
+ if (this.choices_count() > 0) {
1155
+ this.results_hide();
1156
+ }
1157
+ return this.result_clear_highlight();
1158
+ }
1159
+ }
1160
+ };
1161
+
1162
+ Chosen.prototype.keydown_backstroke = function() {
1163
+ var next_available_destroy;
1164
+ if (this.pending_backstroke) {
1165
+ this.choice_destroy(this.pending_backstroke.find("a").first());
1166
+ return this.clear_backstroke();
1167
+ } else {
1168
+ next_available_destroy = this.search_container.siblings("li.search-choice").last();
1169
+ if (next_available_destroy.length && !next_available_destroy.hasClass("search-choice-disabled")) {
1170
+ this.pending_backstroke = next_available_destroy;
1171
+ if (this.single_backstroke_delete) {
1172
+ return this.keydown_backstroke();
1173
+ } else {
1174
+ return this.pending_backstroke.addClass("search-choice-focus");
1175
+ }
1176
+ }
1177
+ }
1178
+ };
1179
+
1180
+ Chosen.prototype.clear_backstroke = function() {
1181
+ if (this.pending_backstroke) {
1182
+ this.pending_backstroke.removeClass("search-choice-focus");
1183
+ }
1184
+ return this.pending_backstroke = null;
1185
+ };
1186
+
1187
+ Chosen.prototype.keydown_checker = function(evt) {
1188
+ var stroke, _ref1;
1189
+ stroke = (_ref1 = evt.which) != null ? _ref1 : evt.keyCode;
1190
+ this.search_field_scale();
1191
+ if (stroke !== 8 && this.pending_backstroke) {
1192
+ this.clear_backstroke();
1193
+ }
1194
+ switch (stroke) {
1195
+ case 8:
1196
+ this.backstroke_length = this.search_field.val().length;
1197
+ break;
1198
+ case 9:
1199
+ if (this.results_showing && !this.is_multiple) {
1200
+ this.result_select(evt);
1201
+ }
1202
+ this.mouse_on_container = false;
1203
+ break;
1204
+ case 13:
1205
+ if (this.results_showing) {
1206
+ evt.preventDefault();
1207
+ }
1208
+ break;
1209
+ case 32:
1210
+ if (this.disable_search) {
1211
+ evt.preventDefault();
1212
+ }
1213
+ break;
1214
+ case 38:
1215
+ evt.preventDefault();
1216
+ this.keyup_arrow();
1217
+ break;
1218
+ case 40:
1219
+ evt.preventDefault();
1220
+ this.keydown_arrow();
1221
+ break;
1222
+ }
1223
+ };
1224
+
1225
+ Chosen.prototype.search_field_scale = function() {
1226
+ var div, f_width, h, style, style_block, styles, w, _i, _len;
1227
+ if (this.is_multiple) {
1228
+ h = 0;
1229
+ w = 0;
1230
+ style_block = "position:absolute; left: -1000px; top: -1000px; display:none;";
1231
+ styles = ['font-size', 'font-style', 'font-weight', 'font-family', 'line-height', 'text-transform', 'letter-spacing'];
1232
+ for (_i = 0, _len = styles.length; _i < _len; _i++) {
1233
+ style = styles[_i];
1234
+ style_block += style + ":" + this.search_field.css(style) + ";";
1235
+ }
1236
+ div = $('<div />', {
1237
+ 'style': style_block
1238
+ });
1239
+ div.text(this.search_field.val());
1240
+ $('body').append(div);
1241
+ w = div.width() + 25;
1242
+ div.remove();
1243
+ f_width = this.container.outerWidth();
1244
+ if (w > f_width - 10) {
1245
+ w = f_width - 10;
1246
+ }
1247
+ return this.search_field.css({
1248
+ 'width': w + 'px'
1249
+ });
1250
+ }
1251
+ };
1252
+
1253
+ return Chosen;
1254
+
1255
+ })(AbstractChosen);
1256
+
1257
+ }).call(this);