Module: Newsletter
- Defined in:
- app/models/newsletter/area.rb,
lib/newsletter.rb,
app/models/newsletter.rb,
lib/newsletter/engine.rb,
lib/newsletter/version.rb,
app/models/newsletter/asset.rb,
app/models/newsletter/field.rb,
app/models/newsletter/piece.rb,
app/models/newsletter/design.rb,
app/models/newsletter/element.rb,
app/models/newsletter/field/text.rb,
app/models/newsletter/newsletter.rb,
app/models/newsletter/field_value.rb,
app/helpers/newsletter/areas_helper.rb,
app/helpers/newsletter/assets_helper.rb,
app/helpers/newsletter/fields_helper.rb,
app/helpers/newsletter/layout_helper.rb,
app/helpers/newsletter/pieces_helper.rb,
app/helpers/newsletter/designs_helper.rb,
app/models/newsletter/field/text_area.rb,
app/helpers/newsletter/elements_helper.rb,
app/models/newsletter/field/inline_asset.rb,
app/helpers/newsletter/application_helper.rb,
app/helpers/newsletter/newsletters_helper.rb,
app/helpers/newsletter/field_values_helper.rb,
app/controllers/newsletter/areas_controller.rb,
app/controllers/newsletter/fields_controller.rb,
app/controllers/newsletter/pieces_controller.rb,
app/controllers/newsletter/designs_controller.rb,
app/controllers/newsletter/elements_controller.rb,
app/controllers/newsletter/newsletters_controller.rb
Overview
- Author
-
Chris Hauboldt ([email protected])
- Copyright
-
2009 Lone Star Internet Inc.
InlineAsset is a Newsletter::Field that allows either a url or an uploaded asset(image/document) to be used in a Newsletter.
Defined Under Namespace
Modules: ApplicationHelper, AreasHelper, AssetsHelper, DesignsHelper, ElementsHelper, FieldValuesHelper, FieldsHelper, LayoutHelper, NewslettersHelper, PiecesHelper Classes: ApplicationController, Area, AreasController, Asset, AssetUploader, Design, DesignsController, Element, ElementsController, Engine, Field, FieldValue, FieldsController, Newsletter, NewslettersController, Piece, PiecesController, Settings
Constant Summary collapse
- PLUGIN_ROOT =
an easy way to get the root of the gem’s directory structure
File.(File.join(File.dirname(__FILE__),'..','..'))
- VERSION =
"3.2.5"
Class Method Summary collapse
- .abilities ⇒ Object
-
.assets_path ⇒ Object
an easy way to get the root of the gem’s assets.
- .authorized?(user, object = nil) ⇒ Boolean
- .authorized_for_roles?(user, roles = []) ⇒ Boolean
-
.initialize_with_config(conf) ⇒ Object
initializes the configuration options pulled from config/newsletter.yml and overrides with config/newsletter.local.yml if it exists.
Class Method Details
.abilities ⇒ Object
87 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 |
# File 'lib/newsletter/engine.rb', line 87 def self.abilities " if ::Newsletter.authorized?(user, ::Newsletter::Design)\n can :manage, [\n ::Newsletter::Design,\n ::Newsletter::Element,\n ::Newsletter::Area,\n ::Newsletter::Field\n ]\n end\n if ::Newsletter.authorized?(user, ::Newsletter::Newsletter)\n can :manage, [\n ::Newsletter::Newsletter,\n ::Newsletter::Piece,\n ::Newsletter::FieldValue\n ]\n can :read, [\n ::Newsletter::Design,\n ::Newsletter::Element,\n ::Newsletter::Area,\n ::Newsletter::Field\n ]\n end\n can :read, [\n ::Newsletter::Newsletter,\n ::Newsletter::Piece,\n ::Newsletter::FieldValue\n ]\n can :archive, ::Newsletter::Newsletter\n EOT\nend\n" |
.assets_path ⇒ Object
an easy way to get the root of the gem’s assets
122 123 124 |
# File 'lib/newsletter/engine.rb', line 122 def self.assets_path File.join(PLUGIN_ROOT,'assets') end |
.authorized?(user, object = nil) ⇒ Boolean
71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
# File 'lib/newsletter/engine.rb', line 71 def self.(user, object=nil) if object.eql?(::Newsletter::Design) return true unless ::Newsletter.designs_require_authentication return false if user.blank? return true unless ::Newsletter..present? (user, ::Newsletter.) elsif object.eql?(::Newsletter::Newsletter) return true unless ::Newsletter. return false if user.blank? return true unless ::Newsletter..present? (user, ::Newsletter.) else false end end |
.authorized_for_roles?(user, roles = []) ⇒ Boolean
57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/newsletter/engine.rb', line 57 def self.(user,roles=[]) user_roles = if ::Newsletter.roles_method.present? user.send(::Newsletter.roles_method) elsif user.respond_to?(:roles) user.roles elsif user.respond_to?(:role) [user.role] else [] end user_roles = [user_roles] unless user_roles.is_a?(Array) roles.detect{|role| user_roles.map(&:to_sym).map(&:to_s).include?(role.to_s)}.present? end |
.initialize_with_config(conf) ⇒ Object
initializes the configuration options pulled from config/newsletter.yml and overrides with config/newsletter.local.yml if it exists
127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 |
# File 'lib/newsletter/engine.rb', line 127 def self.initialize_with_config(conf) ::Newsletter.table_prefix ||= conf.table_prefix || 'newsletter_' rescue 'newsletter_' ::Newsletter.designs_path ||= conf.designs_path || "#{Rails.root}/designs" rescue "#{Rails.root}/designs" = ActionController::Base. default_site_url = "#{default_url_options[:protocol]||'http'}://#{default_url_options[:domain]}" ::Newsletter.site_url ||= conf.site_url || default_site_url rescue default_site_url ::Newsletter.site_path ||= conf.site_path || '/' rescue '/' ::Newsletter.layout ||= conf.layout || 'application' rescue 'application' ::Newsletter.archive_layout ||= conf.archive_layout || 'application' rescue 'application' ::Newsletter.use_show_for_resources ||= conf.use_show_for_resources || false rescue false ::Newsletter.asset_path ||= conf.asset_path || 'newsletter_assets' rescue 'newsletter_assets' ::Newsletter.show_title ||= conf.show_title || true rescue true ::Newsletter.designs_require_authentication ||= conf.designs_require_authentication || false rescue false ::Newsletter. ||= conf. || false rescue false ::Newsletter. ||= conf. || [] rescue [] ::Newsletter. ||= conf. || [] rescue [] ::Newsletter.roles_method ||= conf.roles_method || '' rescue '' end |