outpost-cms 0.0.3

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