tolaria 1.0.0

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 (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: