lanes 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (391) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +19 -0
  3. data/.jshintrc +3 -0
  4. data/Gemfile +9 -0
  5. data/Guardfile +15 -0
  6. data/LICENSE-MIT.txt +21 -0
  7. data/README.md +15 -0
  8. data/Rakefile +74 -0
  9. data/bin/lanes +5 -0
  10. data/client/images/ajax-loader.gif +0 -0
  11. data/client/images/dataTables/Sorting icons.psd +0 -0
  12. data/client/images/dataTables/back_disabled.png +0 -0
  13. data/client/images/dataTables/back_enabled.png +0 -0
  14. data/client/images/dataTables/back_enabled_hover.png +0 -0
  15. data/client/images/dataTables/favicon.ico +0 -0
  16. data/client/images/dataTables/forward_disabled.png +0 -0
  17. data/client/images/dataTables/forward_enabled.png +0 -0
  18. data/client/images/dataTables/forward_enabled_hover.png +0 -0
  19. data/client/images/dataTables/loading-background.png +0 -0
  20. data/client/images/dataTables/sort_asc.png +0 -0
  21. data/client/images/dataTables/sort_asc_disabled.png +0 -0
  22. data/client/images/dataTables/sort_both.png +0 -0
  23. data/client/images/dataTables/sort_desc.png +0 -0
  24. data/client/images/dataTables/sort_desc_disabled.png +0 -0
  25. data/client/images/logo-sm.png +0 -0
  26. data/client/javascripts/component/Base.coffee +39 -0
  27. data/client/javascripts/component/ChoicesInput.coffee +47 -0
  28. data/client/javascripts/component/Grid.coffee +199 -0
  29. data/client/javascripts/component/ModalDialog.coffee +44 -0
  30. data/client/javascripts/component/PopOver.coffee +52 -0
  31. data/client/javascripts/component/RadioGroup.coffee +59 -0
  32. data/client/javascripts/component/RecordFinder.coffee +143 -0
  33. data/client/javascripts/component/SelectField.coffee +43 -0
  34. data/client/javascripts/component/TaggedField.coffee +27 -0
  35. data/client/javascripts/component/grid/Editor.coffee +65 -0
  36. data/client/javascripts/component/grid/PopOverEditor.coffee +29 -0
  37. data/client/javascripts/component/grid/RowEditor.coffee +31 -0
  38. data/client/javascripts/component/grid/popover-editor.html +18 -0
  39. data/client/javascripts/component/grid/row-editor.html +16 -0
  40. data/client/javascripts/component/grid.html +4 -0
  41. data/client/javascripts/component/index.js +5 -0
  42. data/client/javascripts/component/modal.html +17 -0
  43. data/client/javascripts/component/popover.html +5 -0
  44. data/client/javascripts/component/record-finder/clause.skr +35 -0
  45. data/client/javascripts/component/record-finder/dialog.skr +4 -0
  46. data/client/javascripts/component/record-finder/field.skr +8 -0
  47. data/client/javascripts/data/Bootstrap.coffee +8 -0
  48. data/client/javascripts/data/ChangeSet.coffee +50 -0
  49. data/client/javascripts/data/Collection.coffee +111 -0
  50. data/client/javascripts/data/Config.coffee +15 -0
  51. data/client/javascripts/data/Model.coffee +269 -0
  52. data/client/javascripts/data/PubSub.coffee +68 -0
  53. data/client/javascripts/data/Query.coffee +184 -0
  54. data/client/javascripts/data/Roles.coffee +91 -0
  55. data/client/javascripts/data/Screens.coffee +157 -0
  56. data/client/javascripts/data/Sync.coffee +62 -0
  57. data/client/javascripts/data/User.coffee +70 -0
  58. data/client/javascripts/data/index.js +7 -0
  59. data/client/javascripts/data/mixins/HasCodeField.coffee +13 -0
  60. data/client/javascripts/extension/Base.coffee +9 -0
  61. data/client/javascripts/extension/Extensions.coffee +17 -0
  62. data/client/javascripts/extension/GlAccounts.coffee +9 -0
  63. data/client/javascripts/extension/index.js +6 -0
  64. data/client/javascripts/extension/load.js.erb +3 -0
  65. data/client/javascripts/lanes-complete.js +3 -0
  66. data/client/javascripts/lanes-workspace.js +1 -0
  67. data/client/javascripts/lib/MakeBaseClass.coffee +55 -0
  68. data/client/javascripts/lib/ModuleSupport.coffee +22 -0
  69. data/client/javascripts/lib/Templates.coffee +47 -0
  70. data/client/javascripts/lib/create-namespace.js +0 -0
  71. data/client/javascripts/lib/debounce.coffee +15 -0
  72. data/client/javascripts/lib/defer.coffee +7 -0
  73. data/client/javascripts/lib/el.js +115 -0
  74. data/client/javascripts/lib/index.js +9 -0
  75. data/client/javascripts/lib/loader.coffee +95 -0
  76. data/client/javascripts/lib/namespace.coffee +9 -0
  77. data/client/javascripts/lib/noConflict.coffee +14 -0
  78. data/client/javascripts/lib/promise_helpers.coffee +4 -0
  79. data/client/javascripts/lib/results.coffee +15 -0
  80. data/client/javascripts/lib/underscore.inflection.js +210 -0
  81. data/client/javascripts/lib/utilFunctions.coffee +51 -0
  82. data/client/javascripts/plugins/ResizeSensor.js +144 -0
  83. data/client/javascripts/plugins/index.js +4 -0
  84. data/client/javascripts/plugins/overlay.coffee +41 -0
  85. data/client/javascripts/plugins/trigger.coffee +15 -0
  86. data/client/javascripts/vendor/bootstrap/affix.js +142 -0
  87. data/client/javascripts/vendor/bootstrap/alert.js +92 -0
  88. data/client/javascripts/vendor/bootstrap/button.js +110 -0
  89. data/client/javascripts/vendor/bootstrap/carousel.js +223 -0
  90. data/client/javascripts/vendor/bootstrap/collapse.js +170 -0
  91. data/client/javascripts/vendor/bootstrap/dropdown.js +151 -0
  92. data/client/javascripts/vendor/bootstrap/modal.js +280 -0
  93. data/client/javascripts/vendor/bootstrap/popover.js +113 -0
  94. data/client/javascripts/vendor/bootstrap/scrollspy.js +170 -0
  95. data/client/javascripts/vendor/bootstrap/tab.js +128 -0
  96. data/client/javascripts/vendor/bootstrap/tooltip.js +457 -0
  97. data/client/javascripts/vendor/bootstrap/transition.js +59 -0
  98. data/client/javascripts/vendor/dataTables/dataTables.bootstrap.js +156 -0
  99. data/client/javascripts/vendor/dataTables/dataTables.scroller.js +1185 -0
  100. data/client/javascripts/vendor/dataTables/datatables.responsive.js +666 -0
  101. data/client/javascripts/vendor/dataTables/index.js +2 -0
  102. data/client/javascripts/vendor/dataTables/jquery.dataTables.js +14380 -0
  103. data/client/javascripts/vendor/jquery-2.js +9190 -0
  104. data/client/javascripts/vendor/jquery.tap.js +401 -0
  105. data/client/javascripts/vendor/magicsuggest.js +1565 -0
  106. data/client/javascripts/vendor/message-bus.js +285 -0
  107. data/client/javascripts/vendor/modern-stack.js +14 -0
  108. data/client/javascripts/vendor/packaged.js +13769 -0
  109. data/client/javascripts/view/Assets.coffee +9 -0
  110. data/client/javascripts/view/Base.coffee +231 -0
  111. data/client/javascripts/view/FormBindings.coffee +98 -0
  112. data/client/javascripts/view/Functions.coffee +13 -0
  113. data/client/javascripts/view/Helpers.coffee +77 -0
  114. data/client/javascripts/view/InterfaceState.coffee +88 -0
  115. data/client/javascripts/view/Keys.coffee +59 -0
  116. data/client/javascripts/view/ModelObserver.coffee +31 -0
  117. data/client/javascripts/view/ModelUpdate.coffee +8 -0
  118. data/client/javascripts/view/PubSub.coffee +29 -0
  119. data/client/javascripts/view/RenderContext.coffee +32 -0
  120. data/client/javascripts/view/SaveNotify.coffee +30 -0
  121. data/client/javascripts/view/Screen.coffee +30 -0
  122. data/client/javascripts/view/TimedHighlight.coffee +38 -0
  123. data/client/javascripts/view/TimedMask.coffee +65 -0
  124. data/client/javascripts/view/_button.html +3 -0
  125. data/client/javascripts/view/_toolbar.html +27 -0
  126. data/client/javascripts/view/index.js +10 -0
  127. data/client/javascripts/view/mixins/ScreenChangeListener.coffee +43 -0
  128. data/client/javascripts/view/model-update.html +13 -0
  129. data/client/javascripts/view/screen-definitions.js.erb +7 -0
  130. data/client/javascripts/workspace/ActiveScreensSwitcher.coffee +117 -0
  131. data/client/javascripts/workspace/Instance.es6 +60 -0
  132. data/client/javascripts/workspace/Layout.coffee +18 -0
  133. data/client/javascripts/workspace/LoginDialog.coffee +33 -0
  134. data/client/javascripts/workspace/Navbar.coffee +44 -0
  135. data/client/javascripts/workspace/Pages.coffee +46 -0
  136. data/client/javascripts/workspace/ScreensMenu.coffee +126 -0
  137. data/client/javascripts/workspace/index.js +12 -0
  138. data/client/javascripts/workspace/layout.html +4 -0
  139. data/client/javascripts/workspace/login-dialog.html +16 -0
  140. data/client/javascripts/workspace/menu.html +356 -0
  141. data/client/javascripts/workspace/menu_toggle.html +9 -0
  142. data/client/javascripts/workspace/navbar.html +19 -0
  143. data/client/javascripts/workspace/pages.html +6 -0
  144. data/client/javascripts/workspace/screens-menu.html +11 -0
  145. data/client/javascripts/workspace/screens-switcher.html +7 -0
  146. data/client/javascripts/workspace/tab.html +0 -0
  147. data/client/screens/user-management/UserEditScreen.coffee +21 -0
  148. data/client/screens/user-management/UserManagement.coffee +24 -0
  149. data/client/screens/user-management/grid-popover-editor.html +33 -0
  150. data/client/screens/user-management/index.css +4 -0
  151. data/client/screens/user-management/index.js +2 -0
  152. data/client/screens/user-management/user-management-styles.scss +7 -0
  153. data/client/screens/user-management/user-management.html +8 -0
  154. data/client/stylesheets/compoonents/all.scss +6 -0
  155. data/client/stylesheets/compoonents/changes-notification.scss +44 -0
  156. data/client/stylesheets/compoonents/grid-editors.scss +65 -0
  157. data/client/stylesheets/compoonents/grid.scss +301 -0
  158. data/client/stylesheets/compoonents/modal-dialog.scss +23 -0
  159. data/client/stylesheets/compoonents/record-finder.scss +71 -0
  160. data/client/stylesheets/compoonents/suggest.scss +266 -0
  161. data/client/stylesheets/fonts/icomoon.eot +0 -0
  162. data/client/stylesheets/fonts/icomoon.svg +160 -0
  163. data/client/stylesheets/fonts/icomoon.ttf +0 -0
  164. data/client/stylesheets/fonts/icomoon.woff +0 -0
  165. data/client/stylesheets/fonts/selection.json +3565 -0
  166. data/client/stylesheets/fonts/style.css +451 -0
  167. data/client/stylesheets/fonts.scss +38 -0
  168. data/client/stylesheets/forms.scss +75 -0
  169. data/client/stylesheets/index.css +4 -0
  170. data/client/stylesheets/keybindings.scss +6 -0
  171. data/client/stylesheets/lanes-workspace.scss +17 -0
  172. data/client/stylesheets/layout.scss +272 -0
  173. data/client/stylesheets/plugins/all.scss +2 -0
  174. data/client/stylesheets/plugins/overlay.scss +63 -0
  175. data/client/stylesheets/plugins/resize-sensor.scss +24 -0
  176. data/client/stylesheets/screens.scss +66 -0
  177. data/client/stylesheets/tabs.scss +148 -0
  178. data/client/stylesheets/vendor/bootstrap/_alerts.scss +68 -0
  179. data/client/stylesheets/vendor/bootstrap/_badges.scss +57 -0
  180. data/client/stylesheets/vendor/bootstrap/_breadcrumbs.scss +26 -0
  181. data/client/stylesheets/vendor/bootstrap/_button-groups.scss +240 -0
  182. data/client/stylesheets/vendor/bootstrap/_buttons.scss +157 -0
  183. data/client/stylesheets/vendor/bootstrap/_carousel.scss +243 -0
  184. data/client/stylesheets/vendor/bootstrap/_close.scss +35 -0
  185. data/client/stylesheets/vendor/bootstrap/_code.scss +68 -0
  186. data/client/stylesheets/vendor/bootstrap/_component-animations.scss +35 -0
  187. data/client/stylesheets/vendor/bootstrap/_dropdowns.scss +215 -0
  188. data/client/stylesheets/vendor/bootstrap/_forms.scss +538 -0
  189. data/client/stylesheets/vendor/bootstrap/_glyphicons.scss +237 -0
  190. data/client/stylesheets/vendor/bootstrap/_grid.scss +84 -0
  191. data/client/stylesheets/vendor/bootstrap/_input-groups.scss +166 -0
  192. data/client/stylesheets/vendor/bootstrap/_jumbotron.scss +48 -0
  193. data/client/stylesheets/vendor/bootstrap/_labels.scss +66 -0
  194. data/client/stylesheets/vendor/bootstrap/_list-group.scss +132 -0
  195. data/client/stylesheets/vendor/bootstrap/_media.scss +56 -0
  196. data/client/stylesheets/vendor/bootstrap/_mixins.scss +39 -0
  197. data/client/stylesheets/vendor/bootstrap/_modals.scss +150 -0
  198. data/client/stylesheets/vendor/bootstrap/_navbar.scss +659 -0
  199. data/client/stylesheets/vendor/bootstrap/_navs.scss +242 -0
  200. data/client/stylesheets/vendor/bootstrap/_normalize.scss +425 -0
  201. data/client/stylesheets/vendor/bootstrap/_pager.scss +55 -0
  202. data/client/stylesheets/vendor/bootstrap/_pagination.scss +88 -0
  203. data/client/stylesheets/vendor/bootstrap/_panels.scss +243 -0
  204. data/client/stylesheets/vendor/bootstrap/_popovers.scss +133 -0
  205. data/client/stylesheets/vendor/bootstrap/_print.scss +101 -0
  206. data/client/stylesheets/vendor/bootstrap/_progress-bars.scss +105 -0
  207. data/client/stylesheets/vendor/bootstrap/_responsive-embed.scss +34 -0
  208. data/client/stylesheets/vendor/bootstrap/_responsive-utilities.scss +174 -0
  209. data/client/stylesheets/vendor/bootstrap/_scaffolding.scss +150 -0
  210. data/client/stylesheets/vendor/bootstrap/_tables.scss +233 -0
  211. data/client/stylesheets/vendor/bootstrap/_theme.scss +258 -0
  212. data/client/stylesheets/vendor/bootstrap/_thumbnails.scss +38 -0
  213. data/client/stylesheets/vendor/bootstrap/_tooltip.scss +95 -0
  214. data/client/stylesheets/vendor/bootstrap/_type.scss +304 -0
  215. data/client/stylesheets/vendor/bootstrap/_utilities.scss +57 -0
  216. data/client/stylesheets/vendor/bootstrap/_variables.scss +850 -0
  217. data/client/stylesheets/vendor/bootstrap/_wells.scss +29 -0
  218. data/client/stylesheets/vendor/bootstrap/bootstrap.scss +50 -0
  219. data/client/stylesheets/vendor/bootstrap/mixins/_alerts.scss +14 -0
  220. data/client/stylesheets/vendor/bootstrap/mixins/_background-variant.scss +11 -0
  221. data/client/stylesheets/vendor/bootstrap/mixins/_border-radius.scss +18 -0
  222. data/client/stylesheets/vendor/bootstrap/mixins/_buttons.scss +50 -0
  223. data/client/stylesheets/vendor/bootstrap/mixins/_center-block.scss +7 -0
  224. data/client/stylesheets/vendor/bootstrap/mixins/_clearfix.scss +22 -0
  225. data/client/stylesheets/vendor/bootstrap/mixins/_forms.scss +84 -0
  226. data/client/stylesheets/vendor/bootstrap/mixins/_gradients.scss +58 -0
  227. data/client/stylesheets/vendor/bootstrap/mixins/_grid-framework.scss +81 -0
  228. data/client/stylesheets/vendor/bootstrap/mixins/_grid.scss +122 -0
  229. data/client/stylesheets/vendor/bootstrap/mixins/_hide-text.scss +21 -0
  230. data/client/stylesheets/vendor/bootstrap/mixins/_image.scss +34 -0
  231. data/client/stylesheets/vendor/bootstrap/mixins/_labels.scss +12 -0
  232. data/client/stylesheets/vendor/bootstrap/mixins/_list-group.scss +31 -0
  233. data/client/stylesheets/vendor/bootstrap/mixins/_nav-divider.scss +10 -0
  234. data/client/stylesheets/vendor/bootstrap/mixins/_nav-vertical-align.scss +9 -0
  235. data/client/stylesheets/vendor/bootstrap/mixins/_opacity.scss +8 -0
  236. data/client/stylesheets/vendor/bootstrap/mixins/_pagination.scss +23 -0
  237. data/client/stylesheets/vendor/bootstrap/mixins/_panels.scss +24 -0
  238. data/client/stylesheets/vendor/bootstrap/mixins/_progress-bar.scss +10 -0
  239. data/client/stylesheets/vendor/bootstrap/mixins/_reset-filter.scss +8 -0
  240. data/client/stylesheets/vendor/bootstrap/mixins/_resize.scss +6 -0
  241. data/client/stylesheets/vendor/bootstrap/mixins/_responsive-visibility.scss +21 -0
  242. data/client/stylesheets/vendor/bootstrap/mixins/_size.scss +10 -0
  243. data/client/stylesheets/vendor/bootstrap/mixins/_tab-focus.scss +9 -0
  244. data/client/stylesheets/vendor/bootstrap/mixins/_table-row.scss +28 -0
  245. data/client/stylesheets/vendor/bootstrap/mixins/_text-emphasis.scss +11 -0
  246. data/client/stylesheets/vendor/bootstrap/mixins/_text-overflow.scss +8 -0
  247. data/client/stylesheets/vendor/bootstrap/mixins/_vendor-prefixes.scss +219 -0
  248. data/client/stylesheets/vendor/bootstrap-custom-grid.scss +85 -0
  249. data/client/stylesheets/vendor/bootstrap-custom-modals.scss +150 -0
  250. data/client/stylesheets/vendor/bootstrap.scss +69 -0
  251. data/client/stylesheets/vendor/dataTables.scss +4 -0
  252. data/config/database.yml +9 -0
  253. data/config/puma.rb +7 -0
  254. data/config.ru +4 -0
  255. data/db/migrate/20140615031600_create_hip_users.rb +17 -0
  256. data/db/seed.rb +37 -0
  257. data/foo/Gemfile +5 -0
  258. data/foo/Guardfile +13 -0
  259. data/foo/foo/Gemfile +5 -0
  260. data/foo/foo/lib/foo.rb +7 -0
  261. data/foo/lib/foo/version.rb +3 -0
  262. data/foo/lib/foo.rb +8 -0
  263. data/lanes.gemspec +54 -0
  264. data/lib/generators/lanes/migrations/install_generator.rb +42 -0
  265. data/lib/lanes/access/locked_fields.rb +43 -0
  266. data/lib/lanes/access/role.rb +58 -0
  267. data/lib/lanes/access/role_collection.rb +75 -0
  268. data/lib/lanes/access/roles/administrator.rb +25 -0
  269. data/lib/lanes/access/roles/support.rb +13 -0
  270. data/lib/lanes/access/user_maint_screen.rb +32 -0
  271. data/lib/lanes/access.rb +50 -0
  272. data/lib/lanes/api/asset_pipeline.rb +59 -0
  273. data/lib/lanes/api/authentication_helper.rb +21 -0
  274. data/lib/lanes/api/authentication_provider.rb +45 -0
  275. data/lib/lanes/api/controller.rb +290 -0
  276. data/lib/lanes/api/default_routes.rb +35 -0
  277. data/lib/lanes/api/eco.js +516 -0
  278. data/lib/lanes/api/error_formatter.rb +37 -0
  279. data/lib/lanes/api/helper_methods.rb +32 -0
  280. data/lib/lanes/api/javascript_processor.rb +116 -0
  281. data/lib/lanes/api/pub_sub.rb +33 -0
  282. data/lib/lanes/api/request_wrapper.rb +42 -0
  283. data/lib/lanes/api/root.rb +103 -0
  284. data/lib/lanes/api/skr_templates.rb +60 -0
  285. data/lib/lanes/api/test_specs.rb +59 -0
  286. data/lib/lanes/api/updates.rb +38 -0
  287. data/lib/lanes/api.rb +27 -0
  288. data/lib/lanes/cli.rb +13 -0
  289. data/lib/lanes/concerns/all.rb +16 -0
  290. data/lib/lanes/concerns/api_path.rb +21 -0
  291. data/lib/lanes/concerns/association_extensions.rb +85 -0
  292. data/lib/lanes/concerns/attr_accessor_with_default.rb +62 -0
  293. data/lib/lanes/concerns/code_identifier.rb +43 -0
  294. data/lib/lanes/concerns/export_associations.rb +52 -0
  295. data/lib/lanes/concerns/export_join_tables.rb +39 -0
  296. data/lib/lanes/concerns/export_methods.rb +104 -0
  297. data/lib/lanes/concerns/export_scope.rb +66 -0
  298. data/lib/lanes/concerns/exported_limit_evaluator.rb +17 -0
  299. data/lib/lanes/concerns/immutable_model.rb +32 -0
  300. data/lib/lanes/concerns/locked_fields.rb +84 -0
  301. data/lib/lanes/concerns/pub_sub.rb +105 -0
  302. data/lib/lanes/concerns/queries.rb +20 -0
  303. data/lib/lanes/concerns/random_hash_code.rb +40 -0
  304. data/lib/lanes/concerns/sanitize_api_data.rb +15 -0
  305. data/lib/lanes/concerns/set_attribute_data.rb +154 -0
  306. data/lib/lanes/concerns/track_modifications.rb +51 -0
  307. data/lib/lanes/concerns/visible_id_identifier.rb +53 -0
  308. data/lib/lanes/configuration.rb +85 -0
  309. data/lib/lanes/db/migration_helpers.rb +178 -0
  310. data/lib/lanes/db/migrations.rb +13 -0
  311. data/lib/lanes/db/seed.rb +27 -0
  312. data/lib/lanes/db.rb +86 -0
  313. data/lib/lanes/environment.rb +19 -0
  314. data/lib/lanes/extension.rb +72 -0
  315. data/lib/lanes/generators/app/Gemfile +5 -0
  316. data/lib/lanes/generators/app/Guardfile +13 -0
  317. data/lib/lanes/generators/app/Rakefile +9 -0
  318. data/lib/lanes/generators/app/config/database.yml +9 -0
  319. data/lib/lanes/generators/app/config.ru +4 -0
  320. data/lib/lanes/generators/app/lib/main_class/version.rb +3 -0
  321. data/lib/lanes/generators/app/lib/main_class.rb +8 -0
  322. data/lib/lanes/generators/app.rb +36 -0
  323. data/lib/lanes/guard_tasks.rb +44 -0
  324. data/lib/lanes/logger.rb +37 -0
  325. data/lib/lanes/model.rb +26 -0
  326. data/lib/lanes/numbers.rb +72 -0
  327. data/lib/lanes/rails_engine.rb +5 -0
  328. data/lib/lanes/screens.rb +126 -0
  329. data/lib/lanes/spec_asset_expander.rb +43 -0
  330. data/lib/lanes/strings.rb +56 -0
  331. data/lib/lanes/user.rb +127 -0
  332. data/lib/lanes/validators/all.rb +2 -0
  333. data/lib/lanes/validators/email.rb +17 -0
  334. data/lib/lanes/validators/set.rb +18 -0
  335. data/lib/lanes/version.rb +5 -0
  336. data/lib/lanes.rb +22 -0
  337. data/npm-build/README +1 -0
  338. data/npm-build/compile.coffee +15 -0
  339. data/npm-build/package.json +59 -0
  340. data/npm-build/shims/underscore.js +1416 -0
  341. data/npm-build/template.js +33 -0
  342. data/public/javascripts/jasmine_examples/Player.js +22 -0
  343. data/public/javascripts/jasmine_examples/Song.js +7 -0
  344. data/spec/api/javascript_processor_spec.rb +107 -0
  345. data/spec/api/user_spec.rb +52 -0
  346. data/spec/client/component/ChoicesInputSpec.coffee +12 -0
  347. data/spec/client/component/foo_spec.coffee +4 -0
  348. data/spec/client/foo_spec.js +0 -0
  349. data/spec/client/jasmine_examples/PlayerSpec.js +0 -0
  350. data/spec/client/support/jasmine.yml +128 -0
  351. data/spec/client/support/jasmine_helper.rb +15 -0
  352. data/spec/concerns/api_path_spec.rb +14 -0
  353. data/spec/concerns/association_extensions_spec.rb +30 -0
  354. data/spec/concerns/attr_accessor_with_default_spec.rb +57 -0
  355. data/spec/concerns/code_identifier_spec.rb +45 -0
  356. data/spec/concerns/export_associations_spec.rb +7 -0
  357. data/spec/concerns/export_methods_spec.rb +43 -0
  358. data/spec/concerns/export_scope_spec.rb +15 -0
  359. data/spec/concerns/exported_limits_spec.rb +47 -0
  360. data/spec/concerns/pub_sub_spec.rb +83 -0
  361. data/spec/concerns/set_attribute_data_spec.rb +66 -0
  362. data/spec/configuration_spec.rb +26 -0
  363. data/spec/fixtures/lanes/users.yml +13 -0
  364. data/spec/helpers/.gitkeep +0 -0
  365. data/spec/helpers/SpecHelper.js +18 -0
  366. data/spec/locked_fields_spec.rb +27 -0
  367. data/spec/numbers_spec.rb +26 -0
  368. data/spec/role_collection_spec.rb +19 -0
  369. data/spec/spec_helper.rb +163 -0
  370. data/spec/strings_spec.rb +41 -0
  371. data/spec/testing_models.rb +54 -0
  372. data/spec/user_role_spec.rb +7 -0
  373. data/spec/user_spec.rb +53 -0
  374. data/tasks/migrations.rake +22 -0
  375. data/tasks/publish.rake +8 -0
  376. data/views/index.erb +29 -0
  377. data/views/specs.erb +25 -0
  378. data/yard_ext/all.rb +9 -0
  379. data/yard_ext/code_identifier_handler.rb +33 -0
  380. data/yard_ext/concern_meta_methods.rb +60 -0
  381. data/yard_ext/config_options.rb +27 -0
  382. data/yard_ext/exported_scope.rb +4 -0
  383. data/yard_ext/immutable_handler.rb +17 -0
  384. data/yard_ext/json_attr_accessor.rb +22 -0
  385. data/yard_ext/locked_fields_handler.rb +21 -0
  386. data/yard_ext/templates/default/layout/html/layout.erb +20 -0
  387. data/yard_ext/templates/default/method_details/html/github_link.erb +1 -0
  388. data/yard_ext/templates/default/method_details/setup.rb +3 -0
  389. data/yard_ext/validators.rb +1 -0
  390. data/yard_ext/visible_id_handler.rb +38 -0
  391. metadata +772 -0
@@ -0,0 +1,242 @@
1
+ //
2
+ // Navs
3
+ // --------------------------------------------------
4
+
5
+
6
+ // Base class
7
+ // --------------------------------------------------
8
+
9
+ .nav {
10
+ margin-bottom: 0;
11
+ padding-left: 0; // Override default ul/ol
12
+ list-style: none;
13
+ @include clearfix();
14
+
15
+ > li {
16
+ position: relative;
17
+ display: block;
18
+
19
+ > a {
20
+ position: relative;
21
+ display: block;
22
+ padding: $nav-link-padding;
23
+ &:hover,
24
+ &:focus {
25
+ text-decoration: none;
26
+ background-color: $nav-link-hover-bg;
27
+ }
28
+ }
29
+
30
+ // Disabled state sets text to gray and nukes hover/tab effects
31
+ &.disabled > a {
32
+ color: $nav-disabled-link-color;
33
+
34
+ &:hover,
35
+ &:focus {
36
+ color: $nav-disabled-link-hover-color;
37
+ text-decoration: none;
38
+ background-color: transparent;
39
+ cursor: not-allowed;
40
+ }
41
+ }
42
+ }
43
+
44
+ // Open dropdowns
45
+ .open > a {
46
+ &,
47
+ &:hover,
48
+ &:focus {
49
+ background-color: $nav-link-hover-bg;
50
+ border-color: $link-color;
51
+ }
52
+ }
53
+
54
+ // Nav dividers (deprecated with v3.0.1)
55
+ //
56
+ // This should have been removed in v3 with the dropping of `.nav-list`, but
57
+ // we missed it. We don't currently support this anywhere, but in the interest
58
+ // of maintaining backward compatibility in case you use it, it's deprecated.
59
+ .nav-divider {
60
+ @include nav-divider();
61
+ }
62
+
63
+ // Prevent IE8 from misplacing imgs
64
+ //
65
+ // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989
66
+ > li > a > img {
67
+ max-width: none;
68
+ }
69
+ }
70
+
71
+
72
+ // Tabs
73
+ // -------------------------
74
+
75
+ // Give the tabs something to sit on
76
+ .nav-tabs {
77
+ border-bottom: 1px solid $nav-tabs-border-color;
78
+ > li {
79
+ float: left;
80
+ // Make the list-items overlay the bottom border
81
+ margin-bottom: -1px;
82
+
83
+ // Actual tabs (as links)
84
+ > a {
85
+ margin-right: 2px;
86
+ line-height: $line-height-base;
87
+ border: 1px solid transparent;
88
+ border-radius: $border-radius-base $border-radius-base 0 0;
89
+ &:hover {
90
+ border-color: $nav-tabs-link-hover-border-color $nav-tabs-link-hover-border-color $nav-tabs-border-color;
91
+ }
92
+ }
93
+
94
+ // Active state, and its :hover to override normal :hover
95
+ &.active > a {
96
+ &,
97
+ &:hover,
98
+ &:focus {
99
+ color: $nav-tabs-active-link-hover-color;
100
+ background-color: $nav-tabs-active-link-hover-bg;
101
+ border: 1px solid $nav-tabs-active-link-hover-border-color;
102
+ border-bottom-color: transparent;
103
+ cursor: default;
104
+ }
105
+ }
106
+ }
107
+ // pulling this in mainly for less shorthand
108
+ &.nav-justified {
109
+ @extend .nav-justified;
110
+ @extend .nav-tabs-justified;
111
+ }
112
+ }
113
+
114
+
115
+ // Pills
116
+ // -------------------------
117
+ .nav-pills {
118
+ > li {
119
+ float: left;
120
+
121
+ // Links rendered as pills
122
+ > a {
123
+ border-radius: $nav-pills-border-radius;
124
+ }
125
+ + li {
126
+ margin-left: 2px;
127
+ }
128
+
129
+ // Active state
130
+ &.active > a {
131
+ &,
132
+ &:hover,
133
+ &:focus {
134
+ color: $nav-pills-active-link-hover-color;
135
+ background-color: $nav-pills-active-link-hover-bg;
136
+ }
137
+ }
138
+ }
139
+ }
140
+
141
+
142
+ // Stacked pills
143
+ .nav-stacked {
144
+ > li {
145
+ float: none;
146
+ + li {
147
+ margin-top: 2px;
148
+ margin-left: 0; // no need for this gap between nav items
149
+ }
150
+ }
151
+ }
152
+
153
+
154
+ // Nav variations
155
+ // --------------------------------------------------
156
+
157
+ // Justified nav links
158
+ // -------------------------
159
+
160
+ .nav-justified {
161
+ width: 100%;
162
+
163
+ > li {
164
+ float: none;
165
+ > a {
166
+ text-align: center;
167
+ margin-bottom: 5px;
168
+ }
169
+ }
170
+
171
+ > .dropdown .dropdown-menu {
172
+ top: auto;
173
+ left: auto;
174
+ }
175
+
176
+ @media (min-width: $screen-sm-min) {
177
+ > li {
178
+ display: table-cell;
179
+ width: 1%;
180
+ > a {
181
+ margin-bottom: 0;
182
+ }
183
+ }
184
+ }
185
+ }
186
+
187
+ // Move borders to anchors instead of bottom of list
188
+ //
189
+ // Mixin for adding on top the shared `.nav-justified` styles for our tabs
190
+ .nav-tabs-justified {
191
+ border-bottom: 0;
192
+
193
+ > li > a {
194
+ // Override margin from .nav-tabs
195
+ margin-right: 0;
196
+ border-radius: $border-radius-base;
197
+ }
198
+
199
+ > .active > a,
200
+ > .active > a:hover,
201
+ > .active > a:focus {
202
+ border: 1px solid $nav-tabs-justified-link-border-color;
203
+ }
204
+
205
+ @media (min-width: $screen-sm-min) {
206
+ > li > a {
207
+ border-bottom: 1px solid $nav-tabs-justified-link-border-color;
208
+ border-radius: $border-radius-base $border-radius-base 0 0;
209
+ }
210
+ > .active > a,
211
+ > .active > a:hover,
212
+ > .active > a:focus {
213
+ border-bottom-color: $nav-tabs-justified-active-link-border-color;
214
+ }
215
+ }
216
+ }
217
+
218
+
219
+ // Tabbable tabs
220
+ // -------------------------
221
+
222
+ // Hide tabbable panes to start, show them when `.active`
223
+ .tab-content {
224
+ > .tab-pane {
225
+ display: none;
226
+ }
227
+ > .active {
228
+ display: block;
229
+ }
230
+ }
231
+
232
+
233
+ // Dropdowns
234
+ // -------------------------
235
+
236
+ // Specific dropdowns
237
+ .nav-tabs .dropdown-menu {
238
+ // make dropdown border overlap tab border
239
+ margin-top: -1px;
240
+ // Remove the top rounded corners here since there is a hard edge above the menu
241
+ @include border-top-radius(0);
242
+ }
@@ -0,0 +1,425 @@
1
+ /*! normalize.css v3.0.1 | MIT License | git.io/normalize */
2
+
3
+ //
4
+ // 1. Set default font family to sans-serif.
5
+ // 2. Prevent iOS text size adjust after orientation change, without disabling
6
+ // user zoom.
7
+ //
8
+
9
+ html {
10
+ font-family: sans-serif; // 1
11
+ -ms-text-size-adjust: 100%; // 2
12
+ -webkit-text-size-adjust: 100%; // 2
13
+ }
14
+
15
+ //
16
+ // Remove default margin.
17
+ //
18
+
19
+ body {
20
+ margin: 0;
21
+ }
22
+
23
+ // HTML5 display definitions
24
+ // ==========================================================================
25
+
26
+ //
27
+ // Correct `block` display not defined for any HTML5 element in IE 8/9.
28
+ // Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox.
29
+ // Correct `block` display not defined for `main` in IE 11.
30
+ //
31
+
32
+ article,
33
+ aside,
34
+ details,
35
+ figcaption,
36
+ figure,
37
+ footer,
38
+ header,
39
+ hgroup,
40
+ main,
41
+ nav,
42
+ section,
43
+ summary {
44
+ display: block;
45
+ }
46
+
47
+ //
48
+ // 1. Correct `inline-block` display not defined in IE 8/9.
49
+ // 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
50
+ //
51
+
52
+ audio,
53
+ canvas,
54
+ progress,
55
+ video {
56
+ display: inline-block; // 1
57
+ vertical-align: baseline; // 2
58
+ }
59
+
60
+ //
61
+ // Prevent modern browsers from displaying `audio` without controls.
62
+ // Remove excess height in iOS 5 devices.
63
+ //
64
+
65
+ audio:not([controls]) {
66
+ display: none;
67
+ height: 0;
68
+ }
69
+
70
+ //
71
+ // Address `[hidden]` styling not present in IE 8/9/10.
72
+ // Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
73
+ //
74
+
75
+ [hidden],
76
+ template {
77
+ display: none;
78
+ }
79
+
80
+ // Links
81
+ // ==========================================================================
82
+
83
+ //
84
+ // Remove the gray background color from active links in IE 10.
85
+ //
86
+
87
+ a {
88
+ background: transparent;
89
+ }
90
+
91
+ //
92
+ // Improve readability when focused and also mouse hovered in all browsers.
93
+ //
94
+
95
+ a:active,
96
+ a:hover {
97
+ outline: 0;
98
+ }
99
+
100
+ // Text-level semantics
101
+ // ==========================================================================
102
+
103
+ //
104
+ // Address styling not present in IE 8/9/10/11, Safari, and Chrome.
105
+ //
106
+
107
+ abbr[title] {
108
+ border-bottom: 1px dotted;
109
+ }
110
+
111
+ //
112
+ // Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
113
+ //
114
+
115
+ b,
116
+ strong {
117
+ font-weight: bold;
118
+ }
119
+
120
+ //
121
+ // Address styling not present in Safari and Chrome.
122
+ //
123
+
124
+ dfn {
125
+ font-style: italic;
126
+ }
127
+
128
+ //
129
+ // Address variable `h1` font-size and margin within `section` and `article`
130
+ // contexts in Firefox 4+, Safari, and Chrome.
131
+ //
132
+
133
+ h1 {
134
+ font-size: 2em;
135
+ margin: 0.67em 0;
136
+ }
137
+
138
+ //
139
+ // Address styling not present in IE 8/9.
140
+ //
141
+
142
+ mark {
143
+ background: #ff0;
144
+ color: #000;
145
+ }
146
+
147
+ //
148
+ // Address inconsistent and variable font size in all browsers.
149
+ //
150
+
151
+ small {
152
+ font-size: 80%;
153
+ }
154
+
155
+ //
156
+ // Prevent `sub` and `sup` affecting `line-height` in all browsers.
157
+ //
158
+
159
+ sub,
160
+ sup {
161
+ font-size: 75%;
162
+ line-height: 0;
163
+ position: relative;
164
+ vertical-align: baseline;
165
+ }
166
+
167
+ sup {
168
+ top: -0.5em;
169
+ }
170
+
171
+ sub {
172
+ bottom: -0.25em;
173
+ }
174
+
175
+ // Embedded content
176
+ // ==========================================================================
177
+
178
+ //
179
+ // Remove border when inside `a` element in IE 8/9/10.
180
+ //
181
+
182
+ img {
183
+ border: 0;
184
+ }
185
+
186
+ //
187
+ // Correct overflow not hidden in IE 9/10/11.
188
+ //
189
+
190
+ svg:not(:root) {
191
+ overflow: hidden;
192
+ }
193
+
194
+ // Grouping content
195
+ // ==========================================================================
196
+
197
+ //
198
+ // Address margin not present in IE 8/9 and Safari.
199
+ //
200
+
201
+ figure {
202
+ margin: 1em 40px;
203
+ }
204
+
205
+ //
206
+ // Address differences between Firefox and other browsers.
207
+ //
208
+
209
+ hr {
210
+ -moz-box-sizing: content-box;
211
+ box-sizing: content-box;
212
+ height: 0;
213
+ }
214
+
215
+ //
216
+ // Contain overflow in all browsers.
217
+ //
218
+
219
+ pre {
220
+ overflow: auto;
221
+ }
222
+
223
+ //
224
+ // Address odd `em`-unit font size rendering in all browsers.
225
+ //
226
+
227
+ code,
228
+ kbd,
229
+ pre,
230
+ samp {
231
+ font-family: monospace, monospace;
232
+ font-size: 1em;
233
+ }
234
+
235
+ // Forms
236
+ // ==========================================================================
237
+
238
+ //
239
+ // Known limitation: by default, Chrome and Safari on OS X allow very limited
240
+ // styling of `select`, unless a `border` property is set.
241
+ //
242
+
243
+ //
244
+ // 1. Correct color not being inherited.
245
+ // Known issue: affects color of disabled elements.
246
+ // 2. Correct font properties not being inherited.
247
+ // 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
248
+ //
249
+
250
+ button,
251
+ input,
252
+ optgroup,
253
+ select,
254
+ textarea {
255
+ color: inherit; // 1
256
+ font: inherit; // 2
257
+ margin: 0; // 3
258
+ }
259
+
260
+ //
261
+ // Address `overflow` set to `hidden` in IE 8/9/10/11.
262
+ //
263
+
264
+ button {
265
+ overflow: visible;
266
+ }
267
+
268
+ //
269
+ // Address inconsistent `text-transform` inheritance for `button` and `select`.
270
+ // All other form control elements do not inherit `text-transform` values.
271
+ // Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
272
+ // Correct `select` style inheritance in Firefox.
273
+ //
274
+
275
+ button,
276
+ select {
277
+ text-transform: none;
278
+ }
279
+
280
+ //
281
+ // 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
282
+ // and `video` controls.
283
+ // 2. Correct inability to style clickable `input` types in iOS.
284
+ // 3. Improve usability and consistency of cursor style between image-type
285
+ // `input` and others.
286
+ //
287
+
288
+ button,
289
+ html input[type="button"], // 1
290
+ input[type="reset"],
291
+ input[type="submit"] {
292
+ -webkit-appearance: button; // 2
293
+ cursor: pointer; // 3
294
+ }
295
+
296
+ //
297
+ // Re-set default cursor for disabled elements.
298
+ //
299
+
300
+ button[disabled],
301
+ html input[disabled] {
302
+ cursor: default;
303
+ }
304
+
305
+ //
306
+ // Remove inner padding and border in Firefox 4+.
307
+ //
308
+
309
+ button::-moz-focus-inner,
310
+ input::-moz-focus-inner {
311
+ border: 0;
312
+ padding: 0;
313
+ }
314
+
315
+ //
316
+ // Address Firefox 4+ setting `line-height` on `input` using `!important` in
317
+ // the UA stylesheet.
318
+ //
319
+
320
+ input {
321
+ line-height: normal;
322
+ }
323
+
324
+ //
325
+ // It's recommended that you don't attempt to style these elements.
326
+ // Firefox's implementation doesn't respect box-sizing, padding, or width.
327
+ //
328
+ // 1. Address box sizing set to `content-box` in IE 8/9/10.
329
+ // 2. Remove excess padding in IE 8/9/10.
330
+ //
331
+
332
+ input[type="checkbox"],
333
+ input[type="radio"] {
334
+ box-sizing: border-box; // 1
335
+ padding: 0; // 2
336
+ }
337
+
338
+ //
339
+ // Fix the cursor style for Chrome's increment/decrement buttons. For certain
340
+ // `font-size` values of the `input`, it causes the cursor style of the
341
+ // decrement button to change from `default` to `text`.
342
+ //
343
+
344
+ input[type="number"]::-webkit-inner-spin-button,
345
+ input[type="number"]::-webkit-outer-spin-button {
346
+ height: auto;
347
+ }
348
+
349
+ //
350
+ // 1. Address `appearance` set to `searchfield` in Safari and Chrome.
351
+ // 2. Address `box-sizing` set to `border-box` in Safari and Chrome
352
+ // (include `-moz` to future-proof).
353
+ //
354
+
355
+ input[type="search"] {
356
+ -webkit-appearance: textfield; // 1
357
+ -moz-box-sizing: content-box;
358
+ -webkit-box-sizing: content-box; // 2
359
+ box-sizing: content-box;
360
+ }
361
+
362
+ //
363
+ // Remove inner padding and search cancel button in Safari and Chrome on OS X.
364
+ // Safari (but not Chrome) clips the cancel button when the search input has
365
+ // padding (and `textfield` appearance).
366
+ //
367
+
368
+ input[type="search"]::-webkit-search-cancel-button,
369
+ input[type="search"]::-webkit-search-decoration {
370
+ -webkit-appearance: none;
371
+ }
372
+
373
+ //
374
+ // Define consistent border, margin, and padding.
375
+ //
376
+
377
+ fieldset {
378
+ border: 1px solid #c0c0c0;
379
+ margin: 0 2px;
380
+ padding: 0.35em 0.625em 0.75em;
381
+ }
382
+
383
+ //
384
+ // 1. Correct `color` not being inherited in IE 8/9/10/11.
385
+ // 2. Remove padding so people aren't caught out if they zero out fieldsets.
386
+ //
387
+
388
+ legend {
389
+ border: 0; // 1
390
+ padding: 0; // 2
391
+ }
392
+
393
+ //
394
+ // Remove default vertical scrollbar in IE 8/9/10/11.
395
+ //
396
+
397
+ textarea {
398
+ overflow: auto;
399
+ }
400
+
401
+ //
402
+ // Don't inherit the `font-weight` (applied by a rule above).
403
+ // NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
404
+ //
405
+
406
+ optgroup {
407
+ font-weight: bold;
408
+ }
409
+
410
+ // Tables
411
+ // ==========================================================================
412
+
413
+ //
414
+ // Remove most spacing between table cells.
415
+ //
416
+
417
+ table {
418
+ border-collapse: collapse;
419
+ border-spacing: 0;
420
+ }
421
+
422
+ td,
423
+ th {
424
+ padding: 0;
425
+ }
@@ -0,0 +1,55 @@
1
+ //
2
+ // Pager pagination
3
+ // --------------------------------------------------
4
+
5
+
6
+ .pager {
7
+ padding-left: 0;
8
+ margin: $line-height-computed 0;
9
+ list-style: none;
10
+ text-align: center;
11
+ @include clearfix();
12
+ li {
13
+ display: inline;
14
+ > a,
15
+ > span {
16
+ display: inline-block;
17
+ padding: 5px 14px;
18
+ background-color: $pager-bg;
19
+ border: 1px solid $pager-border;
20
+ border-radius: $pager-border-radius;
21
+ }
22
+
23
+ > a:hover,
24
+ > a:focus {
25
+ text-decoration: none;
26
+ background-color: $pager-hover-bg;
27
+ }
28
+ }
29
+
30
+ .next {
31
+ > a,
32
+ > span {
33
+ float: right;
34
+ }
35
+ }
36
+
37
+ .previous {
38
+ > a,
39
+ > span {
40
+ float: left;
41
+ }
42
+ }
43
+
44
+ .disabled {
45
+ > a,
46
+ > a:hover,
47
+ > a:focus,
48
+ > span {
49
+ color: $pager-disabled-color;
50
+ background-color: $pager-bg;
51
+ cursor: not-allowed;
52
+ }
53
+ }
54
+
55
+ }