outpost-cms 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (168) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.md +295 -0
  3. data/Rakefile +26 -0
  4. data/app/assets/images/glyphicons-halflings-red.png +0 -0
  5. data/app/assets/javascripts/outpost/application.js +1 -0
  6. data/app/assets/javascripts/outpost/auto_slug_field.js.coffee +53 -0
  7. data/app/assets/javascripts/outpost/base.js.coffee +1 -0
  8. data/app/assets/javascripts/outpost/date_time_input.js.coffee +108 -0
  9. data/app/assets/javascripts/outpost/field_counter.js.coffee +93 -0
  10. data/app/assets/javascripts/outpost/field_manager.js.coffee +37 -0
  11. data/app/assets/javascripts/outpost/global_plugins.js.coffee +87 -0
  12. data/app/assets/javascripts/outpost/index_manager.js.coffee +88 -0
  13. data/app/assets/javascripts/outpost/notification.js.coffee +46 -0
  14. data/app/assets/javascripts/outpost/preview.js.coffee +60 -0
  15. data/app/assets/javascripts/outpost/templates/date_field.jst.eco +3 -0
  16. data/app/assets/javascripts/outpost/templates/loading.jst.eco +11 -0
  17. data/app/assets/javascripts/outpost/templates/slug_generate_button.jst.eco +1 -0
  18. data/app/assets/javascripts/outpost/templates/time_field.jst.eco +3 -0
  19. data/app/assets/javascripts/outpost/templates.js +1 -0
  20. data/app/assets/javascripts/outpost.js +32 -0
  21. data/app/assets/stylesheets/outpost/_base.css.scss +127 -0
  22. data/app/assets/stylesheets/outpost/_edit.css.scss +13 -0
  23. data/app/assets/stylesheets/outpost/_forms.css.scss +116 -0
  24. data/app/assets/stylesheets/outpost/_index.css.scss +68 -0
  25. data/app/assets/stylesheets/outpost/_utility.css.scss +16 -0
  26. data/app/assets/stylesheets/outpost/application.css.scss +1 -0
  27. data/app/assets/stylesheets/outpost/bootstrap/bootstrap.css.scss +49 -0
  28. data/app/assets/stylesheets/outpost/bootstrap/datepicker.css.scss +301 -0
  29. data/app/assets/stylesheets/outpost.css.scss +14 -0
  30. data/app/controllers/outpost/application_controller.rb +40 -0
  31. data/app/controllers/outpost/base_controller.rb +3 -0
  32. data/app/controllers/outpost/errors_controller.rb +9 -0
  33. data/app/controllers/outpost/home_controller.rb +2 -0
  34. data/app/controllers/outpost/resource_controller.rb +12 -0
  35. data/app/controllers/outpost/sessions_controller.rb +36 -0
  36. data/app/helpers/authorization_helper.rb +44 -0
  37. data/app/helpers/list_helper.rb +243 -0
  38. data/app/helpers/outpost_helper.rb +49 -0
  39. data/app/helpers/render_helper.rb +41 -0
  40. data/app/helpers/utility_helper.rb +136 -0
  41. data/app/inputs/date_time_input.rb +12 -0
  42. data/app/models/permission.rb +18 -0
  43. data/app/models/user_permission.rb +4 -0
  44. data/app/views/kaminari/bootstrap/_first_page.html.erb +3 -0
  45. data/app/views/kaminari/bootstrap/_gap.html.erb +3 -0
  46. data/app/views/kaminari/bootstrap/_last_page.html.erb +3 -0
  47. data/app/views/kaminari/bootstrap/_next_page.html.erb +3 -0
  48. data/app/views/kaminari/bootstrap/_page.html.erb +3 -0
  49. data/app/views/kaminari/bootstrap/_paginator.html.erb +17 -0
  50. data/app/views/kaminari/bootstrap/_prev_page.html.erb +3 -0
  51. data/app/views/layouts/outpost/application.html.erb +101 -0
  52. data/app/views/layouts/outpost/minimal.html.erb +26 -0
  53. data/app/views/outpost/errors/error_404.html.erb +1 -0
  54. data/app/views/outpost/errors/error_500.html.erb +8 -0
  55. data/app/views/outpost/home/dashboard.html.erb +1 -0
  56. data/app/views/outpost/resource/_errors.html.erb +11 -0
  57. data/app/views/outpost/resource/_extra_fields.html.erb +1 -0
  58. data/app/views/outpost/resource/_form_fields.html.erb +9 -0
  59. data/app/views/outpost/resource/edit.html.erb +44 -0
  60. data/app/views/outpost/resource/index.html.erb +22 -0
  61. data/app/views/outpost/resource/new.html.erb +21 -0
  62. data/app/views/outpost/resource/search.html.erb +1 -0
  63. data/app/views/outpost/resource/show.html.erb +1 -0
  64. data/app/views/outpost/sessions/new.html.erb +16 -0
  65. data/app/views/outpost/shared/_add_link.html.erb +1 -0
  66. data/app/views/outpost/shared/_breadcrumbs.html.erb +15 -0
  67. data/app/views/outpost/shared/_cancel_link.html.erb +1 -0
  68. data/app/views/outpost/shared/_columns.html.erb +5 -0
  69. data/app/views/outpost/shared/_filters.html.erb +16 -0
  70. data/app/views/outpost/shared/_flash_messages.html.erb +6 -0
  71. data/app/views/outpost/shared/_form_block.html.erb +18 -0
  72. data/app/views/outpost/shared/_form_nav.html.erb +12 -0
  73. data/app/views/outpost/shared/_headers.html.erb +16 -0
  74. data/app/views/outpost/shared/_index_header.html.erb +4 -0
  75. data/app/views/outpost/shared/_list_table.html.erb +7 -0
  76. data/app/views/outpost/shared/_modal.html.erb +16 -0
  77. data/app/views/outpost/shared/_navigation.html.erb +31 -0
  78. data/app/views/outpost/shared/_notice.html.erb +1 -0
  79. data/app/views/outpost/shared/_pagination.html.erb +2 -0
  80. data/app/views/outpost/shared/_preview_errors.html.erb +9 -0
  81. data/app/views/outpost/shared/_submit_row.html.erb +50 -0
  82. data/config/routes.rb +4 -0
  83. data/lib/action_view/helpers/form_builder.rb +71 -0
  84. data/lib/outpost/breadcrumbs.rb +73 -0
  85. data/lib/outpost/config.rb +63 -0
  86. data/lib/outpost/controller/actions.rb +72 -0
  87. data/lib/outpost/controller/authentication.rb +34 -0
  88. data/lib/outpost/controller/authorization.rb +28 -0
  89. data/lib/outpost/controller/callbacks.rb +14 -0
  90. data/lib/outpost/controller/custom_errors.rb +41 -0
  91. data/lib/outpost/controller/filtering.rb +22 -0
  92. data/lib/outpost/controller/helpers.rb +52 -0
  93. data/lib/outpost/controller/ordering.rb +46 -0
  94. data/lib/outpost/controller/preferences.rb +71 -0
  95. data/lib/outpost/controller.rb +123 -0
  96. data/lib/outpost/engine.rb +10 -0
  97. data/lib/outpost/helpers/naming.rb +22 -0
  98. data/lib/outpost/helpers.rb +6 -0
  99. data/lib/outpost/hook.rb +35 -0
  100. data/lib/outpost/list/base.rb +78 -0
  101. data/lib/outpost/list/column.rb +24 -0
  102. data/lib/outpost/list/filter.rb +37 -0
  103. data/lib/outpost/list.rb +15 -0
  104. data/lib/outpost/model/authentication.rb +34 -0
  105. data/lib/outpost/model/authorization.rb +32 -0
  106. data/lib/outpost/model/identifier.rb +39 -0
  107. data/lib/outpost/model/methods.rb +23 -0
  108. data/lib/outpost/model/naming.rb +63 -0
  109. data/lib/outpost/model/routing.rb +138 -0
  110. data/lib/outpost/model/serializer.rb +27 -0
  111. data/lib/outpost/model.rb +22 -0
  112. data/lib/outpost/test.rb +21 -0
  113. data/lib/outpost/version.rb +3 -0
  114. data/lib/outpost-cms.rb +2 -0
  115. data/lib/outpost.rb +80 -0
  116. data/lib/tasks/outpost_tasks.rake +7 -0
  117. data/spec/controllers/authentication_spec.rb +62 -0
  118. data/spec/controllers/sessions_controller_spec.rb +99 -0
  119. data/spec/factories.rb +31 -0
  120. data/spec/helpers/authorization_helper_spec.rb +47 -0
  121. data/spec/helpers/list_helper_spec.rb +74 -0
  122. data/spec/helpers/outpost_helper_spec.rb +5 -0
  123. data/spec/helpers/render_helper_spec.rb +19 -0
  124. data/spec/helpers/utility_helper_spec.rb +53 -0
  125. data/spec/internal/app/controllers/application_controller.rb +3 -0
  126. data/spec/internal/app/controllers/outpost/people_controller.rb +23 -0
  127. data/spec/internal/app/controllers/outpost/pidgeons_controller.rb +5 -0
  128. data/spec/internal/app/controllers/people_controller.rb +9 -0
  129. data/spec/internal/app/controllers/pidgeons_controller.rb +3 -0
  130. data/spec/internal/app/models/person.rb +10 -0
  131. data/spec/internal/app/models/pidgeon.rb +3 -0
  132. data/spec/internal/app/models/post.rb +4 -0
  133. data/spec/internal/app/models/user.rb +4 -0
  134. data/spec/internal/app/views/people/index.html.erb +7 -0
  135. data/spec/internal/app/views/people/show.html.erb +1 -0
  136. data/spec/internal/config/database.yml +3 -0
  137. data/spec/internal/config/initializers/configuration.rb +3 -0
  138. data/spec/internal/config/initializers/outpost.rb +6 -0
  139. data/spec/internal/config/routes.rb +16 -0
  140. data/spec/internal/db/combustion_test.sqlite +0 -0
  141. data/spec/internal/db/schema.rb +44 -0
  142. data/spec/internal/db/seeds.rb +14 -0
  143. data/spec/internal/log/test.log +59277 -0
  144. data/spec/internal/public/favicon.ico +0 -0
  145. data/spec/lib/breadcrumbs_spec.rb +54 -0
  146. data/spec/lib/config_spec.rb +76 -0
  147. data/spec/lib/controller/actions_spec.rb +5 -0
  148. data/spec/lib/controller/authorization_spec.rb +4 -0
  149. data/spec/lib/controller/callbacks_spec.rb +31 -0
  150. data/spec/lib/controller/helpers_spec.rb +33 -0
  151. data/spec/lib/controller_spec.rb +25 -0
  152. data/spec/lib/helpers/naming_spec.rb +10 -0
  153. data/spec/lib/hook_spec.rb +13 -0
  154. data/spec/lib/list/base_spec.rb +96 -0
  155. data/spec/lib/list/column_spec.rb +46 -0
  156. data/spec/lib/list/filter_spec.rb +44 -0
  157. data/spec/lib/model/authentication_spec.rb +29 -0
  158. data/spec/lib/model/authorization_spec.rb +66 -0
  159. data/spec/lib/model/identifier_spec.rb +51 -0
  160. data/spec/lib/model/methods_spec.rb +8 -0
  161. data/spec/lib/model/naming_spec.rb +55 -0
  162. data/spec/lib/model/routing_spec.rb +166 -0
  163. data/spec/lib/model/serializer_spec.rb +13 -0
  164. data/spec/lib/outpost_spec.rb +34 -0
  165. data/spec/models/permission_spec.rb +10 -0
  166. data/spec/models/user_permission_spec.rb +4 -0
  167. data/spec/spec_helper.rb +22 -0
  168. metadata +411 -0
@@ -0,0 +1,166 @@
1
+ require 'spec_helper'
2
+
3
+ describe Outpost::Model::Routing do
4
+ describe "::admin_new_path" do
5
+ it "figures out the new path using singular_route_key" do
6
+ Person.stub(:singular_route_key) { "employee" }
7
+ Rails.application.routes.url_helpers.should_receive("new_outpost_employee_path")
8
+ Person.admin_new_path
9
+ end
10
+ end
11
+
12
+ describe '::admin_new_url' do
13
+ it 'uses the apps routes' do
14
+ Person.stub(:singular_route_key) { "employee" }
15
+ Rails.application.routes.url_helpers.should_receive("new_outpost_employee_url")
16
+ Person.admin_new_url
17
+ end
18
+ end
19
+
20
+ #---------------------
21
+
22
+ describe "::admin_index_path" do
23
+ it "figures out the index path using route_key" do
24
+ Person.stub(:route_key) { "employees" }
25
+ Rails.application.routes.url_helpers.should_receive("outpost_employees_path")
26
+ Person.admin_index_path
27
+ end
28
+ end
29
+
30
+ describe '::admin_index_url' do
31
+ it 'uses the apps routes' do
32
+ Person.stub(:route_key) { "employees" }
33
+ Rails.application.routes.url_helpers.should_receive("outpost_employees_url")
34
+ Person.admin_index_url
35
+ end
36
+ end
37
+
38
+ describe '::admin_create_path' do
39
+ it 'is admin_index_path' do
40
+ Person.admin_create_path.should eq Person.admin_index_path
41
+ end
42
+ end
43
+
44
+ describe '::admin_create_url' do
45
+ it 'is admin_index_url' do
46
+ Person.admin_create_url.should eq Person.admin_index_url
47
+ end
48
+ end
49
+
50
+ #---------------------
51
+
52
+ context 'member routes' do
53
+ let(:person) { create :person, name: "Thelonious Monk" }
54
+
55
+ describe 'non-persisted object' do
56
+ it 'has nil routes' do
57
+ person = build :person
58
+ person.admin_edit_path.should eq nil
59
+ person.admin_edit_url.should eq nil
60
+ person.admin_update_path.should eq nil
61
+ # etc...
62
+ end
63
+ end
64
+
65
+
66
+ describe "#admin_edit_path" do
67
+ it "figures out the edit path using singular_route_key and the record's id" do
68
+ Person.stub(:singular_route_key) { "employee" }
69
+ Rails.application.routes.url_helpers.should_receive("edit_outpost_employee_path").with(person.id)
70
+ person.admin_edit_path
71
+ end
72
+ end
73
+
74
+ describe "#admin_edit_url" do
75
+ it "uses the apps routes" do
76
+ Person.stub(:singular_route_key) { "employee" }
77
+ Rails.application.routes.url_helpers.should_receive("edit_outpost_employee_url").with(person.id)
78
+ person.admin_edit_url
79
+ end
80
+ end
81
+
82
+ #---------------------
83
+
84
+ describe "#admin_show_path" do
85
+ it "figures out the show path using singular_route_key and the record's id" do
86
+ Person.stub(:singular_route_key) { "employee" }
87
+ Rails.application.routes.url_helpers.should_receive("outpost_employee_path").with(person.id)
88
+ person.admin_show_path
89
+ end
90
+ end
91
+
92
+ describe "#admin_show_url" do
93
+ it "uses the apps routes" do
94
+ Person.stub(:singular_route_key) { "employee" }
95
+ Rails.application.routes.url_helpers.should_receive("outpost_employee_url").with(person.id)
96
+ person.admin_show_url
97
+ end
98
+ end
99
+
100
+ describe '#admin_update_path' do
101
+ it 'is admin_show_path' do
102
+ person.admin_update_path.should eq person.admin_show_path
103
+ end
104
+ end
105
+
106
+ describe '#admin_update_url' do
107
+ it 'is admin_show_url' do
108
+ person.admin_update_url.should eq person.admin_show_url
109
+
110
+ end
111
+ end
112
+
113
+ describe '#admin_destroy_path' do
114
+ it 'is admin_show_path' do
115
+ person.admin_destroy_path.should eq person.admin_show_path
116
+ end
117
+ end
118
+
119
+ describe '#admin_destroy_path' do
120
+ it 'is admin_show_url' do
121
+ person.admin_destroy_url.should eq person.admin_show_url
122
+ end
123
+ end
124
+
125
+ #----------------
126
+
127
+ describe "#public_path" do
128
+ it "returns nil if #route_hash is blank" do
129
+ person.stub(:route_hash) { Hash.new }
130
+ person.public_path.should eq nil
131
+ end
132
+
133
+ it "returns nil if if ROUTE_KEY isn't defined" do
134
+ pidgeon = Pidgeon.new
135
+ pidgeon.stub(:route_hash) { { id: 1, slug: "cool-dude" } }
136
+ pidgeon.public_path.should eq nil
137
+ end
138
+
139
+ it "returns the route helper with the route hash" do
140
+ Rails.application.routes.url_helpers.should_receive(:person_path).with(person.route_hash).and_return("/employee/999")
141
+ person.public_path.should eq "/employee/999"
142
+ end
143
+ end
144
+
145
+ #----------------
146
+
147
+ describe "#route_hash" do
148
+ it "is just an empty hash, meant to be overridden" do
149
+ Pidgeon.new.route_hash.should eq Hash.new
150
+ end
151
+ end
152
+
153
+ #----------------
154
+
155
+ describe "#public_url" do
156
+ before :each do
157
+ person.stub(:public_path) { "/people/linkpath" }
158
+ Rails.application.stub(:default_url_options).and_return(host: "www.omg.com")
159
+ end
160
+
161
+ it "contains the object's link path and configured remote URL" do
162
+ person.public_url.should eq "http://www.omg.com/people/linkpath"
163
+ end
164
+ end
165
+ end
166
+ end
@@ -0,0 +1,13 @@
1
+ require 'spec_helper'
2
+
3
+ describe Outpost::Model::Serializer do
4
+ describe "#as_json" do
5
+ pending
6
+ end
7
+
8
+ #----------------
9
+
10
+ describe "#json" do
11
+ pending
12
+ end
13
+ end
@@ -0,0 +1,34 @@
1
+ require 'spec_helper'
2
+
3
+ describe Outpost do
4
+ describe "::obj_by_key" do
5
+ context "no match" do
6
+ it "returns nil" do
7
+ Outpost.obj_by_key("nomatch").should eq nil
8
+ end
9
+
10
+ it "accepts nil argument" do
11
+ Outpost.obj_by_key(nil).should eq nil
12
+ end
13
+ end
14
+
15
+ context "match" do
16
+ it "is nil if no record exists" do
17
+ Outpost.obj_by_key("blogs/entry:9999999").should eq nil
18
+ end
19
+
20
+ it "finds and returns the record if everything matches" do
21
+ post = create :post
22
+ Outpost.obj_by_key(post.obj_key).should eq post
23
+ end
24
+ end
25
+ end
26
+
27
+ #---------------
28
+
29
+ describe "::obj_by_key!" do
30
+ it "raises an error if no object is found" do
31
+ -> { Outpost.obj_by_key!("something") }.should raise_error ActiveRecord::RecordNotFound
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,10 @@
1
+ require 'spec_helper'
2
+
3
+ describe Permission do
4
+ describe "#title" do
5
+ it "is the resource, titleized" do
6
+ permission = create :permission, resource: "SomeCoolThing"
7
+ permission.title.should eq "Some Cool Thing"
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,4 @@
1
+ require 'spec_helper'
2
+
3
+ describe UserPermission do
4
+ end
@@ -0,0 +1,22 @@
1
+ unless defined?(RAKED)
2
+ Bundler.require :default, :test
3
+ Combustion.initialize! :active_record, :action_controller
4
+ end
5
+
6
+ require 'rspec/rails'
7
+ require 'factory_girl'
8
+ load 'factories.rb'
9
+
10
+ Rails.backtrace_cleaner.remove_silencers!
11
+
12
+ # Load support files
13
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
14
+
15
+ RSpec.configure do |config|
16
+ config.include FactoryGirl::Syntax::Methods
17
+
18
+ config.mock_with :rspec
19
+ config.use_transactional_fixtures = true
20
+ config.order = "random"
21
+ config.infer_base_class_for_anonymous_controllers = false
22
+ end
metadata ADDED
@@ -0,0 +1,411 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: outpost-cms
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.3
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Bryan Ricker
9
+ - SCPR
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2013-07-29 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rails
17
+ requirement: !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
22
+ version: '3.2'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ! '>='
29
+ - !ruby/object:Gem::Version
30
+ version: '3.2'
31
+ - !ruby/object:Gem::Dependency
32
+ name: jquery-rails
33
+ requirement: !ruby/object:Gem::Requirement
34
+ none: false
35
+ requirements:
36
+ - - ! '>='
37
+ - !ruby/object:Gem::Version
38
+ version: '0'
39
+ type: :runtime
40
+ prerelease: false
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ! '>='
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ - !ruby/object:Gem::Dependency
48
+ name: bcrypt-ruby
49
+ requirement: !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 3.0.0
55
+ type: :runtime
56
+ prerelease: false
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ none: false
59
+ requirements:
60
+ - - ~>
61
+ - !ruby/object:Gem::Version
62
+ version: 3.0.0
63
+ - !ruby/object:Gem::Dependency
64
+ name: activerecord
65
+ requirement: !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
68
+ - - ! '>='
69
+ - !ruby/object:Gem::Version
70
+ version: '0'
71
+ type: :development
72
+ prerelease: false
73
+ version_requirements: !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - ! '>='
77
+ - !ruby/object:Gem::Version
78
+ version: '0'
79
+ - !ruby/object:Gem::Dependency
80
+ name: actionpack
81
+ requirement: !ruby/object:Gem::Requirement
82
+ none: false
83
+ requirements:
84
+ - - ! '>='
85
+ - !ruby/object:Gem::Version
86
+ version: '0'
87
+ type: :development
88
+ prerelease: false
89
+ version_requirements: !ruby/object:Gem::Requirement
90
+ none: false
91
+ requirements:
92
+ - - ! '>='
93
+ - !ruby/object:Gem::Version
94
+ version: '0'
95
+ - !ruby/object:Gem::Dependency
96
+ name: sqlite3
97
+ requirement: !ruby/object:Gem::Requirement
98
+ none: false
99
+ requirements:
100
+ - - ~>
101
+ - !ruby/object:Gem::Version
102
+ version: '1.3'
103
+ type: :development
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ none: false
107
+ requirements:
108
+ - - ~>
109
+ - !ruby/object:Gem::Version
110
+ version: '1.3'
111
+ - !ruby/object:Gem::Dependency
112
+ name: combustion
113
+ requirement: !ruby/object:Gem::Requirement
114
+ none: false
115
+ requirements:
116
+ - - ~>
117
+ - !ruby/object:Gem::Version
118
+ version: '0.3'
119
+ type: :development
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ none: false
123
+ requirements:
124
+ - - ~>
125
+ - !ruby/object:Gem::Version
126
+ version: '0.3'
127
+ - !ruby/object:Gem::Dependency
128
+ name: rspec-rails
129
+ requirement: !ruby/object:Gem::Requirement
130
+ none: false
131
+ requirements:
132
+ - - ~>
133
+ - !ruby/object:Gem::Version
134
+ version: 2.13.1
135
+ type: :development
136
+ prerelease: false
137
+ version_requirements: !ruby/object:Gem::Requirement
138
+ none: false
139
+ requirements:
140
+ - - ~>
141
+ - !ruby/object:Gem::Version
142
+ version: 2.13.1
143
+ - !ruby/object:Gem::Dependency
144
+ name: factory_girl
145
+ requirement: !ruby/object:Gem::Requirement
146
+ none: false
147
+ requirements:
148
+ - - ~>
149
+ - !ruby/object:Gem::Version
150
+ version: '4.2'
151
+ type: :development
152
+ prerelease: false
153
+ version_requirements: !ruby/object:Gem::Requirement
154
+ none: false
155
+ requirements:
156
+ - - ~>
157
+ - !ruby/object:Gem::Version
158
+ version: '4.2'
159
+ description: This engine plugs into your Rails application and provides a plethora
160
+ of useful methods, concerns, helpers, and conventions to help you quickly build
161
+ a CMS for your Newsroom.
162
+ email:
163
+ - bricker@scpr.org
164
+ executables: []
165
+ extensions: []
166
+ extra_rdoc_files: []
167
+ files:
168
+ - app/assets/images/glyphicons-halflings-red.png
169
+ - app/assets/javascripts/outpost/application.js
170
+ - app/assets/javascripts/outpost/auto_slug_field.js.coffee
171
+ - app/assets/javascripts/outpost/base.js.coffee
172
+ - app/assets/javascripts/outpost/date_time_input.js.coffee
173
+ - app/assets/javascripts/outpost/field_counter.js.coffee
174
+ - app/assets/javascripts/outpost/field_manager.js.coffee
175
+ - app/assets/javascripts/outpost/global_plugins.js.coffee
176
+ - app/assets/javascripts/outpost/index_manager.js.coffee
177
+ - app/assets/javascripts/outpost/notification.js.coffee
178
+ - app/assets/javascripts/outpost/preview.js.coffee
179
+ - app/assets/javascripts/outpost/templates/date_field.jst.eco
180
+ - app/assets/javascripts/outpost/templates/loading.jst.eco
181
+ - app/assets/javascripts/outpost/templates/slug_generate_button.jst.eco
182
+ - app/assets/javascripts/outpost/templates/time_field.jst.eco
183
+ - app/assets/javascripts/outpost/templates.js
184
+ - app/assets/javascripts/outpost.js
185
+ - app/assets/stylesheets/outpost/_base.css.scss
186
+ - app/assets/stylesheets/outpost/_edit.css.scss
187
+ - app/assets/stylesheets/outpost/_forms.css.scss
188
+ - app/assets/stylesheets/outpost/_index.css.scss
189
+ - app/assets/stylesheets/outpost/_utility.css.scss
190
+ - app/assets/stylesheets/outpost/application.css.scss
191
+ - app/assets/stylesheets/outpost/bootstrap/bootstrap.css.scss
192
+ - app/assets/stylesheets/outpost/bootstrap/datepicker.css.scss
193
+ - app/assets/stylesheets/outpost.css.scss
194
+ - app/controllers/outpost/application_controller.rb
195
+ - app/controllers/outpost/base_controller.rb
196
+ - app/controllers/outpost/errors_controller.rb
197
+ - app/controllers/outpost/home_controller.rb
198
+ - app/controllers/outpost/resource_controller.rb
199
+ - app/controllers/outpost/sessions_controller.rb
200
+ - app/helpers/authorization_helper.rb
201
+ - app/helpers/list_helper.rb
202
+ - app/helpers/outpost_helper.rb
203
+ - app/helpers/render_helper.rb
204
+ - app/helpers/utility_helper.rb
205
+ - app/inputs/date_time_input.rb
206
+ - app/models/permission.rb
207
+ - app/models/user_permission.rb
208
+ - app/views/kaminari/bootstrap/_first_page.html.erb
209
+ - app/views/kaminari/bootstrap/_gap.html.erb
210
+ - app/views/kaminari/bootstrap/_last_page.html.erb
211
+ - app/views/kaminari/bootstrap/_next_page.html.erb
212
+ - app/views/kaminari/bootstrap/_page.html.erb
213
+ - app/views/kaminari/bootstrap/_paginator.html.erb
214
+ - app/views/kaminari/bootstrap/_prev_page.html.erb
215
+ - app/views/layouts/outpost/application.html.erb
216
+ - app/views/layouts/outpost/minimal.html.erb
217
+ - app/views/outpost/errors/error_404.html.erb
218
+ - app/views/outpost/errors/error_500.html.erb
219
+ - app/views/outpost/home/dashboard.html.erb
220
+ - app/views/outpost/resource/_errors.html.erb
221
+ - app/views/outpost/resource/_extra_fields.html.erb
222
+ - app/views/outpost/resource/_form_fields.html.erb
223
+ - app/views/outpost/resource/edit.html.erb
224
+ - app/views/outpost/resource/index.html.erb
225
+ - app/views/outpost/resource/new.html.erb
226
+ - app/views/outpost/resource/search.html.erb
227
+ - app/views/outpost/resource/show.html.erb
228
+ - app/views/outpost/sessions/new.html.erb
229
+ - app/views/outpost/shared/_add_link.html.erb
230
+ - app/views/outpost/shared/_breadcrumbs.html.erb
231
+ - app/views/outpost/shared/_cancel_link.html.erb
232
+ - app/views/outpost/shared/_columns.html.erb
233
+ - app/views/outpost/shared/_filters.html.erb
234
+ - app/views/outpost/shared/_flash_messages.html.erb
235
+ - app/views/outpost/shared/_form_block.html.erb
236
+ - app/views/outpost/shared/_form_nav.html.erb
237
+ - app/views/outpost/shared/_headers.html.erb
238
+ - app/views/outpost/shared/_index_header.html.erb
239
+ - app/views/outpost/shared/_list_table.html.erb
240
+ - app/views/outpost/shared/_modal.html.erb
241
+ - app/views/outpost/shared/_navigation.html.erb
242
+ - app/views/outpost/shared/_notice.html.erb
243
+ - app/views/outpost/shared/_pagination.html.erb
244
+ - app/views/outpost/shared/_preview_errors.html.erb
245
+ - app/views/outpost/shared/_submit_row.html.erb
246
+ - config/routes.rb
247
+ - lib/action_view/helpers/form_builder.rb
248
+ - lib/outpost/breadcrumbs.rb
249
+ - lib/outpost/config.rb
250
+ - lib/outpost/controller/actions.rb
251
+ - lib/outpost/controller/authentication.rb
252
+ - lib/outpost/controller/authorization.rb
253
+ - lib/outpost/controller/callbacks.rb
254
+ - lib/outpost/controller/custom_errors.rb
255
+ - lib/outpost/controller/filtering.rb
256
+ - lib/outpost/controller/helpers.rb
257
+ - lib/outpost/controller/ordering.rb
258
+ - lib/outpost/controller/preferences.rb
259
+ - lib/outpost/controller.rb
260
+ - lib/outpost/engine.rb
261
+ - lib/outpost/helpers/naming.rb
262
+ - lib/outpost/helpers.rb
263
+ - lib/outpost/hook.rb
264
+ - lib/outpost/list/base.rb
265
+ - lib/outpost/list/column.rb
266
+ - lib/outpost/list/filter.rb
267
+ - lib/outpost/list.rb
268
+ - lib/outpost/model/authentication.rb
269
+ - lib/outpost/model/authorization.rb
270
+ - lib/outpost/model/identifier.rb
271
+ - lib/outpost/model/methods.rb
272
+ - lib/outpost/model/naming.rb
273
+ - lib/outpost/model/routing.rb
274
+ - lib/outpost/model/serializer.rb
275
+ - lib/outpost/model.rb
276
+ - lib/outpost/test.rb
277
+ - lib/outpost/version.rb
278
+ - lib/outpost-cms.rb
279
+ - lib/outpost.rb
280
+ - lib/tasks/outpost_tasks.rake
281
+ - MIT-LICENSE
282
+ - Rakefile
283
+ - README.md
284
+ - spec/controllers/authentication_spec.rb
285
+ - spec/controllers/sessions_controller_spec.rb
286
+ - spec/factories.rb
287
+ - spec/helpers/authorization_helper_spec.rb
288
+ - spec/helpers/list_helper_spec.rb
289
+ - spec/helpers/outpost_helper_spec.rb
290
+ - spec/helpers/render_helper_spec.rb
291
+ - spec/helpers/utility_helper_spec.rb
292
+ - spec/internal/app/controllers/application_controller.rb
293
+ - spec/internal/app/controllers/outpost/people_controller.rb
294
+ - spec/internal/app/controllers/outpost/pidgeons_controller.rb
295
+ - spec/internal/app/controllers/people_controller.rb
296
+ - spec/internal/app/controllers/pidgeons_controller.rb
297
+ - spec/internal/app/models/person.rb
298
+ - spec/internal/app/models/pidgeon.rb
299
+ - spec/internal/app/models/post.rb
300
+ - spec/internal/app/models/user.rb
301
+ - spec/internal/app/views/people/index.html.erb
302
+ - spec/internal/app/views/people/show.html.erb
303
+ - spec/internal/config/database.yml
304
+ - spec/internal/config/initializers/configuration.rb
305
+ - spec/internal/config/initializers/outpost.rb
306
+ - spec/internal/config/routes.rb
307
+ - spec/internal/db/combustion_test.sqlite
308
+ - spec/internal/db/schema.rb
309
+ - spec/internal/db/seeds.rb
310
+ - spec/internal/log/test.log
311
+ - spec/internal/public/favicon.ico
312
+ - spec/lib/breadcrumbs_spec.rb
313
+ - spec/lib/config_spec.rb
314
+ - spec/lib/controller/actions_spec.rb
315
+ - spec/lib/controller/authorization_spec.rb
316
+ - spec/lib/controller/callbacks_spec.rb
317
+ - spec/lib/controller/helpers_spec.rb
318
+ - spec/lib/controller_spec.rb
319
+ - spec/lib/helpers/naming_spec.rb
320
+ - spec/lib/hook_spec.rb
321
+ - spec/lib/list/base_spec.rb
322
+ - spec/lib/list/column_spec.rb
323
+ - spec/lib/list/filter_spec.rb
324
+ - spec/lib/model/authentication_spec.rb
325
+ - spec/lib/model/authorization_spec.rb
326
+ - spec/lib/model/identifier_spec.rb
327
+ - spec/lib/model/methods_spec.rb
328
+ - spec/lib/model/naming_spec.rb
329
+ - spec/lib/model/routing_spec.rb
330
+ - spec/lib/model/serializer_spec.rb
331
+ - spec/lib/outpost_spec.rb
332
+ - spec/models/permission_spec.rb
333
+ - spec/models/user_permission_spec.rb
334
+ - spec/spec_helper.rb
335
+ homepage: http://github.com/SCPR/outpost
336
+ licenses: []
337
+ post_install_message:
338
+ rdoc_options: []
339
+ require_paths:
340
+ - lib
341
+ required_ruby_version: !ruby/object:Gem::Requirement
342
+ none: false
343
+ requirements:
344
+ - - ! '>='
345
+ - !ruby/object:Gem::Version
346
+ version: '0'
347
+ required_rubygems_version: !ruby/object:Gem::Requirement
348
+ none: false
349
+ requirements:
350
+ - - ! '>='
351
+ - !ruby/object:Gem::Version
352
+ version: '0'
353
+ requirements: []
354
+ rubyforge_project:
355
+ rubygems_version: 1.8.25
356
+ signing_key:
357
+ specification_version: 3
358
+ summary: A Rails Engine for quickly standing up a CMS for a Newsroom
359
+ test_files:
360
+ - spec/controllers/authentication_spec.rb
361
+ - spec/controllers/sessions_controller_spec.rb
362
+ - spec/factories.rb
363
+ - spec/helpers/authorization_helper_spec.rb
364
+ - spec/helpers/list_helper_spec.rb
365
+ - spec/helpers/outpost_helper_spec.rb
366
+ - spec/helpers/render_helper_spec.rb
367
+ - spec/helpers/utility_helper_spec.rb
368
+ - spec/internal/app/controllers/application_controller.rb
369
+ - spec/internal/app/controllers/outpost/people_controller.rb
370
+ - spec/internal/app/controllers/outpost/pidgeons_controller.rb
371
+ - spec/internal/app/controllers/people_controller.rb
372
+ - spec/internal/app/controllers/pidgeons_controller.rb
373
+ - spec/internal/app/models/person.rb
374
+ - spec/internal/app/models/pidgeon.rb
375
+ - spec/internal/app/models/post.rb
376
+ - spec/internal/app/models/user.rb
377
+ - spec/internal/app/views/people/index.html.erb
378
+ - spec/internal/app/views/people/show.html.erb
379
+ - spec/internal/config/database.yml
380
+ - spec/internal/config/initializers/configuration.rb
381
+ - spec/internal/config/initializers/outpost.rb
382
+ - spec/internal/config/routes.rb
383
+ - spec/internal/db/combustion_test.sqlite
384
+ - spec/internal/db/schema.rb
385
+ - spec/internal/db/seeds.rb
386
+ - spec/internal/log/test.log
387
+ - spec/internal/public/favicon.ico
388
+ - spec/lib/breadcrumbs_spec.rb
389
+ - spec/lib/config_spec.rb
390
+ - spec/lib/controller/actions_spec.rb
391
+ - spec/lib/controller/authorization_spec.rb
392
+ - spec/lib/controller/callbacks_spec.rb
393
+ - spec/lib/controller/helpers_spec.rb
394
+ - spec/lib/controller_spec.rb
395
+ - spec/lib/helpers/naming_spec.rb
396
+ - spec/lib/hook_spec.rb
397
+ - spec/lib/list/base_spec.rb
398
+ - spec/lib/list/column_spec.rb
399
+ - spec/lib/list/filter_spec.rb
400
+ - spec/lib/model/authentication_spec.rb
401
+ - spec/lib/model/authorization_spec.rb
402
+ - spec/lib/model/identifier_spec.rb
403
+ - spec/lib/model/methods_spec.rb
404
+ - spec/lib/model/naming_spec.rb
405
+ - spec/lib/model/routing_spec.rb
406
+ - spec/lib/model/serializer_spec.rb
407
+ - spec/lib/outpost_spec.rb
408
+ - spec/models/permission_spec.rb
409
+ - spec/models/user_permission_spec.rb
410
+ - spec/spec_helper.rb
411
+ has_rdoc: