class Platform::Config
Public Class Methods
admin_helpers()
click to toggle source
# File lib/platform/config.rb, line 312 def self.admin_helpers return [] unless site_info[:admin_helpers] @admin_helpers ||= site_info[:admin_helpers].collect{|helper| helper.to_sym} end
admin_layout()
click to toggle source
# File lib/platform/config.rb, line 275 def self.admin_layout site_info[:admin_layout] end
admin_user?(user = current_user)
click to toggle source
# File lib/platform/config.rb, line 424 def self.admin_user?(user = current_user) user.send(site_user_info[:methods][:admin]) rescue Exception => ex Platform::Logger.error("Failed to fetch #{user_class_name} admin flag: #{ex.to_s}") false end
after_filters()
click to toggle source
# File lib/platform/config.rb, line 327 def self.after_filters return [] unless site_info[:after_filters] @after_filters ||= site_info[:after_filters].collect{|filter| filter.to_sym} end
api()
click to toggle source
# File lib/platform/config.rb, line 216 def self.api config[:API] end
api_allow_public?()
click to toggle source
# File lib/platform/config.rb, line 556 def self.api_allow_public? api[:allow_public] end
api_base_url()
click to toggle source
# File lib/platform/config.rb, line 576 def self.api_base_url api[:base_url] end
api_config_path()
click to toggle source
# File lib/platform/config.rb, line 540 def self.api_config_path api[:config_path] end
api_default_version()
click to toggle source
# File lib/platform/config.rb, line 592 def self.api_default_version api[:default_version] end
api_explorer_app()
click to toggle source
# File lib/platform/config.rb, line 600 def self.api_explorer_app return if api_explorer_app_id.blank? @api_explorer_app ||= Platform::Application.find_by_id(api_explorer_app_id) end
api_explorer_app?()
click to toggle source
# File lib/platform/config.rb, line 605 def self.api_explorer_app? !api_explorer_app_id.blank? end
api_explorer_app_id()
click to toggle source
# File lib/platform/config.rb, line 596 def self.api_explorer_app_id config[:api_explorer_app_id] end
api_explorer_groups(api_version = api_default_version)
click to toggle source
# File lib/platform/config.rb, line 660 def self.api_explorer_groups(api_version = api_default_version) api[:explorer_groups][api_version] end
api_logging_enabled?()
click to toggle source
# File lib/platform/config.rb, line 544 def self.api_logging_enabled? api[:logging_enabled] end
api_max_models()
click to toggle source
# File lib/platform/config.rb, line 560 def self.api_max_models api[:max_models] end
api_proxies_path()
click to toggle source
# File lib/platform/config.rb, line 609 def self.api_proxies_path api[:proxies_path] end
api_reference(api_version = api_default_version)
click to toggle source
API References
# File lib/platform/config.rb, line 627 def self.api_reference(api_version = api_default_version) @api_reference ||= begin ref = HashWithIndifferentAccess.new api_supported_versions.each do |version| ref[version] = {} path = "#{root}/#{api[:config_path]}/#{version}" files = Dir.glob("#{path}/*.yml") files.each do |file| ref[version].merge!(YAML.load_file(file)) end end ref.freeze end @api_reference[api_version] end
api_reference_by_path(api_version, path)
click to toggle source
# File lib/platform/config.rb, line 643 def self.api_reference_by_path(api_version, path) @api_reference_by_path ||= {} @api_reference_by_path[api_version] ||= begin api = api_reference(api_version) by_path = {} api.each do |key, defs| by_path[defs["path"]] = api[key] (defs[:actions] || []).each do |act_key, acts| path = acts["path"] || "#{defs["path"]}/#{act_key}" by_path[path] = defs[:actions][act_key] end end by_path end @api_reference_by_path[api_version][path] end
api_request_limit()
click to toggle source
# File lib/platform/config.rb, line 548 def self.api_request_limit api[:request_limit] end
api_request_window()
click to toggle source
# File lib/platform/config.rb, line 564 def self.api_request_window api[:request_window] end
api_scheme()
click to toggle source
# File lib/platform/config.rb, line 580 def self.api_scheme api[:scheme] end
api_supported_version_options()
click to toggle source
# File lib/platform/config.rb, line 588 def self.api_supported_version_options @api_supported_version_options ||= api[:supported_versions].collect{|v| ["v #{v}", v]} end
api_supported_versions()
click to toggle source
# File lib/platform/config.rb, line 584 def self.api_supported_versions api[:supported_versions] end
api_token_lifetime()
click to toggle source
# File lib/platform/config.rb, line 568 def self.api_token_lifetime api[:token_lifetime] end
before_filters()
click to toggle source
# File lib/platform/config.rb, line 322 def self.before_filters return [] unless site_info[:before_filters] @before_filters ||= site_info[:before_filters].collect{|filter| filter.to_sym} end
cache_adapter()
click to toggle source
# File lib/platform/config.rb, line 228 def self.cache_adapter caching[:adapter] end
cache_store()
click to toggle source
# File lib/platform/config.rb, line 232 def self.cache_store caching[:store] end
cache_version()
click to toggle source
# File lib/platform/config.rb, line 236 def self.cache_version caching[:version] end
caching()
click to toggle source
Config
Sections
# File lib/platform/config.rb, line 204 def self.caching config[:caching] end
config()
click to toggle source
# File lib/platform/config.rb, line 153 def self.config @config ||= load_yml("/config/platform/config.yml") end
create_media(file)
click to toggle source
# File lib/platform/config.rb, line 469 def self.create_media(file) media = site_media_class.constantize.create media.send(site_media_write_method, file) media rescue Exception => ex pp ex Platform::Logger.error("Failed to create media: #{ex.to_s}") nil end
current_application()
click to toggle source
# File lib/platform/config.rb, line 41 def self.current_application Thread.current[:platform_current_application] end
current_application=(app)
click to toggle source
# File lib/platform/config.rb, line 45 def self.current_application=(app) Thread.current[:platform_current_application] = app end
current_developer()
click to toggle source
# File lib/platform/config.rb, line 37 def self.current_developer Thread.current[:platform_current_developer] end
current_user()
click to toggle source
# File lib/platform/config.rb, line 33 def self.current_user Thread.current[:platform_current_user] end
current_user_is_admin?()
click to toggle source
# File lib/platform/config.rb, line 431 def self.current_user_is_admin? admin_user? end
current_user_is_developer?()
click to toggle source
# File lib/platform/config.rb, line 49 def self.current_user_is_developer? Thread.current[:platform_current_developer] != nil end
current_user_is_guest?()
click to toggle source
# File lib/platform/config.rb, line 443 def self.current_user_is_guest? guest_user? end
current_user_method()
click to toggle source
# File lib/platform/config.rb, line 340 def self.current_user_method site_user_info[:current_user_method] end
default_app_icon()
click to toggle source
# File lib/platform/config.rb, line 193 def self.default_app_icon "/assets/platform/default_app_icon.gif" end
default_app_logo()
click to toggle source
# File lib/platform/config.rb, line 197 def self.default_app_logo "/assets/platform/default_app_logo.gif" end
default_applications()
click to toggle source
# File lib/platform/config.rb, line 130 def self.default_applications @default_applications ||= load_yml("/config/platform/data/default_applications.yml") end
default_categories()
click to toggle source
# File lib/platform/config.rb, line 134 def self.default_categories @default_categories ||= load_yml("/config/platform/data/default_categories.yml") end
default_url()
click to toggle source
# File lib/platform/config.rb, line 267 def self.default_url site_info[:default_url] end
developer_agreement_path()
click to toggle source
# File lib/platform/config.rb, line 181 def self.developer_agreement_path config[:developer_agreement_path] end
disabled?()
click to toggle source
# File lib/platform/config.rb, line 161 def self.disabled? not enabled? end
enable_api?()
click to toggle source
API
# File lib/platform/config.rb, line 536 def self.enable_api? api[:enabled] end
enable_api_verification?()
click to toggle source
# File lib/platform/config.rb, line 189 def self.enable_api_verification? config[:enable_api_verification] end
enable_app_directory?()
click to toggle source
# File lib/platform/config.rb, line 165 def self.enable_app_directory? config[:enable_app_directory] end
enable_app_statistics?()
click to toggle source
# File lib/platform/config.rb, line 185 def self.enable_app_statistics? config[:enable_app_statistics] end
enable_caching?()
click to toggle source
Caching
# File lib/platform/config.rb, line 224 def self.enable_caching? caching[:enabled] end
enable_developer_agreement?()
click to toggle source
# File lib/platform/config.rb, line 177 def self.enable_developer_agreement? config[:enable_developer_agreement] end
enable_embedded_applications?()
click to toggle source
# File lib/platform/config.rb, line 169 def self.enable_embedded_applications? config[:enable_embedded_applications] end
enable_logger?()
click to toggle source
# File lib/platform/config.rb, line 244 def self.enable_logger? logger[:enabled] end
enable_mobile_applications?()
click to toggle source
# File lib/platform/config.rb, line 173 def self.enable_mobile_applications? config[:enable_mobile_applications] end
enabled?()
click to toggle source
# File lib/platform/config.rb, line 157 def self.enabled? config[:enable_platform] end
env()
click to toggle source
# File lib/platform/config.rb, line 142 def self.env Rails.env end
featured_apps_enabled?()
click to toggle source
Application Directory
# File lib/platform/config.rb, line 497 def self.featured_apps_enabled? true end
featured_apps_per_page()
click to toggle source
# File lib/platform/config.rb, line 509 def self.featured_apps_per_page 2 end
featured_apps_per_row()
click to toggle source
# File lib/platform/config.rb, line 505 def self.featured_apps_per_row 2 end
featured_apps_title()
click to toggle source
# File lib/platform/config.rb, line 501 def self.featured_apps_title "Featured Applications" end
features()
click to toggle source
# File lib/platform/config.rb, line 670 def self.features @features ||= begin defs = load_yml("/config/platform/site/features.yml") feats = [] defs[:enabled_features].each do |key| defs[key][:key] = key feats << defs[key] end feats end end
guest_user?(user = current_user)
click to toggle source
# File lib/platform/config.rb, line 435 def self.guest_user?(user = current_user) return true unless user user.send(site_user_info[:methods][:guest]) rescue Exception => ex Platform::Logger.error("Failed to fetch #{user_class_name} guest flag: #{ex.to_s}") true end
helpers()
click to toggle source
# File lib/platform/config.rb, line 307 def self.helpers return [] unless site_info[:helpers] @tr8n_helpers ||= site_info[:helpers].collect{|helper| helper.to_sym} end
icon_url(media)
click to toggle source
# File lib/platform/config.rb, line 486 def self.icon_url(media) eval("media.#{site_media_info[:icon_url_method]}") rescue Exception => ex Platform::Logger.error("Failed to fetch icon url: #{ex.to_s}") default_app_icon end
init(site_current_user, current_application = nil)
click to toggle source
# File lib/platform/config.rb, line 27 def self.init(site_current_user, current_application = nil) Thread.current[:platform_current_user] = site_current_user Thread.current[:platform_current_developer] = Platform::Developer.for(site_current_user) Thread.current[:platform_current_application] = current_application end
init_categories(parent, categories)
click to toggle source
# File lib/platform/config.rb, line 123 def self.init_categories(parent, categories) categories.each do |keyword, info| cat = Platform::Category.create(:parent => parent, :keyword => keyword, :name => info[:name], :position => info[:position]) init_categories(cat, info[:categories]) if info[:categories] end end
init_default_applications()
click to toggle source
# File lib/platform/config.rb, line 105 def self.init_default_applications puts "Initializing default applications..." unless system_developer puts "Cannot initialize default application because system user id is not specified in the config." return end default_applications.each do |keyword, description| app = Platform::Application.create(description.merge(:developer => system_developer)) puts "Initialized #{app.name}." end end
init_default_categories()
click to toggle source
# File lib/platform/config.rb, line 118 def self.init_default_categories puts "Initializing default categories..." init_categories(Platform::Category.root, default_categories) end
load_proxies()
click to toggle source
# File lib/platform/config.rb, line 613 def self.load_proxies Dir["#{root}/#{api_proxies_path}/*_proxy_*.rb"].each do |file| require_or_load file end end
load_yml(file_path, for_env = env)
click to toggle source
# File lib/platform/config.rb, line 146 def self.load_yml(file_path, for_env = env) yml_path = "#{root}#{file_path}" yml = YAML.load_file(yml_path) yml = yml['defaults'].rmerge(yml[for_env] || {}) unless for_env.nil? HashWithIndifferentAccess.new(yml) end
log_path()
click to toggle source
# File lib/platform/config.rb, line 248 def self.log_path logger[:log_path] end
logger()
click to toggle source
# File lib/platform/config.rb, line 208 def self.logger config[:logger] end
login_url(params = {})
click to toggle source
# File lib/platform/config.rb, line 348 def self.login_url(params = {}) site_info[:login_url] + (site_info[:logout_url].index('?') ? ':' : '?') + params.collect{|n,v| "#{n}=#{CGI.escape(v.to_s)}"}.join('&') end
logo_url(media)
click to toggle source
# File lib/platform/config.rb, line 479 def self.logo_url(media) eval("media.#{site_media_info[:logo_url_method]}") rescue Exception => ex Platform::Logger.error("Failed to fetch logo url: #{ex.to_s}") default_app_logo end
logout_method()
click to toggle source
# File lib/platform/config.rb, line 344 def self.logout_method site_user_info[:logout_method] end
logout_url(params = {})
click to toggle source
# File lib/platform/config.rb, line 352 def self.logout_url(params = {}) site_info[:logout_url] + (site_info[:logout_url].index('?') ? ':' : '?') + params.collect{|n,v| "#{n}=#{CGI.escape(v.to_s)}"}.join('&') end
media_directory()
click to toggle source
# File lib/platform/config.rb, line 299 def self.media_directory site_info[:media_directory] end
media_path()
click to toggle source
# File lib/platform/config.rb, line 303 def self.media_path "#{root}/public#{media_directory}" end
models()
click to toggle source
# File lib/platform/config.rb, line 59 def self.models @models ||= begin mdls = [ Platform::ApplicationDeveloper, Platform::ApplicationPermission, Platform::ApplicationUser, Platform::ApplicationCategory, Platform::Category, Platform::ForumMessage, Platform::ForumTopic, Platform::Permission, Platform::Rating, Platform::Developer, Platform::Application, Platform::Oauth::OauthToken, Platform::Oauth::AccessToken, Platform::Oauth::RequestToken, Platform::Oauth::RefreshToken, Platform::Media::Media, Platform::Media::Image, Platform::ApplicationLog, Platform::RollupLog, Platform::ApplicationMetric, Platform::DailyApplicationMetric, Platform::WeeklyApplicationMetric, Platform::MonthlyApplicationMetric, Platform::TotalApplicationMetric, Platform::ApplicationUsageMetric, Platform::LoggedException ] if user_class_name == "Platform::PlatformUser" # used for stand-alone deployment only mdls << [Platform::PlatformUser, Platform::PlatformAdmin] end mdls.flatten end end
oauth_desktop_layout()
click to toggle source
# File lib/platform/config.rb, line 295 def self.oauth_desktop_layout site_info[:oauth_desktop_layout] end
oauth_fluid_layout()
click to toggle source
# File lib/platform/config.rb, line 283 def self.oauth_fluid_layout site_info[:oauth_fluid_layout] end
oauth_mobile_layout()
click to toggle source
# File lib/platform/config.rb, line 291 def self.oauth_mobile_layout site_info[:oauth_mobile_layout] end
oauth_popup_layout()
click to toggle source
# File lib/platform/config.rb, line 287 def self.oauth_popup_layout site_info[:oauth_popup_layout] end
oauth_web_layout()
click to toggle source
# File lib/platform/config.rb, line 279 def self.oauth_web_layout site_info[:oauth_web_layout] end
proxies()
click to toggle source
# File lib/platform/config.rb, line 619 def self.proxies @proxies ||= {} end
reset!()
click to toggle source
# File lib/platform/config.rb, line 53 def self.reset! Thread.current[:platform_current_user] = nil Thread.current[:platform_current_developer] = nil Thread.current[:platform_current_application] = nil end
reset_all!()
click to toggle source
# File lib/platform/config.rb, line 85 def self.reset_all! models.each do |cls| puts ">> Resetting #{cls.name}..." cls.delete_all end init_default_categories puts "Done." end
root()
click to toggle source
# File lib/platform/config.rb, line 138 def self.root Rails.root end
searched_apps_per_page()
click to toggle source
# File lib/platform/config.rb, line 529 def self.searched_apps_per_page 15 end
searched_apps_title()
click to toggle source
# File lib/platform/config.rb, line 525 def self.searched_apps_title "Search Results" end
silhouette_image(user = current_user)
click to toggle source
# File lib/platform/config.rb, line 666 def self.silhouette_image(user = current_user) "/assets/platform/photo_silhouette.gif" end
site_base_url()
click to toggle source
# File lib/platform/config.rb, line 263 def self.site_base_url site_info[:base_url] end
site_info()
click to toggle source
# File lib/platform/config.rb, line 212 def self.site_info config[:site_info] end
site_layout()
click to toggle source
# File lib/platform/config.rb, line 271 def self.site_layout site_info[:platform_layout] end
site_logo_url()
click to toggle source
# File lib/platform/config.rb, line 259 def self.site_logo_url site_info[:logo_url] end
site_media_class()
click to toggle source
# File lib/platform/config.rb, line 460 def self.site_media_class return "Platform::Media::Image" unless site_media_enabled? site_media_info[:class_name] end
site_media_enabled?()
click to toggle source
# File lib/platform/config.rb, line 456 def self.site_media_enabled? site_media_info[:enabled] end
site_media_info()
click to toggle source
site media info The following methods could be overloaded in the initializer
# File lib/platform/config.rb, line 452 def self.site_media_info site_info[:media_info] end
site_media_write_method()
click to toggle source
# File lib/platform/config.rb, line 465 def self.site_media_write_method site_media_info[:write_method] end
site_title()
click to toggle source
Site Info
# File lib/platform/config.rb, line 255 def self.site_title site_info[:title] end
site_user_info()
click to toggle source
site user info The following methods could be overloaded in the initializer
# File lib/platform/config.rb, line 336 def self.site_user_info site_info[:user_info] end
site_user_info_disabled?()
click to toggle source
# File lib/platform/config.rb, line 360 def self.site_user_info_disabled? !site_user_info_enabled? end
site_user_info_enabled?()
click to toggle source
# File lib/platform/config.rb, line 356 def self.site_user_info_enabled? site_user_info[:enabled].nil? ? true : site_user_info[:enabled] end
skip_before_filters()
click to toggle source
# File lib/platform/config.rb, line 317 def self.skip_before_filters return [] unless site_info[:skip_before_filters] @skip_before_filters ||= site_info[:skip_before_filters].collect{|filter| filter.to_sym} end
suggested_apps_per_page()
click to toggle source
# File lib/platform/config.rb, line 521 def self.suggested_apps_per_page 20 end
suggested_apps_per_row()
click to toggle source
# File lib/platform/config.rb, line 517 def self.suggested_apps_per_row 5 end
suggested_apps_title()
click to toggle source
# File lib/platform/config.rb, line 513 def self.suggested_apps_title "Applications You May Like" end
system_developer()
click to toggle source
# File lib/platform/config.rb, line 101 def self.system_developer @system_developer ||= Platform::Developer.find_or_create(Platform::Config.system_user) end
system_user()
click to toggle source
# File lib/platform/config.rb, line 96 def self.system_user return nil unless site_info[:system_user_id] @system_user ||= user_class_name.constantize.find_by_id(site_info[:system_user_id]) end
user_class()
click to toggle source
# File lib/platform/config.rb, line 369 def self.user_class user_class_name.constantize end
user_class_name()
click to toggle source
# File lib/platform/config.rb, line 364 def self.user_class_name return site_user_info[:class_name] if site_user_info_enabled? "Platform::PlatformUser" end
user_email(user = current_user)
click to toggle source
# File lib/platform/config.rb, line 387 def self.user_email(user = current_user) user.send(site_user_info[:methods][:email]) rescue Exception => ex Platform::Logger.error("Failed to fetch #{user_class_name} name: #{ex.to_s}") nil end
user_gender(user = current_user)
click to toggle source
# File lib/platform/config.rb, line 394 def self.user_gender(user = current_user) user.send(site_user_info[:methods][:gender]) rescue Exception => ex Platform::Logger.error("Failed to fetch #{user_class_name} name: #{ex.to_s}") "unknown" end
user_id(user = current_user)
click to toggle source
# File lib/platform/config.rb, line 373 def self.user_id(user = current_user) user.send(site_user_info[:methods][:id]) rescue Exception => ex Platform::Logger.error("Failed to fetch user id: #{ex.to_s}") 0 end
user_link(user = current_user)
click to toggle source
# File lib/platform/config.rb, line 410 def self.user_link(user = current_user) user.send(site_user_info[:methods][:link]) rescue Exception => ex Platform::Logger.error("Failed to fetch #{user_class_name} link: #{ex.to_s}") "/tr8n" end
user_locale(user = current_user)
click to toggle source
# File lib/platform/config.rb, line 417 def self.user_locale(user = current_user) user.send(site_user_info[:methods][:locale]) rescue Exception => ex Platform::Logger.error("Failed to fetch #{user_class_name} locale: #{ex.to_s}") default_locale end
user_mugshot(user = current_user)
click to toggle source
# File lib/platform/config.rb, line 401 def self.user_mugshot(user = current_user) mugshot_image = user.send(site_user_info[:methods][:mugshot]) return silhouette_image(user) if mugshot_image.blank? mugshot_image rescue Exception => ex Platform::Logger.error("Failed to fetch #{user_class_name} image: #{ex.to_s}") silhouette_image end
user_name(user = current_user)
click to toggle source
# File lib/platform/config.rb, line 380 def self.user_name(user = current_user) user.send(site_user_info[:methods][:name]) rescue Exception => ex Platform::Logger.error("Failed to fetch #{user_class_name} name: #{ex.to_s}") "Unknown user" end