tolaria 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (219) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +66 -0
  3. data/.yardopts +4 -0
  4. data/CNAME +1 -0
  5. data/CONTRIBUTING.md +32 -0
  6. data/Gemfile +2 -0
  7. data/LICENSE.md +9 -0
  8. data/README.md +538 -0
  9. data/Rakefile +52 -0
  10. data/app/assets/fonts/admin/fontawesome.eot +0 -0
  11. data/app/assets/fonts/admin/fontawesome.svg +565 -0
  12. data/app/assets/fonts/admin/fontawesome.ttf +0 -0
  13. data/app/assets/fonts/admin/fontawesome.woff +0 -0
  14. data/app/assets/fonts/admin/fontawesome.woff2 +0 -0
  15. data/app/assets/images/admin/columbia_banner.png +0 -0
  16. data/app/assets/images/admin/favicon.ico +0 -0
  17. data/app/assets/images/admin/noise.png +0 -0
  18. data/app/assets/images/admin/select_arrows.svg +1 -0
  19. data/app/assets/javascripts/admin/admin.js +4 -0
  20. data/app/assets/javascripts/admin/base.js +12 -0
  21. data/app/assets/javascripts/admin/lib/backbone.js +1888 -0
  22. data/app/assets/javascripts/admin/lib/jquery.chosen.js +1272 -0
  23. data/app/assets/javascripts/admin/lib/jquery.js +10361 -0
  24. data/app/assets/javascripts/admin/lib/jquery.selection.js +352 -0
  25. data/app/assets/javascripts/admin/lib/moment.js +3103 -0
  26. data/app/assets/javascripts/admin/lib/no.js +6 -0
  27. data/app/assets/javascripts/admin/lib/underscore.js +1570 -0
  28. data/app/assets/javascripts/admin/models/composer_buttons.js +45 -0
  29. data/app/assets/javascripts/admin/models/rails_meta.js +4 -0
  30. data/app/assets/javascripts/admin/views/field_with_errors.js +19 -0
  31. data/app/assets/javascripts/admin/views/fields/attachment_field.js +32 -0
  32. data/app/assets/javascripts/admin/views/fields/has_many.js +64 -0
  33. data/app/assets/javascripts/admin/views/fields/image_association_select.js +31 -0
  34. data/app/assets/javascripts/admin/views/fields/markdown_composer.js +167 -0
  35. data/app/assets/javascripts/admin/views/fields/searchable_select.js +70 -0
  36. data/app/assets/javascripts/admin/views/fields/slug_field.js +38 -0
  37. data/app/assets/javascripts/admin/views/fields/swatch_field.js +55 -0
  38. data/app/assets/javascripts/admin/views/fields/timestamp_field.js +80 -0
  39. data/app/assets/javascripts/admin/views/flash_message.js +18 -0
  40. data/app/assets/javascripts/admin/views/form_orchestrator.js +41 -0
  41. data/app/assets/javascripts/admin/views/navigation.js +20 -0
  42. data/app/assets/javascripts/admin/views/resource_form.js +18 -0
  43. data/app/assets/javascripts/admin/views/search_form.js +20 -0
  44. data/app/assets/javascripts/admin/views/sessions.js +109 -0
  45. data/app/assets/javascripts/admin/views/virtual_form.js +47 -0
  46. data/app/assets/stylesheets/admin/_base.scss +5 -0
  47. data/app/assets/stylesheets/admin/_reset.scss +149 -0
  48. data/app/assets/stylesheets/admin/_root.scss +63 -0
  49. data/app/assets/stylesheets/admin/admin.scss +4 -0
  50. data/app/assets/stylesheets/admin/components/_blank_slate.scss +44 -0
  51. data/app/assets/stylesheets/admin/components/_buttons.scss +82 -0
  52. data/app/assets/stylesheets/admin/components/_flash_message.scss +64 -0
  53. data/app/assets/stylesheets/admin/components/_footer.scss +9 -0
  54. data/app/assets/stylesheets/admin/components/_header.scss +107 -0
  55. data/app/assets/stylesheets/admin/components/_index_table.scss +120 -0
  56. data/app/assets/stylesheets/admin/components/_main.scss +68 -0
  57. data/app/assets/stylesheets/admin/components/_markdown_body.scss +109 -0
  58. data/app/assets/stylesheets/admin/components/_navigation.scss +110 -0
  59. data/app/assets/stylesheets/admin/components/_pagination.scss +36 -0
  60. data/app/assets/stylesheets/admin/components/_pill.scss +11 -0
  61. data/app/assets/stylesheets/admin/components/_resource_form.scss +222 -0
  62. data/app/assets/stylesheets/admin/components/_search_form.scss +36 -0
  63. data/app/assets/stylesheets/admin/components/_sessions.scss +152 -0
  64. data/app/assets/stylesheets/admin/components/_show_table.scss +67 -0
  65. data/app/assets/stylesheets/admin/components/forms/_attachment_field.scss +59 -0
  66. data/app/assets/stylesheets/admin/components/forms/_chosen.scss +478 -0
  67. data/app/assets/stylesheets/admin/components/forms/_image_association_select.scss +20 -0
  68. data/app/assets/stylesheets/admin/components/forms/_markdown_composer.scss +149 -0
  69. data/app/assets/stylesheets/admin/components/forms/_nested_fields.scss +63 -0
  70. data/app/assets/stylesheets/admin/components/forms/_searchable_select.scss +8 -0
  71. data/app/assets/stylesheets/admin/components/forms/_slug_field.scss +20 -0
  72. data/app/assets/stylesheets/admin/components/forms/_swatch_field.scss +47 -0
  73. data/app/assets/stylesheets/admin/components/forms/_timestamp_field.scss +15 -0
  74. data/app/assets/stylesheets/admin/components/help_link.scss +6 -0
  75. data/app/assets/stylesheets/admin/mixins/_clearfix.scss +18 -0
  76. data/app/assets/stylesheets/admin/mixins/_min_max_width.scss +11 -0
  77. data/app/assets/stylesheets/admin/mixins/_rgbb.scss +7 -0
  78. data/app/assets/stylesheets/admin/mixins/_visuallyhidden.scss +33 -0
  79. data/app/assets/stylesheets/admin/settings/_animations.scss +21 -0
  80. data/app/assets/stylesheets/admin/settings/_breakpoints.scss +2 -0
  81. data/app/assets/stylesheets/admin/settings/_colors.scss +32 -0
  82. data/app/assets/stylesheets/admin/settings/_fonts.scss +31 -0
  83. data/app/assets/stylesheets/admin/settings/_icons.scss +1658 -0
  84. data/app/controllers/admin/admin_controller.rb +21 -0
  85. data/app/controllers/admin/sessions_controller.rb +112 -0
  86. data/app/controllers/tolaria/resource_controller.rb +132 -0
  87. data/app/controllers/tolaria/tolaria_controller.rb +40 -0
  88. data/app/helpers/admin/table_helper.rb +175 -0
  89. data/app/helpers/admin/view_helper.rb +76 -0
  90. data/app/mailers/passcode_mailer.rb +11 -0
  91. data/app/models/administrator.rb +146 -0
  92. data/app/views/admin/administrators/_form.html.erb +16 -0
  93. data/app/views/admin/administrators/_index.html.erb +20 -0
  94. data/app/views/admin/administrators/_search.html.erb +5 -0
  95. data/app/views/admin/administrators/_show.html.erb +14 -0
  96. data/app/views/admin/help/help_link.html.erb +16 -0
  97. data/app/views/admin/session/form.html.erb +52 -0
  98. data/app/views/admin/shared/_flash_messages.html.erb +42 -0
  99. data/app/views/admin/shared/_footer.html.erb +8 -0
  100. data/app/views/admin/shared/_head.html.erb +11 -0
  101. data/app/views/admin/shared/_header.html.erb +43 -0
  102. data/app/views/admin/shared/_navigation.html.erb +47 -0
  103. data/app/views/admin/shared/_skiplinks.html.erb +0 -0
  104. data/app/views/admin/shared/forms/_attachment_field.html.erb +17 -0
  105. data/app/views/admin/shared/forms/_has_many.html.erb +14 -0
  106. data/app/views/admin/shared/forms/_has_many_header.html.erb +19 -0
  107. data/app/views/admin/shared/forms/_image_association_select.html.erb +6 -0
  108. data/app/views/admin/shared/forms/_image_field.html.erb +19 -0
  109. data/app/views/admin/shared/forms/_markdown_composer.html.erb +29 -0
  110. data/app/views/admin/shared/forms/_searchable_select.html.erb +3 -0
  111. data/app/views/admin/shared/forms/_slug_field.html.erb +9 -0
  112. data/app/views/admin/shared/forms/_swatch_field.html.erb +4 -0
  113. data/app/views/admin/shared/forms/_timestamp_field.html.erb +19 -0
  114. data/app/views/admin/tolaria_resource/_form_buttons.html.erb +10 -0
  115. data/app/views/admin/tolaria_resource/_index_table.html.erb +73 -0
  116. data/app/views/admin/tolaria_resource/_search_form.html.erb +32 -0
  117. data/app/views/admin/tolaria_resource/_show_buttons.html.erb +13 -0
  118. data/app/views/admin/tolaria_resource/edit.html.erb +34 -0
  119. data/app/views/admin/tolaria_resource/index.html.erb +36 -0
  120. data/app/views/admin/tolaria_resource/new.html.erb +1 -0
  121. data/app/views/admin/tolaria_resource/show.html.erb +52 -0
  122. data/app/views/kaminari/admin/_first_page.html.erb +9 -0
  123. data/app/views/kaminari/admin/_last_page.html.erb +9 -0
  124. data/app/views/kaminari/admin/_next_page.html.erb +9 -0
  125. data/app/views/kaminari/admin/_page.html.erb +17 -0
  126. data/app/views/kaminari/admin/_paginator.html.erb +21 -0
  127. data/app/views/kaminari/admin/_prev_page.html.erb +9 -0
  128. data/app/views/layouts/admin/admin.html.erb +21 -0
  129. data/app/views/layouts/admin/sessions.html.erb +12 -0
  130. data/app/views/passcode_mailer/passcode.text.erb +5 -0
  131. data/lib/generators/tolaria/install/install_generator.rb +21 -0
  132. data/lib/generators/tolaria/install/templates/administrators_migration.rb +31 -0
  133. data/lib/generators/tolaria/install/templates/tolaria_initializer.rb +93 -0
  134. data/lib/tasks/admin.rake +32 -0
  135. data/lib/tolaria.rb +27 -0
  136. data/lib/tolaria/active_record.rb +55 -0
  137. data/lib/tolaria/admin.rb +4 -0
  138. data/lib/tolaria/categories.rb +21 -0
  139. data/lib/tolaria/config.rb +40 -0
  140. data/lib/tolaria/default_config.rb +74 -0
  141. data/lib/tolaria/engine.rb +23 -0
  142. data/lib/tolaria/form_buildable.rb +203 -0
  143. data/lib/tolaria/help_links.rb +78 -0
  144. data/lib/tolaria/introspection.rb +13 -0
  145. data/lib/tolaria/manage.rb +57 -0
  146. data/lib/tolaria/managed_class.rb +90 -0
  147. data/lib/tolaria/markdown.rb +28 -0
  148. data/lib/tolaria/random_tokens.rb +16 -0
  149. data/lib/tolaria/reload.rb +21 -0
  150. data/lib/tolaria/routes.rb +33 -0
  151. data/lib/tolaria/version.rb +13 -0
  152. data/test/demo/Rakefile +4 -0
  153. data/test/demo/app/assets/javascripts/application.js +1 -0
  154. data/test/demo/app/assets/stylesheets/application.scss +1 -0
  155. data/test/demo/app/controllers/application_controller.rb +5 -0
  156. data/test/demo/app/controllers/concerns/.keep +0 -0
  157. data/test/demo/app/controllers/homepage_controller.rb +4 -0
  158. data/test/demo/app/helpers/application_helper.rb +2 -0
  159. data/test/demo/app/mailers/.keep +0 -0
  160. data/test/demo/app/models/.keep +0 -0
  161. data/test/demo/app/models/blog_post.rb +43 -0
  162. data/test/demo/app/models/footnote.rb +5 -0
  163. data/test/demo/app/models/image.rb +19 -0
  164. data/test/demo/app/models/legal_page.rb +24 -0
  165. data/test/demo/app/models/miscellany.rb +12 -0
  166. data/test/demo/app/models/topic.rb +22 -0
  167. data/test/demo/app/models/video.rb +16 -0
  168. data/test/demo/app/views/admin/blog_posts/_form.html.erb +48 -0
  169. data/test/demo/app/views/admin/blog_posts/_search.html.erb +5 -0
  170. data/test/demo/app/views/admin/help/markdown-help.md +95 -0
  171. data/test/demo/app/views/admin/images/_form.html.erb +26 -0
  172. data/test/demo/app/views/admin/legal_pages/_form.html.erb +15 -0
  173. data/test/demo/app/views/admin/topics/_form.html.erb +3 -0
  174. data/test/demo/app/views/admin/videos/_form.html.erb +11 -0
  175. data/test/demo/app/views/homepage/homepage.html.erb +3 -0
  176. data/test/demo/app/views/layouts/application.html.erb +14 -0
  177. data/test/demo/bin/bundle +3 -0
  178. data/test/demo/bin/rails +4 -0
  179. data/test/demo/bin/rake +4 -0
  180. data/test/demo/bin/setup +29 -0
  181. data/test/demo/config.ru +4 -0
  182. data/test/demo/config/application.rb +26 -0
  183. data/test/demo/config/boot.rb +4 -0
  184. data/test/demo/config/database.yml +18 -0
  185. data/test/demo/config/environment.rb +3 -0
  186. data/test/demo/config/environments/development.rb +43 -0
  187. data/test/demo/config/environments/test.rb +44 -0
  188. data/test/demo/config/initializers/assets.rb +11 -0
  189. data/test/demo/config/initializers/cookies_serializer.rb +2 -0
  190. data/test/demo/config/initializers/filter_parameter_logging.rb +3 -0
  191. data/test/demo/config/initializers/inflections.rb +17 -0
  192. data/test/demo/config/initializers/markdown.rb +44 -0
  193. data/test/demo/config/initializers/secret_token.rb +2 -0
  194. data/test/demo/config/initializers/session_store.rb +2 -0
  195. data/test/demo/config/initializers/tolaria.rb +17 -0
  196. data/test/demo/config/initializers/wrap_parameters.rb +14 -0
  197. data/test/demo/config/routes.rb +4 -0
  198. data/test/demo/db/migrate/20150601202901_create_administrators.rb +31 -0
  199. data/test/demo/db/migrate/20150603204006_add_testing_models.rb +27 -0
  200. data/test/demo/db/migrate/20150609232013_create_footnotes.rb +10 -0
  201. data/test/demo/db/migrate/20150610135235_create_additional_demo_objects.rb +50 -0
  202. data/test/demo/db/schema.rb +112 -0
  203. data/test/demo/log/.keep +0 -0
  204. data/test/demo/public/404.html +67 -0
  205. data/test/demo/public/422.html +67 -0
  206. data/test/demo/public/500.html +66 -0
  207. data/test/demo/public/favicon.ico +0 -0
  208. data/test/integration/help_link_test.rb +73 -0
  209. data/test/integration/interface_test.rb +63 -0
  210. data/test/integration/router_test.rb +73 -0
  211. data/test/integration/session_test.rb +88 -0
  212. data/test/test_helper.rb +58 -0
  213. data/test/unit/configuration_test.rb +21 -0
  214. data/test/unit/managed_classes_test.rb +54 -0
  215. data/test/unit/markdown_test.rb +12 -0
  216. data/test/unit/menu_test.rb +32 -0
  217. data/test/unit/random_tokens_test.rb +13 -0
  218. data/tolaria.gemspec +35 -0
  219. metadata +499 -0
@@ -0,0 +1,32 @@
1
+ require "test_helper"
2
+
3
+ class MenuTest < ActiveSupport::TestCase
4
+
5
+ test "categories from the demo application returned correctly" do
6
+ assert_equal ["Prose", "Media", "Settings"], Tolaria.categories
7
+ end
8
+
9
+ test "menu categories supersede class categories" do
10
+ old_setting = Tolaria.config.menu_categories
11
+ Tolaria.config.menu_categories = ["Bull", "Krem"]
12
+ assert_equal ["Bull", "Krem", "Settings", "Prose", "Media"], Tolaria.categories
13
+ Tolaria.config.menu_categories = old_setting
14
+ end
15
+
16
+ test "class categories get added to the menu" do
17
+
18
+ class ::Card < ActiveRecord::Base
19
+ manage_with_tolaria using:{
20
+ category: "Payments",
21
+ }
22
+ end
23
+
24
+ assert_equal ["Prose", "Media", "Settings", "Payments"], Tolaria.categories
25
+
26
+ # Unseat the Card class so that it doesn't leak out of this test
27
+ Tolaria.discard_managed_class(Card)
28
+ Object.send(:remove_const, :Card)
29
+
30
+ end
31
+
32
+ end
@@ -0,0 +1,13 @@
1
+ require "test_helper"
2
+
3
+ class RandomTokensTest < ActiveSupport::TestCase
4
+
5
+ test "generate a 32-character alphanumeric token" do
6
+ assert_match /[A-z0-9]{32}/, Tolaria::RandomTokens.auth_token
7
+ end
8
+
9
+ test "generate a 6-digit passcode" do
10
+ assert_match /[0-9]{6}/, Tolaria::RandomTokens.passcode
11
+ end
12
+
13
+ end
@@ -0,0 +1,35 @@
1
+ $LOAD_PATH.push File.expand_path("../lib", __FILE__)
2
+ require "tolaria/version"
3
+
4
+ Gem::Specification.new do |s|
5
+
6
+ s.name = "tolaria"
7
+ s.version = Tolaria::VERSION::STRING
8
+ s.platform = Gem::Platform::RUBY
9
+ s.licenses = ["MIT"]
10
+ s.authors = ["Corey Csuhta", "Daniel Boggs"]
11
+ s.homepage = "https://github.com/threespot/tolaria"
12
+ s.summary = "A Rails CMS framework for making people happy."
13
+ s.description = "Tolaria is a content management system (CMS) framework for Ruby on Rails. It greatly speeds up the necessary—but repetitive—task of creating useful admin panels, forms, and model workflow. Includes a library of rich form components, passwordless authentication, and text search tools. Make your editors happy!"
14
+
15
+ s.files = `git ls-files`.split("\n")
16
+ s.test_files = `git ls-files --directory test`.split("\n")
17
+ s.require_paths = ["lib"]
18
+
19
+ s.required_ruby_version = ">= 2.2"
20
+
21
+ s.add_dependency "bcrypt", "~> 3.1"
22
+ s.add_dependency "kaminari", "~> 0.16"
23
+ s.add_dependency "rails", "~> 4.0"
24
+ s.add_dependency "ransack", "~> 1.6"
25
+ s.add_dependency "sass", "~> 3"
26
+ s.add_dependency "sass-rails", "~> 5.0"
27
+
28
+ s.add_development_dependency "capybara", "~> 2.4"
29
+ s.add_development_dependency "minitest", "~> 5.7"
30
+ s.add_development_dependency "rdoc", "~> 4"
31
+ s.add_development_dependency "redcarpet", "~> 3"
32
+ s.add_development_dependency "sqlite3", "~> 1.3"
33
+ s.add_development_dependency "timecop", "~> 0.7"
34
+
35
+ end
metadata ADDED
@@ -0,0 +1,499 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: tolaria
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Corey Csuhta
8
+ - Daniel Boggs
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2015-06-19 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: bcrypt
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: '3.1'
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - "~>"
26
+ - !ruby/object:Gem::Version
27
+ version: '3.1'
28
+ - !ruby/object:Gem::Dependency
29
+ name: kaminari
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - "~>"
33
+ - !ruby/object:Gem::Version
34
+ version: '0.16'
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: '0.16'
42
+ - !ruby/object:Gem::Dependency
43
+ name: rails
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: '4.0'
49
+ type: :runtime
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - "~>"
54
+ - !ruby/object:Gem::Version
55
+ version: '4.0'
56
+ - !ruby/object:Gem::Dependency
57
+ name: ransack
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: '1.6'
63
+ type: :runtime
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '1.6'
70
+ - !ruby/object:Gem::Dependency
71
+ name: sass
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - "~>"
75
+ - !ruby/object:Gem::Version
76
+ version: '3'
77
+ type: :runtime
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - "~>"
82
+ - !ruby/object:Gem::Version
83
+ version: '3'
84
+ - !ruby/object:Gem::Dependency
85
+ name: sass-rails
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - "~>"
89
+ - !ruby/object:Gem::Version
90
+ version: '5.0'
91
+ type: :runtime
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - "~>"
96
+ - !ruby/object:Gem::Version
97
+ version: '5.0'
98
+ - !ruby/object:Gem::Dependency
99
+ name: capybara
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - "~>"
103
+ - !ruby/object:Gem::Version
104
+ version: '2.4'
105
+ type: :development
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - "~>"
110
+ - !ruby/object:Gem::Version
111
+ version: '2.4'
112
+ - !ruby/object:Gem::Dependency
113
+ name: minitest
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - "~>"
117
+ - !ruby/object:Gem::Version
118
+ version: '5.7'
119
+ type: :development
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - "~>"
124
+ - !ruby/object:Gem::Version
125
+ version: '5.7'
126
+ - !ruby/object:Gem::Dependency
127
+ name: rdoc
128
+ requirement: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - "~>"
131
+ - !ruby/object:Gem::Version
132
+ version: '4'
133
+ type: :development
134
+ prerelease: false
135
+ version_requirements: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - "~>"
138
+ - !ruby/object:Gem::Version
139
+ version: '4'
140
+ - !ruby/object:Gem::Dependency
141
+ name: redcarpet
142
+ requirement: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - "~>"
145
+ - !ruby/object:Gem::Version
146
+ version: '3'
147
+ type: :development
148
+ prerelease: false
149
+ version_requirements: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - "~>"
152
+ - !ruby/object:Gem::Version
153
+ version: '3'
154
+ - !ruby/object:Gem::Dependency
155
+ name: sqlite3
156
+ requirement: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - "~>"
159
+ - !ruby/object:Gem::Version
160
+ version: '1.3'
161
+ type: :development
162
+ prerelease: false
163
+ version_requirements: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - "~>"
166
+ - !ruby/object:Gem::Version
167
+ version: '1.3'
168
+ - !ruby/object:Gem::Dependency
169
+ name: timecop
170
+ requirement: !ruby/object:Gem::Requirement
171
+ requirements:
172
+ - - "~>"
173
+ - !ruby/object:Gem::Version
174
+ version: '0.7'
175
+ type: :development
176
+ prerelease: false
177
+ version_requirements: !ruby/object:Gem::Requirement
178
+ requirements:
179
+ - - "~>"
180
+ - !ruby/object:Gem::Version
181
+ version: '0.7'
182
+ description: Tolaria is a content management system (CMS) framework for Ruby on Rails.
183
+ It greatly speeds up the necessary—but repetitive—task of creating useful admin
184
+ panels, forms, and model workflow. Includes a library of rich form components, passwordless
185
+ authentication, and text search tools. Make your editors happy!
186
+ email:
187
+ executables: []
188
+ extensions: []
189
+ extra_rdoc_files: []
190
+ files:
191
+ - ".gitignore"
192
+ - ".yardopts"
193
+ - CNAME
194
+ - CONTRIBUTING.md
195
+ - Gemfile
196
+ - LICENSE.md
197
+ - README.md
198
+ - Rakefile
199
+ - app/assets/fonts/admin/fontawesome.eot
200
+ - app/assets/fonts/admin/fontawesome.svg
201
+ - app/assets/fonts/admin/fontawesome.ttf
202
+ - app/assets/fonts/admin/fontawesome.woff
203
+ - app/assets/fonts/admin/fontawesome.woff2
204
+ - app/assets/images/admin/columbia_banner.png
205
+ - app/assets/images/admin/favicon.ico
206
+ - app/assets/images/admin/noise.png
207
+ - app/assets/images/admin/select_arrows.svg
208
+ - app/assets/javascripts/admin/admin.js
209
+ - app/assets/javascripts/admin/base.js
210
+ - app/assets/javascripts/admin/lib/backbone.js
211
+ - app/assets/javascripts/admin/lib/jquery.chosen.js
212
+ - app/assets/javascripts/admin/lib/jquery.js
213
+ - app/assets/javascripts/admin/lib/jquery.selection.js
214
+ - app/assets/javascripts/admin/lib/moment.js
215
+ - app/assets/javascripts/admin/lib/no.js
216
+ - app/assets/javascripts/admin/lib/underscore.js
217
+ - app/assets/javascripts/admin/models/composer_buttons.js
218
+ - app/assets/javascripts/admin/models/rails_meta.js
219
+ - app/assets/javascripts/admin/views/field_with_errors.js
220
+ - app/assets/javascripts/admin/views/fields/attachment_field.js
221
+ - app/assets/javascripts/admin/views/fields/has_many.js
222
+ - app/assets/javascripts/admin/views/fields/image_association_select.js
223
+ - app/assets/javascripts/admin/views/fields/markdown_composer.js
224
+ - app/assets/javascripts/admin/views/fields/searchable_select.js
225
+ - app/assets/javascripts/admin/views/fields/slug_field.js
226
+ - app/assets/javascripts/admin/views/fields/swatch_field.js
227
+ - app/assets/javascripts/admin/views/fields/timestamp_field.js
228
+ - app/assets/javascripts/admin/views/flash_message.js
229
+ - app/assets/javascripts/admin/views/form_orchestrator.js
230
+ - app/assets/javascripts/admin/views/navigation.js
231
+ - app/assets/javascripts/admin/views/resource_form.js
232
+ - app/assets/javascripts/admin/views/search_form.js
233
+ - app/assets/javascripts/admin/views/sessions.js
234
+ - app/assets/javascripts/admin/views/virtual_form.js
235
+ - app/assets/stylesheets/admin/_base.scss
236
+ - app/assets/stylesheets/admin/_reset.scss
237
+ - app/assets/stylesheets/admin/_root.scss
238
+ - app/assets/stylesheets/admin/admin.scss
239
+ - app/assets/stylesheets/admin/components/_blank_slate.scss
240
+ - app/assets/stylesheets/admin/components/_buttons.scss
241
+ - app/assets/stylesheets/admin/components/_flash_message.scss
242
+ - app/assets/stylesheets/admin/components/_footer.scss
243
+ - app/assets/stylesheets/admin/components/_header.scss
244
+ - app/assets/stylesheets/admin/components/_index_table.scss
245
+ - app/assets/stylesheets/admin/components/_main.scss
246
+ - app/assets/stylesheets/admin/components/_markdown_body.scss
247
+ - app/assets/stylesheets/admin/components/_navigation.scss
248
+ - app/assets/stylesheets/admin/components/_pagination.scss
249
+ - app/assets/stylesheets/admin/components/_pill.scss
250
+ - app/assets/stylesheets/admin/components/_resource_form.scss
251
+ - app/assets/stylesheets/admin/components/_search_form.scss
252
+ - app/assets/stylesheets/admin/components/_sessions.scss
253
+ - app/assets/stylesheets/admin/components/_show_table.scss
254
+ - app/assets/stylesheets/admin/components/forms/_attachment_field.scss
255
+ - app/assets/stylesheets/admin/components/forms/_chosen.scss
256
+ - app/assets/stylesheets/admin/components/forms/_image_association_select.scss
257
+ - app/assets/stylesheets/admin/components/forms/_markdown_composer.scss
258
+ - app/assets/stylesheets/admin/components/forms/_nested_fields.scss
259
+ - app/assets/stylesheets/admin/components/forms/_searchable_select.scss
260
+ - app/assets/stylesheets/admin/components/forms/_slug_field.scss
261
+ - app/assets/stylesheets/admin/components/forms/_swatch_field.scss
262
+ - app/assets/stylesheets/admin/components/forms/_timestamp_field.scss
263
+ - app/assets/stylesheets/admin/components/help_link.scss
264
+ - app/assets/stylesheets/admin/mixins/_clearfix.scss
265
+ - app/assets/stylesheets/admin/mixins/_min_max_width.scss
266
+ - app/assets/stylesheets/admin/mixins/_rgbb.scss
267
+ - app/assets/stylesheets/admin/mixins/_visuallyhidden.scss
268
+ - app/assets/stylesheets/admin/settings/_animations.scss
269
+ - app/assets/stylesheets/admin/settings/_breakpoints.scss
270
+ - app/assets/stylesheets/admin/settings/_colors.scss
271
+ - app/assets/stylesheets/admin/settings/_fonts.scss
272
+ - app/assets/stylesheets/admin/settings/_icons.scss
273
+ - app/controllers/admin/admin_controller.rb
274
+ - app/controllers/admin/sessions_controller.rb
275
+ - app/controllers/tolaria/resource_controller.rb
276
+ - app/controllers/tolaria/tolaria_controller.rb
277
+ - app/helpers/admin/table_helper.rb
278
+ - app/helpers/admin/view_helper.rb
279
+ - app/mailers/passcode_mailer.rb
280
+ - app/models/administrator.rb
281
+ - app/views/admin/administrators/_form.html.erb
282
+ - app/views/admin/administrators/_index.html.erb
283
+ - app/views/admin/administrators/_search.html.erb
284
+ - app/views/admin/administrators/_show.html.erb
285
+ - app/views/admin/help/help_link.html.erb
286
+ - app/views/admin/session/form.html.erb
287
+ - app/views/admin/shared/_flash_messages.html.erb
288
+ - app/views/admin/shared/_footer.html.erb
289
+ - app/views/admin/shared/_head.html.erb
290
+ - app/views/admin/shared/_header.html.erb
291
+ - app/views/admin/shared/_navigation.html.erb
292
+ - app/views/admin/shared/_skiplinks.html.erb
293
+ - app/views/admin/shared/forms/_attachment_field.html.erb
294
+ - app/views/admin/shared/forms/_has_many.html.erb
295
+ - app/views/admin/shared/forms/_has_many_header.html.erb
296
+ - app/views/admin/shared/forms/_image_association_select.html.erb
297
+ - app/views/admin/shared/forms/_image_field.html.erb
298
+ - app/views/admin/shared/forms/_markdown_composer.html.erb
299
+ - app/views/admin/shared/forms/_searchable_select.html.erb
300
+ - app/views/admin/shared/forms/_slug_field.html.erb
301
+ - app/views/admin/shared/forms/_swatch_field.html.erb
302
+ - app/views/admin/shared/forms/_timestamp_field.html.erb
303
+ - app/views/admin/tolaria_resource/_form_buttons.html.erb
304
+ - app/views/admin/tolaria_resource/_index_table.html.erb
305
+ - app/views/admin/tolaria_resource/_search_form.html.erb
306
+ - app/views/admin/tolaria_resource/_show_buttons.html.erb
307
+ - app/views/admin/tolaria_resource/edit.html.erb
308
+ - app/views/admin/tolaria_resource/index.html.erb
309
+ - app/views/admin/tolaria_resource/new.html.erb
310
+ - app/views/admin/tolaria_resource/show.html.erb
311
+ - app/views/kaminari/admin/_first_page.html.erb
312
+ - app/views/kaminari/admin/_last_page.html.erb
313
+ - app/views/kaminari/admin/_next_page.html.erb
314
+ - app/views/kaminari/admin/_page.html.erb
315
+ - app/views/kaminari/admin/_paginator.html.erb
316
+ - app/views/kaminari/admin/_prev_page.html.erb
317
+ - app/views/layouts/admin/admin.html.erb
318
+ - app/views/layouts/admin/sessions.html.erb
319
+ - app/views/passcode_mailer/passcode.text.erb
320
+ - lib/generators/tolaria/install/install_generator.rb
321
+ - lib/generators/tolaria/install/templates/administrators_migration.rb
322
+ - lib/generators/tolaria/install/templates/tolaria_initializer.rb
323
+ - lib/tasks/admin.rake
324
+ - lib/tolaria.rb
325
+ - lib/tolaria/active_record.rb
326
+ - lib/tolaria/admin.rb
327
+ - lib/tolaria/categories.rb
328
+ - lib/tolaria/config.rb
329
+ - lib/tolaria/default_config.rb
330
+ - lib/tolaria/engine.rb
331
+ - lib/tolaria/form_buildable.rb
332
+ - lib/tolaria/help_links.rb
333
+ - lib/tolaria/introspection.rb
334
+ - lib/tolaria/manage.rb
335
+ - lib/tolaria/managed_class.rb
336
+ - lib/tolaria/markdown.rb
337
+ - lib/tolaria/random_tokens.rb
338
+ - lib/tolaria/reload.rb
339
+ - lib/tolaria/routes.rb
340
+ - lib/tolaria/version.rb
341
+ - test/demo/Rakefile
342
+ - test/demo/app/assets/javascripts/application.js
343
+ - test/demo/app/assets/stylesheets/application.scss
344
+ - test/demo/app/controllers/application_controller.rb
345
+ - test/demo/app/controllers/concerns/.keep
346
+ - test/demo/app/controllers/homepage_controller.rb
347
+ - test/demo/app/helpers/application_helper.rb
348
+ - test/demo/app/mailers/.keep
349
+ - test/demo/app/models/.keep
350
+ - test/demo/app/models/blog_post.rb
351
+ - test/demo/app/models/footnote.rb
352
+ - test/demo/app/models/image.rb
353
+ - test/demo/app/models/legal_page.rb
354
+ - test/demo/app/models/miscellany.rb
355
+ - test/demo/app/models/topic.rb
356
+ - test/demo/app/models/video.rb
357
+ - test/demo/app/views/admin/blog_posts/_form.html.erb
358
+ - test/demo/app/views/admin/blog_posts/_search.html.erb
359
+ - test/demo/app/views/admin/help/markdown-help.md
360
+ - test/demo/app/views/admin/images/_form.html.erb
361
+ - test/demo/app/views/admin/legal_pages/_form.html.erb
362
+ - test/demo/app/views/admin/topics/_form.html.erb
363
+ - test/demo/app/views/admin/videos/_form.html.erb
364
+ - test/demo/app/views/homepage/homepage.html.erb
365
+ - test/demo/app/views/layouts/application.html.erb
366
+ - test/demo/bin/bundle
367
+ - test/demo/bin/rails
368
+ - test/demo/bin/rake
369
+ - test/demo/bin/setup
370
+ - test/demo/config.ru
371
+ - test/demo/config/application.rb
372
+ - test/demo/config/boot.rb
373
+ - test/demo/config/database.yml
374
+ - test/demo/config/environment.rb
375
+ - test/demo/config/environments/development.rb
376
+ - test/demo/config/environments/test.rb
377
+ - test/demo/config/initializers/assets.rb
378
+ - test/demo/config/initializers/cookies_serializer.rb
379
+ - test/demo/config/initializers/filter_parameter_logging.rb
380
+ - test/demo/config/initializers/inflections.rb
381
+ - test/demo/config/initializers/markdown.rb
382
+ - test/demo/config/initializers/secret_token.rb
383
+ - test/demo/config/initializers/session_store.rb
384
+ - test/demo/config/initializers/tolaria.rb
385
+ - test/demo/config/initializers/wrap_parameters.rb
386
+ - test/demo/config/routes.rb
387
+ - test/demo/db/migrate/20150601202901_create_administrators.rb
388
+ - test/demo/db/migrate/20150603204006_add_testing_models.rb
389
+ - test/demo/db/migrate/20150609232013_create_footnotes.rb
390
+ - test/demo/db/migrate/20150610135235_create_additional_demo_objects.rb
391
+ - test/demo/db/schema.rb
392
+ - test/demo/log/.keep
393
+ - test/demo/public/404.html
394
+ - test/demo/public/422.html
395
+ - test/demo/public/500.html
396
+ - test/demo/public/favicon.ico
397
+ - test/integration/help_link_test.rb
398
+ - test/integration/interface_test.rb
399
+ - test/integration/router_test.rb
400
+ - test/integration/session_test.rb
401
+ - test/test_helper.rb
402
+ - test/unit/configuration_test.rb
403
+ - test/unit/managed_classes_test.rb
404
+ - test/unit/markdown_test.rb
405
+ - test/unit/menu_test.rb
406
+ - test/unit/random_tokens_test.rb
407
+ - tolaria.gemspec
408
+ homepage: https://github.com/threespot/tolaria
409
+ licenses:
410
+ - MIT
411
+ metadata: {}
412
+ post_install_message:
413
+ rdoc_options: []
414
+ require_paths:
415
+ - lib
416
+ required_ruby_version: !ruby/object:Gem::Requirement
417
+ requirements:
418
+ - - ">="
419
+ - !ruby/object:Gem::Version
420
+ version: '2.2'
421
+ required_rubygems_version: !ruby/object:Gem::Requirement
422
+ requirements:
423
+ - - ">="
424
+ - !ruby/object:Gem::Version
425
+ version: '0'
426
+ requirements: []
427
+ rubyforge_project:
428
+ rubygems_version: 2.4.8
429
+ signing_key:
430
+ specification_version: 4
431
+ summary: A Rails CMS framework for making people happy.
432
+ test_files:
433
+ - test/demo/Rakefile
434
+ - test/demo/app/assets/javascripts/application.js
435
+ - test/demo/app/assets/stylesheets/application.scss
436
+ - test/demo/app/controllers/application_controller.rb
437
+ - test/demo/app/controllers/concerns/.keep
438
+ - test/demo/app/controllers/homepage_controller.rb
439
+ - test/demo/app/helpers/application_helper.rb
440
+ - test/demo/app/mailers/.keep
441
+ - test/demo/app/models/.keep
442
+ - test/demo/app/models/blog_post.rb
443
+ - test/demo/app/models/footnote.rb
444
+ - test/demo/app/models/image.rb
445
+ - test/demo/app/models/legal_page.rb
446
+ - test/demo/app/models/miscellany.rb
447
+ - test/demo/app/models/topic.rb
448
+ - test/demo/app/models/video.rb
449
+ - test/demo/app/views/admin/blog_posts/_form.html.erb
450
+ - test/demo/app/views/admin/blog_posts/_search.html.erb
451
+ - test/demo/app/views/admin/help/markdown-help.md
452
+ - test/demo/app/views/admin/images/_form.html.erb
453
+ - test/demo/app/views/admin/legal_pages/_form.html.erb
454
+ - test/demo/app/views/admin/topics/_form.html.erb
455
+ - test/demo/app/views/admin/videos/_form.html.erb
456
+ - test/demo/app/views/homepage/homepage.html.erb
457
+ - test/demo/app/views/layouts/application.html.erb
458
+ - test/demo/bin/bundle
459
+ - test/demo/bin/rails
460
+ - test/demo/bin/rake
461
+ - test/demo/bin/setup
462
+ - test/demo/config.ru
463
+ - test/demo/config/application.rb
464
+ - test/demo/config/boot.rb
465
+ - test/demo/config/database.yml
466
+ - test/demo/config/environment.rb
467
+ - test/demo/config/environments/development.rb
468
+ - test/demo/config/environments/test.rb
469
+ - test/demo/config/initializers/assets.rb
470
+ - test/demo/config/initializers/cookies_serializer.rb
471
+ - test/demo/config/initializers/filter_parameter_logging.rb
472
+ - test/demo/config/initializers/inflections.rb
473
+ - test/demo/config/initializers/markdown.rb
474
+ - test/demo/config/initializers/secret_token.rb
475
+ - test/demo/config/initializers/session_store.rb
476
+ - test/demo/config/initializers/tolaria.rb
477
+ - test/demo/config/initializers/wrap_parameters.rb
478
+ - test/demo/config/routes.rb
479
+ - test/demo/db/migrate/20150601202901_create_administrators.rb
480
+ - test/demo/db/migrate/20150603204006_add_testing_models.rb
481
+ - test/demo/db/migrate/20150609232013_create_footnotes.rb
482
+ - test/demo/db/migrate/20150610135235_create_additional_demo_objects.rb
483
+ - test/demo/db/schema.rb
484
+ - test/demo/log/.keep
485
+ - test/demo/public/404.html
486
+ - test/demo/public/422.html
487
+ - test/demo/public/500.html
488
+ - test/demo/public/favicon.ico
489
+ - test/integration/help_link_test.rb
490
+ - test/integration/interface_test.rb
491
+ - test/integration/router_test.rb
492
+ - test/integration/session_test.rb
493
+ - test/test_helper.rb
494
+ - test/unit/configuration_test.rb
495
+ - test/unit/managed_classes_test.rb
496
+ - test/unit/markdown_test.rb
497
+ - test/unit/menu_test.rb
498
+ - test/unit/random_tokens_test.rb
499
+ has_rdoc: