Class: Occams::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/occams/configuration.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Configuration defaults



88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
# File 'lib/occams/configuration.rb', line 88

def initialize
  @cms_title              = 'Occams CMS Engine'
  @admin_base_controller  = 'ApplicationController'
  @public_base_controller = 'ApplicationController'
  @admin_auth             = 'Occams::AccessControl::AdminAuthentication'
  @admin_authorization    = 'Occams::AccessControl::AdminAuthorization'
  @public_auth            = 'Occams::AccessControl::PublicAuthentication'
  @public_authorization   = 'Occams::AccessControl::PublicAuthorization'
  @seed_data_path         = nil
  @admin_route_redirect   = ''
  @enable_sitemap         = true
  @enable_seeds           = false
  @seeds_path             = File.expand_path('db/cms_seeds', Rails.root)
  @revisions_limit        = 25
  @locales                = {
    'ar' => 'عربي',
    'ca' => 'Català',
    'cs' => 'Česky',
    'da' => 'Dansk',
    'de' => 'Deutsch',
    'en' => 'English',
    'es' => 'Español',
    'fi' => 'Suomi',
    'fr' => 'Français',
    'gr' => 'Ελληνικά',
    'hr' => 'Hrvatski',
    'it' => 'Italiano',
    'ja' => '日本語',
    'nb' => 'Norsk',
    'nl' => 'Nederlands',
    'pl' => 'Polski',
    'pt-BR' => 'Português Brasileiro',
    'ru' => 'Русский',
    'sk' => 'Slovensky',
    'sv' => 'Svenska',
    'tr' => 'Türkçe',
    'uk' => 'Українська',
    'zh-CN' => '简体中文',
    'zh-TW' => '正體中文'
  }
  @admin_locale         = nil
  @admin_cache_sweeper  = nil
  @allow_erb            = false
  @allowed_helpers      = nil
  @allowed_partials     = nil
  @hostname_aliases     = nil
  @reveal_cms_partials  = false
  @public_cms_path      = nil
  @page_to_json_options = { methods: [:content], except: [:content_cache] }
end

Instance Attribute Details

#admin_authObject

Module that will handle authentication to access cms-admin area



16
17
18
# File 'lib/occams/configuration.rb', line 16

def admin_auth
  @admin_auth
end

#admin_authorizationObject

Module that will handle authorization against admin cms resources



19
20
21
# File 'lib/occams/configuration.rb', line 19

def admin_authorization
  @admin_authorization
end

#admin_base_controllerObject

Controller that is inherited from CmsAdmin::BaseController ‘ApplicationController’ is the default



9
10
11
# File 'lib/occams/configuration.rb', line 9

def admin_base_controller
  @admin_base_controller
end

#admin_cache_sweeperObject

A class that is included as a sweeper to admin base controller if it’s set



50
51
52
# File 'lib/occams/configuration.rb', line 50

def admin_cache_sweeper
  @admin_cache_sweeper
end

#admin_localeObject

Admin interface will respect the locale of the site being managed. However you can force it to English by setting this to ‘:en`



47
48
49
# File 'lib/occams/configuration.rb', line 47

def admin_locale
  @admin_locale
end

#admin_route_redirectObject

When arriving at /cms-admin you may chose to redirect to arbirtary path, for example ‘/cms-admin/users’



29
30
31
# File 'lib/occams/configuration.rb', line 29

def admin_route_redirect
  @admin_route_redirect
end

#allow_erbBoolean

Not allowing erb code to be run inside page content. False by default.

Returns:

  • (Boolean)


54
55
56
# File 'lib/occams/configuration.rb', line 54

def allow_erb
  @allow_erb
end

#allowed_helpersObject

Whitelist of all helper methods that can be used via {cms:helper} tag. By default all helpers are allowed except ‘eval`, `send`, `call` and few others. Empty array will prevent rendering of all helpers.



59
60
61
# File 'lib/occams/configuration.rb', line 59

def allowed_helpers
  @allowed_helpers
end

#allowed_partialsObject

Whitelist of partials paths that can be used via {cms:partial} tag. All partials are accessible by default. Empty array will prevent rendering of all partials.



63
64
65
# File 'lib/occams/configuration.rb', line 63

def allowed_partials
  @allowed_partials
end

#allowed_templatesObject

Whitelist of template paths that can be used via {cms:template} tag. All templates are accessible by default. Empty array will prevent rendering of all templates.



67
68
69
# File 'lib/occams/configuration.rb', line 67

def allowed_templates
  @allowed_templates
end

#cms_titleObject

Don’t like Occams? Set it to whatever you like.



5
6
7
# File 'lib/occams/configuration.rb', line 5

def cms_title
  @cms_title
end

#enable_seedsObject

With each page load, files will be synched with the database. Database entries are destroyed if there’s no corresponding file. Seeds are disabled by default.



33
34
35
# File 'lib/occams/configuration.rb', line 33

def enable_seeds
  @enable_seeds
end

#hostname_aliasesObject

Site aliases, if you want to have aliases for your site. Good for harmonizing production env with dev/testing envs. e.g. config.site_aliases = => ‘host.inv’, ‘host_a.com’ => [‘host.lvh.me’, ‘host.dev’] Default is nil (not used)



73
74
75
# File 'lib/occams/configuration.rb', line 73

def hostname_aliases
  @hostname_aliases
end

#localesObject

Locale definitions. If you want to define your own locale merge => ‘Locale Title’ with this.



43
44
45
# File 'lib/occams/configuration.rb', line 43

def locales
  @locales
end

#page_to_json_optionsObject

Customize returned content from ‘page.to_json` Default is set to `methods: [:content], except: [:content_cache]` For example: include fragments into json data with `config.page_to_json_options = { include: [:fragments] }`



85
86
87
# File 'lib/occams/configuration.rb', line 85

def page_to_json_options
  @page_to_json_options
end

#public_authObject

Module that will handle authentication for public pages



22
23
24
# File 'lib/occams/configuration.rb', line 22

def public_auth
  @public_auth
end

#public_authorizationObject

Module that will handle authorization against public resources



25
26
27
# File 'lib/occams/configuration.rb', line 25

def public_authorization
  @public_authorization
end

#public_base_controllerObject

Controller that Occams::Cms::BaseController will inherit from ‘ApplicationController’ is the default



13
14
15
# File 'lib/occams/configuration.rb', line 13

def public_base_controller
  @public_base_controller
end

#public_cms_pathObject

Auto-setting parameter derived from the routes



80
81
82
# File 'lib/occams/configuration.rb', line 80

def public_cms_path
  @public_cms_path
end

#reveal_cms_partialsObject

Reveal partials that can be overwritten in the admin area. Default is false.



77
78
79
# File 'lib/occams/configuration.rb', line 77

def reveal_cms_partials
  @reveal_cms_partials
end

#revisions_limitObject

Number of revisions kept. Default is 25. If you wish to disable: set this to 0.



39
40
41
# File 'lib/occams/configuration.rb', line 39

def revisions_limit
  @revisions_limit
end

#seeds_pathObject

Path where seeds can be located.



36
37
38
# File 'lib/occams/configuration.rb', line 36

def seeds_path
  @seeds_path
end