cmor_cms 0.0.34.pre → 0.0.35.pre

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ec9ae452cd3208820882f7dd025778a12cc7a0623e84a4597d779fa1767a308e
4
- data.tar.gz: c818033143773e226481cd737456baf3afcf086bcae4ef931998699e494bd2a9
3
+ metadata.gz: 2f0211356aaf3856c3067064a28efca3ce5b42681d86202d7b87d3a61a1c53be
4
+ data.tar.gz: aba0cd5392b9f020c581addc3cbdf3b87b36a9e6397d78de83f5dcb331f3ccd3
5
5
  SHA512:
6
- metadata.gz: 63632f17031c47a9a7d01484d7c3a170b51c3ed2eb02d2506aeecb744bd4b2c725e68b99d1d9f0a6986795687ab00af6d5b8596236e06384a293cff82140ef86
7
- data.tar.gz: fd2c704e09c6c6b10f01724d7e7cc713cde57e3d5b63884aaefe6d60d927889afb0c67571237ecadf3f0008172bcf003ee5111c4d0b14e15d798c404c6ec6449
6
+ metadata.gz: 8ea13988a8b4037474fbc83f7eac8330827005979926a50ef65fcbfa7b18e6c3ca587bd8ea4354aa1ad91e38f568b52d858ab0485eaaf6e650fc86fd7b466f62
7
+ data.tar.gz: fd1f0fda9df053743c4f5bac8fce89e464f3148a9009141cefe38115801c4d5546ebbf596393f7864724b880b81f400e8bc7ab5fe2f271ccdb6def66433cbd8b
@@ -7,11 +7,14 @@ module Cmor
7
7
  def respond
8
8
  respond_to do |format|
9
9
  format.html { render template: params[:page] }
10
+ format.json do
11
+ render json: { content: render_to_string(template: params[:page], layout: false, formats: [:html]) }.to_json
12
+ end
13
+ format.xml do
14
+ # We don't support xml atm, but we want to handle xml requests by failing with a 404.
15
+ handle_missing_template
16
+ end
10
17
  format.txt { render template: params[:page], layout: false, formats: [:text] }
11
- # format.pdf do
12
- # output = render_to_string template: params[:page], formats: [:html, :pdf], layout: false
13
- # self.response_body = WickedPdf.new.pdf_from_string(output)
14
- # end if Gem::Specification.find_all_by_name('wicked_pdf').any?
15
18
  end
16
19
  end
17
20
 
@@ -19,30 +22,39 @@ module Cmor
19
22
  extend ActiveSupport::Concern
20
23
 
21
24
  included do
22
- # avoid error 500 on missing template
23
- rescue_from ActionView::MissingTemplate do
24
- if params[:page] == 'home'
25
- render_fallback_page
25
+ rescue_from ActionView::MissingTemplate do |exception|
26
+ if exception.message.start_with?('Missing partial')
27
+ handle_missing_partial(exception)
26
28
  else
27
- respond_to do |format|
28
- format.html do
29
- render(file: "#{Rails.root}/public/404", formats: [:html],
30
- layout: false,
31
- status: 404
32
- )
33
- end
34
- format.xml { head :not_found }
35
- format.any { head :not_found }
36
- end
29
+ handle_missing_template(exception)
37
30
  end
38
31
  end
39
32
  end
40
33
 
41
34
  private
42
35
 
36
+ def handle_missing_partial(exception)
37
+ raise exception
38
+ end
39
+
40
+ def handle_missing_template(exception = nil)
41
+ if params[:page] == 'home'
42
+ render_fallback_page
43
+ else
44
+ respond_to do |format|
45
+ format.html { raise ActionController::RoutingError.new("No page matches [GET] \"/#{params[:page]}\"") }
46
+ format.xml { head :not_found }
47
+ format.json { head :not_found }
48
+ format.any { head :not_found }
49
+ end
50
+ end
51
+ end
52
+
53
+
43
54
  def render_fallback_page
44
55
  respond_to do |format|
45
56
  format.html { render :fallback }
57
+ format.json { render json: { content: render_to_string(:fallback, layout: false, formats: [:html]) }.to_json }
46
58
  format.txt { render :fallback }
47
59
  end
48
60
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cmor_cms
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.34.pre
4
+ version: 0.0.35.pre
5
5
  platform: ruby
6
6
  authors:
7
7
  - Roberto Vasquez Angel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-08-08 00:00:00.000000000 Z
11
+ date: 2019-08-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -30,28 +30,28 @@ dependencies:
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 0.0.34.pre
33
+ version: 0.0.35.pre
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 0.0.34.pre
40
+ version: 0.0.35.pre
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: cmor_core_frontend
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - '='
46
46
  - !ruby/object:Gem::Version
47
- version: 0.0.34.pre
47
+ version: 0.0.35.pre
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - '='
53
53
  - !ruby/object:Gem::Version
54
- version: 0.0.34.pre
54
+ version: 0.0.35.pre
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: sqlite3
57
57
  requirement: !ruby/object:Gem::Requirement