comfortable_mexican_sofa 1.4.3 → 1.4.4

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.
data/.travis.yml CHANGED
@@ -1,7 +1,10 @@
1
1
  rvm:
2
2
  - 1.8.7
3
3
  - 1.9.2
4
- - rbx
4
+ # - 1.9.3
5
5
  - rbx-2.0
6
6
  - ree
7
- # - jruby
7
+ # - jruby
8
+ gemfile:
9
+ - gemfiles/Gemfile.rails-3.0.x
10
+ - gemfiles/Gemfile.rails-3.1.x
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.4.3
1
+ 1.4.4
@@ -3,7 +3,7 @@ class CmsAdmin::BaseController < ApplicationController
3
3
  protect_from_forgery
4
4
 
5
5
  # Authentication module must have #authenticate method
6
- include ComfortableMexicanSofa.config.authentication.to_s.constantize
6
+ include ComfortableMexicanSofa.config.admin_auth.to_s.constantize
7
7
 
8
8
  before_filter :authenticate,
9
9
  :load_admin_site,
@@ -1,9 +1,14 @@
1
1
  class CmsContentController < ApplicationController
2
-
2
+
3
+ # Authentication module must have #authenticate method
4
+ include ComfortableMexicanSofa.config.public_auth.to_s.constantize
5
+
3
6
  before_filter :load_cms_site
4
7
  before_filter :load_fixtures
5
- before_filter :load_cms_page, :only => :render_html
6
- before_filter :load_cms_layout, :only => [:render_css, :render_js]
8
+ before_filter :load_cms_page, :authenticate,
9
+ :only => :render_html
10
+ before_filter :load_cms_layout,
11
+ :only => [:render_css, :render_js]
7
12
 
8
13
  def render_html(status = 200)
9
14
  if layout = @cms_page.layout
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{comfortable_mexican_sofa}
8
- s.version = "1.4.3"
8
+ s.version = "1.4.4"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Oleg Khabarov", "The Working Group Inc"]
12
- s.date = %q{2011-08-26}
12
+ s.date = %q{2011-08-30}
13
13
  s.description = %q{}
14
14
  s.email = %q{oleg@theworkinggroup.ca}
15
15
  s.extra_rdoc_files = [
@@ -198,7 +198,11 @@ Gem::Specification.new do |s|
198
198
  "db/seeds.rb",
199
199
  "doc/page_editing.png",
200
200
  "doc/sofa.png",
201
+ "gemfiles/Gemfile.rails-3.0.x",
202
+ "gemfiles/Gemfile.rails-3.1.x",
201
203
  "lib/comfortable_mexican_sofa.rb",
204
+ "lib/comfortable_mexican_sofa/authentication/dummy_auth.rb",
205
+ "lib/comfortable_mexican_sofa/authentication/http_auth.rb",
202
206
  "lib/comfortable_mexican_sofa/configuration.rb",
203
207
  "lib/comfortable_mexican_sofa/controller_methods.rb",
204
208
  "lib/comfortable_mexican_sofa/engine.rb",
@@ -210,7 +214,6 @@ Gem::Specification.new do |s|
210
214
  "lib/comfortable_mexican_sofa/extensions/rails.rb",
211
215
  "lib/comfortable_mexican_sofa/fixtures.rb",
212
216
  "lib/comfortable_mexican_sofa/form_builder.rb",
213
- "lib/comfortable_mexican_sofa/http_auth.rb",
214
217
  "lib/comfortable_mexican_sofa/tag.rb",
215
218
  "lib/comfortable_mexican_sofa/tags/asset.rb",
216
219
  "lib/comfortable_mexican_sofa/tags/field_datetime.rb",
@@ -6,7 +6,12 @@ ComfortableMexicanSofa.configure do |config|
6
6
 
7
7
  # Module responsible for authentication. You can replace it with your own.
8
8
  # It simply needs to have #authenticate method. See http_auth.rb for reference.
9
- # config.authentication = 'ComfortableMexicanSofa::HttpAuth'
9
+ # config.admin_auth = 'ComfortableMexicanSofa::HttpAuth'
10
+
11
+ # Module responsible for public authentication. Similar to the above. You also
12
+ # will have access to @cms_site, @cms_layout, @cms_page so you can use them in
13
+ # your logic. Default module doesn't do anything.
14
+ # config.public_auth = 'ComfortableMexicanSofa::DummyAuth'
10
15
 
11
16
  # Default url to access admin area is http://yourhost/cms-admin/
12
17
  # You can change 'cms-admin' to 'admin', for example. To disable admin area
@@ -0,0 +1,14 @@
1
+ source 'http://rubygems.org'
2
+
3
+ gem 'rails', '3.0.10'
4
+ gem 'active_link_to', '>=1.0.0'
5
+ gem 'paperclip', '>=2.3.14'
6
+
7
+ group :development do
8
+ # gem 'sqlite3'
9
+ end
10
+
11
+ group :test do
12
+ gem 'sqlite3'
13
+ gem 'jeweler', '>=1.4.0'
14
+ end
@@ -0,0 +1,14 @@
1
+ source 'http://rubygems.org'
2
+
3
+ gem 'rails', '3.1.0.rc8'
4
+ gem 'active_link_to', '>=1.0.0'
5
+ gem 'paperclip', '>=2.3.14'
6
+
7
+ group :development do
8
+ # gem 'sqlite3'
9
+ end
10
+
11
+ group :test do
12
+ gem 'sqlite3'
13
+ gem 'jeweler', '>=1.4.0'
14
+ end
@@ -6,7 +6,8 @@ end
6
6
  [ 'comfortable_mexican_sofa/version',
7
7
  'comfortable_mexican_sofa/error',
8
8
  'comfortable_mexican_sofa/configuration',
9
- 'comfortable_mexican_sofa/http_auth',
9
+ 'comfortable_mexican_sofa/authentication/http_auth',
10
+ 'comfortable_mexican_sofa/authentication/dummy_auth',
10
11
  'comfortable_mexican_sofa/controller_methods',
11
12
  'comfortable_mexican_sofa/view_hooks',
12
13
  'comfortable_mexican_sofa/view_methods',
@@ -0,0 +1,8 @@
1
+ module ComfortableMexicanSofa::DummyAuth
2
+
3
+ # Will always let you in
4
+ def authenticate
5
+ true
6
+ end
7
+
8
+ end
@@ -6,7 +6,10 @@ class ComfortableMexicanSofa::Configuration
6
6
  attr_accessor :cms_title
7
7
 
8
8
  # Module that will handle authentication to access cms-admin area
9
- attr_accessor :authentication
9
+ attr_accessor :admin_auth
10
+
11
+ # Module that will handle authentication for public pages
12
+ attr_accessor :public_auth
10
13
 
11
14
  # Default url to access admin area is http://yourhost/cms-admin/
12
15
  # You can change 'cms-admin' to 'admin', for example.
@@ -43,7 +46,8 @@ class ComfortableMexicanSofa::Configuration
43
46
  # Configuration defaults
44
47
  def initialize
45
48
  @cms_title = 'ComfortableMexicanSofa MicroCMS'
46
- @authentication = 'ComfortableMexicanSofa::HttpAuth'
49
+ @admin_auth = 'ComfortableMexicanSofa::HttpAuth'
50
+ @public_auth = 'ComfortableMexicanSofa::DummyAuth'
47
51
  @seed_data_path = nil
48
52
  @admin_route_prefix = 'cms-admin'
49
53
  @admin_route_redirect = ''
@@ -2,8 +2,20 @@ require File.expand_path('../test_helper', File.dirname(__FILE__))
2
2
 
3
3
  class AuthenticationTest < ActionDispatch::IntegrationTest
4
4
 
5
+ module TestLockPublicAuth
6
+ def authenticate
7
+ return redirect_to('/lockout')
8
+ end
9
+ end
10
+
11
+ module TestUnlockPublicAuth
12
+ def authenticate
13
+ true
14
+ end
15
+ end
16
+
5
17
  def test_get_with_unauthorized_access
6
- assert_equal 'ComfortableMexicanSofa::HttpAuth', ComfortableMexicanSofa.config.authentication
18
+ assert_equal 'ComfortableMexicanSofa::HttpAuth', ComfortableMexicanSofa.config.admin_auth
7
19
  get '/cms-admin/sites'
8
20
  assert_response :unauthorized
9
21
  get '/'
@@ -16,7 +28,7 @@ class AuthenticationTest < ActionDispatch::IntegrationTest
16
28
  end
17
29
 
18
30
  def test_get_with_changed_default_config
19
- assert_equal 'ComfortableMexicanSofa::HttpAuth', ComfortableMexicanSofa.config.authentication
31
+ assert_equal 'ComfortableMexicanSofa::HttpAuth', ComfortableMexicanSofa.config.admin_auth
20
32
  ComfortableMexicanSofa::HttpAuth.username = 'newuser'
21
33
  ComfortableMexicanSofa::HttpAuth.password = 'newpass'
22
34
  http_auth :get, '/cms-admin/sites'
@@ -24,4 +36,13 @@ class AuthenticationTest < ActionDispatch::IntegrationTest
24
36
  http_auth :get, '/cms-admin/sites', {}, 'newuser', 'newpass'
25
37
  assert_response :success
26
38
  end
39
+
40
+ def test_get_public_with_custom_auth
41
+ CmsContentController.send :include, TestLockPublicAuth
42
+ get '/'
43
+ assert_response :redirect
44
+ assert_redirected_to '/lockout'
45
+ # reset auth module
46
+ CmsContentController.send :include, TestUnlockPublicAuth
47
+ end
27
48
  end
data/test/test_helper.rb CHANGED
@@ -17,7 +17,8 @@ class ActiveSupport::TestCase
17
17
  def reset_config
18
18
  ComfortableMexicanSofa.configure do |config|
19
19
  config.cms_title = 'ComfortableMexicanSofa MicroCMS'
20
- config.authentication = 'ComfortableMexicanSofa::HttpAuth'
20
+ config.admin_auth = 'ComfortableMexicanSofa::HttpAuth'
21
+ config.public_auth = 'ComfortableMexicanSofa::DummyAuth'
21
22
  config.admin_route_prefix = 'cms-admin'
22
23
  config.admin_route_redirect = ''
23
24
  config.allow_irb = false
@@ -7,7 +7,8 @@ class ConfigurationTest < ActiveSupport::TestCase
7
7
  def test_configuration_presense
8
8
  assert config = ComfortableMexicanSofa.configuration
9
9
  assert_equal 'ComfortableMexicanSofa MicroCMS', config.cms_title
10
- assert_equal 'ComfortableMexicanSofa::HttpAuth', config.authentication
10
+ assert_equal 'ComfortableMexicanSofa::HttpAuth', config.admin_auth
11
+ assert_equal 'ComfortableMexicanSofa::DummyAuth', config.public_auth
11
12
  assert_equal 'cms-admin', config.admin_route_prefix
12
13
  assert_equal '', config.admin_route_redirect
13
14
  assert_equal false, config.allow_irb
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: comfortable_mexican_sofa
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.3
4
+ version: 1.4.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,12 +10,12 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2011-08-26 00:00:00.000000000 -04:00
13
+ date: 2011-08-30 00:00:00.000000000 -04:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rails
18
- requirement: &70185365145420 !ruby/object:Gem::Requirement
18
+ requirement: &70319984307860 !ruby/object:Gem::Requirement
19
19
  none: false
20
20
  requirements:
21
21
  - - ! '>='
@@ -23,10 +23,10 @@ dependencies:
23
23
  version: 3.0.0
24
24
  type: :runtime
25
25
  prerelease: false
26
- version_requirements: *70185365145420
26
+ version_requirements: *70319984307860
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: active_link_to
29
- requirement: &70185365144940 !ruby/object:Gem::Requirement
29
+ requirement: &70319984307380 !ruby/object:Gem::Requirement
30
30
  none: false
31
31
  requirements:
32
32
  - - ! '>='
@@ -34,10 +34,10 @@ dependencies:
34
34
  version: 1.0.0
35
35
  type: :runtime
36
36
  prerelease: false
37
- version_requirements: *70185365144940
37
+ version_requirements: *70319984307380
38
38
  - !ruby/object:Gem::Dependency
39
39
  name: paperclip
40
- requirement: &70185365144460 !ruby/object:Gem::Requirement
40
+ requirement: &70319984306900 !ruby/object:Gem::Requirement
41
41
  none: false
42
42
  requirements:
43
43
  - - ! '>='
@@ -45,7 +45,7 @@ dependencies:
45
45
  version: 2.3.14
46
46
  type: :runtime
47
47
  prerelease: false
48
- version_requirements: *70185365144460
48
+ version_requirements: *70319984306900
49
49
  description: ''
50
50
  email: oleg@theworkinggroup.ca
51
51
  executables: []
@@ -235,7 +235,11 @@ files:
235
235
  - db/seeds.rb
236
236
  - doc/page_editing.png
237
237
  - doc/sofa.png
238
+ - gemfiles/Gemfile.rails-3.0.x
239
+ - gemfiles/Gemfile.rails-3.1.x
238
240
  - lib/comfortable_mexican_sofa.rb
241
+ - lib/comfortable_mexican_sofa/authentication/dummy_auth.rb
242
+ - lib/comfortable_mexican_sofa/authentication/http_auth.rb
239
243
  - lib/comfortable_mexican_sofa/configuration.rb
240
244
  - lib/comfortable_mexican_sofa/controller_methods.rb
241
245
  - lib/comfortable_mexican_sofa/engine.rb
@@ -247,7 +251,6 @@ files:
247
251
  - lib/comfortable_mexican_sofa/extensions/rails.rb
248
252
  - lib/comfortable_mexican_sofa/fixtures.rb
249
253
  - lib/comfortable_mexican_sofa/form_builder.rb
250
- - lib/comfortable_mexican_sofa/http_auth.rb
251
254
  - lib/comfortable_mexican_sofa/tag.rb
252
255
  - lib/comfortable_mexican_sofa/tags/asset.rb
253
256
  - lib/comfortable_mexican_sofa/tags/field_datetime.rb
@@ -344,7 +347,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
344
347
  version: '0'
345
348
  segments:
346
349
  - 0
347
- hash: -4262236515429772675
350
+ hash: 4080205680426409607
348
351
  required_rubygems_version: !ruby/object:Gem::Requirement
349
352
  none: false
350
353
  requirements: