push_type_core 0.1.0 → 0.1.1

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 (29) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/front_end_controller.rb +17 -0
  3. data/app/models/push_type/asset.rb +9 -2
  4. data/lib/generators/push_type/dummy/dummy_generator.rb +2 -5
  5. data/lib/push_type/core/engine.rb +6 -0
  6. data/lib/push_type/rails/routes.rb +11 -1
  7. data/lib/push_type/testing/common_rake.rb +6 -3
  8. data/test/controllers/front_end_controller_test.rb +29 -0
  9. data/test/dummy/app/views/layouts/application.html.erb +1 -2
  10. data/test/dummy/config/secrets.yml +2 -2
  11. data/test/dummy/db/migrate/{20150102204403_create_push_type_users.push_type.rb → 20150108182218_create_push_type_users.push_type.rb} +0 -0
  12. data/test/dummy/db/migrate/{20150102204404_create_push_type_nodes.push_type.rb → 20150108182219_create_push_type_nodes.push_type.rb} +0 -0
  13. data/test/dummy/db/migrate/{20150102204405_create_push_type_node_hierarchies.push_type.rb → 20150108182220_create_push_type_node_hierarchies.push_type.rb} +0 -0
  14. data/test/dummy/db/migrate/{20150102204406_create_push_type_assets.push_type.rb → 20150108182221_create_push_type_assets.push_type.rb} +0 -0
  15. data/test/dummy/db/schema.rb +1 -1
  16. data/test/dummy/log/test.log +1026 -889
  17. data/test/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  18. data/test/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  19. data/test/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  20. data/test/dummy/tmp/generators/config/initializers/push_type.rb +5 -0
  21. data/test/dummy/tmp/generators/config/routes.rb +59 -0
  22. data/test/models/push_type/asset_test.rb +25 -0
  23. metadata +24 -21
  24. data/app/controllers/push_type/application_controller.rb +0 -4
  25. data/app/controllers/push_type/front_end_controller.rb +0 -21
  26. data/test/controllers/push_type/front_end_controller_test.rb +0 -31
  27. data/test/dummy/app/assets/javascripts/application.js +0 -16
  28. data/test/dummy/tmp/generators/app/models/home_page.rb +0 -10
  29. data/test/dummy/tmp/generators/app/views/nodes/home_page.html.erb +0 -3
@@ -0,0 +1,5 @@
1
+ PushType.setup do |config|
2
+
3
+ config.root_node_types = :all
4
+
5
+ end
@@ -0,0 +1,59 @@
1
+ Rails.application.routes.draw do
2
+
3
+ mount_push_type
4
+
5
+ # The priority is based upon order of creation: first created -> highest priority.
6
+ # See how all your routes lay out with "rake routes".
7
+
8
+ # You can have the root of your site routed with "root"
9
+ # root 'welcome#index'
10
+
11
+ # Example of regular route:
12
+ # get 'products/:id' => 'catalog#view'
13
+
14
+ # Example of named route that can be invoked with purchase_url(id: product.id)
15
+ # get 'products/:id/purchase' => 'catalog#purchase', as: :purchase
16
+
17
+ # Example resource route (maps HTTP verbs to controller actions automatically):
18
+ # resources :products
19
+
20
+ # Example resource route with options:
21
+ # resources :products do
22
+ # member do
23
+ # get 'short'
24
+ # post 'toggle'
25
+ # end
26
+ #
27
+ # collection do
28
+ # get 'sold'
29
+ # end
30
+ # end
31
+
32
+ # Example resource route with sub-resources:
33
+ # resources :products do
34
+ # resources :comments, :sales
35
+ # resource :seller
36
+ # end
37
+
38
+ # Example resource route with more complex sub-resources:
39
+ # resources :products do
40
+ # resources :comments
41
+ # resources :sales do
42
+ # get 'recent', on: :collection
43
+ # end
44
+ # end
45
+
46
+ # Example resource route with concerns:
47
+ # concern :toggleable do
48
+ # post 'toggle'
49
+ # end
50
+ # resources :posts, concerns: :toggleable
51
+ # resources :photos, concerns: :toggleable
52
+
53
+ # Example resource route within a namespace:
54
+ # namespace :admin do
55
+ # # Directs /admin/products/* to Admin::ProductsController
56
+ # # (app/controllers/admin/products_controller.rb)
57
+ # resources :products
58
+ # end
59
+ end
@@ -46,6 +46,31 @@ module PushType
46
46
  end
47
47
  end
48
48
 
49
+ describe '#media' do
50
+ let(:image) { FactoryGirl.create :image_asset }
51
+ let(:doc) { FactoryGirl.create :document_asset }
52
+
53
+ describe 'with no args' do
54
+ it { image.media.must_equal image.file }
55
+ it { doc.media.must_equal doc.file }
56
+ end
57
+ describe 'with original style' do
58
+ it { image.media(:original).must_equal image.file }
59
+ it { doc.media(:original).must_equal doc.file }
60
+ end
61
+ describe 'with a non existing style' do
62
+ it { image.media(:foo_bar).wont_equal image.file }
63
+ it { proc { image.media(:foo_bar).width }.must_raise ArgumentError }
64
+ it { doc.media(:foo_bar).must_equal doc.file }
65
+ end
66
+ describe 'with a geometry string' do
67
+ it { image.media('48x56#').wont_equal image.file }
68
+ it { image.media('48x56#').width.must_equal 48 }
69
+ it { image.media('48x56#').height.must_equal 56 }
70
+ it { doc.media('48x56#').must_equal doc.file }
71
+ end
72
+ end
73
+
49
74
  describe '#preview_thumb_url' do
50
75
  let(:image) { FactoryGirl.create :image_asset }
51
76
  let(:doc) { FactoryGirl.create :document_asset }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: push_type_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aaron Russell
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-02 00:00:00.000000000 Z
11
+ date: 2015-01-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -118,8 +118,7 @@ extra_rdoc_files: []
118
118
  files:
119
119
  - LICENSE.md
120
120
  - README.md
121
- - app/controllers/push_type/application_controller.rb
122
- - app/controllers/push_type/front_end_controller.rb
121
+ - app/controllers/front_end_controller.rb
123
122
  - app/fields/push_type/date_field.rb
124
123
  - app/fields/push_type/number_field.rb
125
124
  - app/fields/push_type/rich_text_field.rb
@@ -162,10 +161,9 @@ files:
162
161
  - lib/push_type/testing/support/test_page.rb
163
162
  - lib/push_type_core.rb
164
163
  - lib/tasks/push_type_tasks.rake
165
- - test/controllers/push_type/front_end_controller_test.rb
164
+ - test/controllers/front_end_controller_test.rb
166
165
  - test/dummy/README.rdoc
167
166
  - test/dummy/Rakefile
168
- - test/dummy/app/assets/javascripts/application.js
169
167
  - test/dummy/app/assets/stylesheets/application.css
170
168
  - test/dummy/app/controllers/application_controller.rb
171
169
  - test/dummy/app/helpers/application_helper.rb
@@ -195,10 +193,10 @@ files:
195
193
  - test/dummy/config/locales/en.yml
196
194
  - test/dummy/config/routes.rb
197
195
  - test/dummy/config/secrets.yml
198
- - test/dummy/db/migrate/20150102204403_create_push_type_users.push_type.rb
199
- - test/dummy/db/migrate/20150102204404_create_push_type_nodes.push_type.rb
200
- - test/dummy/db/migrate/20150102204405_create_push_type_node_hierarchies.push_type.rb
201
- - test/dummy/db/migrate/20150102204406_create_push_type_assets.push_type.rb
196
+ - test/dummy/db/migrate/20150108182218_create_push_type_users.push_type.rb
197
+ - test/dummy/db/migrate/20150108182219_create_push_type_nodes.push_type.rb
198
+ - test/dummy/db/migrate/20150108182220_create_push_type_node_hierarchies.push_type.rb
199
+ - test/dummy/db/migrate/20150108182221_create_push_type_assets.push_type.rb
202
200
  - test/dummy/db/schema.rb
203
201
  - test/dummy/db/seeds.rb
204
202
  - test/dummy/log/test.log
@@ -207,8 +205,11 @@ files:
207
205
  - test/dummy/public/500.html
208
206
  - test/dummy/public/favicon.ico
209
207
  - test/dummy/public/robots.txt
210
- - test/dummy/tmp/generators/app/models/home_page.rb
211
- - test/dummy/tmp/generators/app/views/nodes/home_page.html.erb
208
+ - test/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705
209
+ - test/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953
210
+ - test/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6
211
+ - test/dummy/tmp/generators/config/initializers/push_type.rb
212
+ - test/dummy/tmp/generators/config/routes.rb
212
213
  - test/files/audio.m3u
213
214
  - test/files/document.pdf
214
215
  - test/files/image.png
@@ -246,13 +247,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
246
247
  version: '0'
247
248
  requirements: []
248
249
  rubyforge_project:
249
- rubygems_version: 2.4.5
250
+ rubygems_version: 2.4.2
250
251
  signing_key:
251
252
  specification_version: 4
252
253
  summary: The core engine for the PushType content management system.
253
254
  test_files:
254
- - test/controllers/push_type/front_end_controller_test.rb
255
- - test/dummy/app/assets/javascripts/application.js
255
+ - test/controllers/front_end_controller_test.rb
256
256
  - test/dummy/app/assets/stylesheets/application.css
257
257
  - test/dummy/app/controllers/application_controller.rb
258
258
  - test/dummy/app/helpers/application_helper.rb
@@ -282,10 +282,10 @@ test_files:
282
282
  - test/dummy/config/routes.rb
283
283
  - test/dummy/config/secrets.yml
284
284
  - test/dummy/config.ru
285
- - test/dummy/db/migrate/20150102204403_create_push_type_users.push_type.rb
286
- - test/dummy/db/migrate/20150102204404_create_push_type_nodes.push_type.rb
287
- - test/dummy/db/migrate/20150102204405_create_push_type_node_hierarchies.push_type.rb
288
- - test/dummy/db/migrate/20150102204406_create_push_type_assets.push_type.rb
285
+ - test/dummy/db/migrate/20150108182218_create_push_type_users.push_type.rb
286
+ - test/dummy/db/migrate/20150108182219_create_push_type_nodes.push_type.rb
287
+ - test/dummy/db/migrate/20150108182220_create_push_type_node_hierarchies.push_type.rb
288
+ - test/dummy/db/migrate/20150108182221_create_push_type_assets.push_type.rb
289
289
  - test/dummy/db/schema.rb
290
290
  - test/dummy/db/seeds.rb
291
291
  - test/dummy/log/test.log
@@ -296,8 +296,11 @@ test_files:
296
296
  - test/dummy/public/robots.txt
297
297
  - test/dummy/Rakefile
298
298
  - test/dummy/README.rdoc
299
- - test/dummy/tmp/generators/app/models/home_page.rb
300
- - test/dummy/tmp/generators/app/views/nodes/home_page.html.erb
299
+ - test/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705
300
+ - test/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953
301
+ - test/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6
302
+ - test/dummy/tmp/generators/config/initializers/push_type.rb
303
+ - test/dummy/tmp/generators/config/routes.rb
301
304
  - test/files/audio.m3u
302
305
  - test/files/document.pdf
303
306
  - test/files/image.png
@@ -1,4 +0,0 @@
1
- module PushType
2
- class ApplicationController < ActionController::Base
3
- end
4
- end
@@ -1,21 +0,0 @@
1
- require_dependency "push_type/application_controller"
2
-
3
- module PushType
4
- class FrontEndController < ApplicationController
5
-
6
- before_filter :load_node, only: :node
7
-
8
- def node
9
- render *@node.template_args
10
- end
11
-
12
- private
13
-
14
- def load_node
15
- @node = PushType::Node.published.find_by_path params[:permalink].split('/')
16
- raise ActiveRecord::RecordNotFound unless @node
17
- instance_variable_set "@#{ @node.type.underscore }", @node
18
- end
19
-
20
- end
21
- end
@@ -1,31 +0,0 @@
1
- require "test_helper"
2
-
3
- module PushType
4
- describe FrontEndController do
5
-
6
- before { @routes = Rails.application.routes }
7
-
8
- describe 'GET #node' do
9
- let(:page) { Page.create attributes }
10
- let(:permalink) { page.permalink }
11
- let(:action!) { get :node, permalink: permalink }
12
-
13
- describe 'when node does not exist' do
14
- let(:permalink) { 'does/not/exist' }
15
- it { proc { action! }.must_raise ActiveRecord::RecordNotFound }
16
- end
17
- describe 'when node not published' do
18
- let(:attributes) { FactoryGirl.attributes_for :node, type: 'Page' }
19
- it { proc { action! }.must_raise ActiveRecord::RecordNotFound }
20
- end
21
- describe 'when node is published' do
22
- let(:attributes) { FactoryGirl.attributes_for :published_node, type: 'Page' }
23
- before { action! }
24
- it { response.must_render_template 'nodes/page' }
25
- it { assigns[:node].must_equal page }
26
- it { assigns[:page].must_equal page }
27
- end
28
- end
29
-
30
- end
31
- end
@@ -1,16 +0,0 @@
1
- // This is a manifest file that'll be compiled into application.js, which will include all the files
2
- // listed below.
3
- //
4
- // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
- // or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
6
- //
7
- // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
- // compiled file.
9
- //
10
- // Read Sprockets README (https://github.com/sstephenson/sprockets#sprockets-directives) for details
11
- // about supported directives.
12
- //
13
- //= require jquery
14
- //= require jquery_ujs
15
- //= require turbolinks
16
- //= require_tree .
@@ -1,10 +0,0 @@
1
- class HomePage < PushType::Node
2
-
3
- # Control child nodes
4
- # has_child_nodes :all
5
-
6
- # Set custom fields
7
- # field :description
8
- # field :body, :text, validates: { presence: true }
9
-
10
- end
@@ -1,3 +0,0 @@
1
- <h1><%= @node.title %></h1>
2
- <p>This is a generated HomePage template.</p>
3
- <p>Find me at: app/views/nodes/home_page.html.erb</p>