module Nucleon::Mixin::Action::Registration
Public Instance Methods
register_array(name, default = [], locale = nil, &code)
click to toggle source
# File lib/core/mixin/action/registration.rb 34 def register_array(name, default = [], locale = nil, &code) 35 register(name, :array, default, locale, &code) 36 end
register_bool(name, default = false, locale = nil, &code)
click to toggle source
# File lib/core/mixin/action/registration.rb 10 def register_bool(name, default = false, locale = nil, &code) 11 register(name, :bool, default, locale, &code) 12 end
register_directories(name, default = nil, locale = nil, &code)
click to toggle source
# File lib/core/mixin/action/registration.rb 82 def register_directories(name, default = nil, locale = nil, &code) 83 name = name.to_sym 84 85 option_locale, validation_locale = split_locales(locale) 86 87 register_array(name, default, option_locale) do |values| 88 success = validate_directories(values, validation_locale) 89 success = code.call(values, success) if code 90 success 91 end 92 end
register_directory(name, default = nil, locale = nil, &code)
click to toggle source
# File lib/core/mixin/action/registration.rb 68 def register_directory(name, default = nil, locale = nil, &code) 69 name = name.to_sym 70 71 option_locale, validation_locale = split_locales(locale) 72 73 register_str(name, default, option_locale) do |value| 74 success = validate_directory(value, validation_locale) 75 success = code.call(value, success) if code 76 success 77 end 78 end
register_file(name, default = nil, locale = nil, &code)
click to toggle source
# File lib/core/mixin/action/registration.rb 40 def register_file(name, default = nil, locale = nil, &code) 41 name = name.to_sym 42 43 option_locale, validation_locale = split_locales(locale) 44 45 register_str(name, default, option_locale) do |value| 46 success = validate_file(value, validation_locale) 47 success = code.call(value, success) if code 48 success 49 end 50 end
register_files(name, default = nil, locale = nil, &code)
click to toggle source
# File lib/core/mixin/action/registration.rb 54 def register_files(name, default = nil, locale = nil, &code) 55 name = name.to_sym 56 57 option_locale, validation_locale = split_locales(locale) 58 59 register_array(name, default, option_locale) do |values| 60 success = validate_files(values, validation_locale) 61 success = code.call(values, success) if code 62 success 63 end 64 end
register_float(name, default = nil, locale = nil, &code)
click to toggle source
# File lib/core/mixin/action/registration.rb 22 def register_float(name, default = nil, locale = nil, &code) 23 register(name, :float, default, locale, &code) 24 end
register_int(name, default = nil, locale = nil, &code)
click to toggle source
# File lib/core/mixin/action/registration.rb 16 def register_int(name, default = nil, locale = nil, &code) 17 register(name, :int, default, locale, &code) 18 end
register_plugin(namespace, type, name, default = nil, locale = nil, &code)
click to toggle source
# File lib/core/mixin/action/registration.rb 152 def register_plugin(namespace, type, name, default = nil, locale = nil, &code) 153 name = name.to_sym 154 155 option_locale, validation_locale = split_locales(locale) 156 157 register_str(name, default, option_locale) do |value| 158 success = validate_plugins(namespace, type, name, value, validation_locale) 159 success = code.call(value, success) if code 160 success 161 end 162 end
register_plugin_provider(namespace, type, name, default = nil, locale = nil, &code)
click to toggle source
# File lib/core/mixin/action/registration.rb 124 def register_plugin_provider(namespace, type, name, default = nil, locale = nil, &code) 125 name = name.to_sym 126 127 option_locale, validation_locale = split_locales(locale) 128 129 register_str(name, default, option_locale) do |value| 130 success = validate_plugin_providers(namespace, type, name, value, validation_locale) 131 success = code.call(value, success) if code 132 success 133 end 134 end
register_plugin_providers(namespace, type, name, default = nil, locale = nil, &code)
click to toggle source
# File lib/core/mixin/action/registration.rb 138 def register_plugin_providers(namespace, type, name, default = nil, locale = nil, &code) 139 name = name.to_sym 140 141 option_locale, validation_locale = split_locales(locale) 142 143 register_array(name, default, option_locale) do |values| 144 success = validate_plugin_providers(namespace, type, name, values, validation_locale) 145 success = code.call(values, success) if code 146 success 147 end 148 end
register_plugin_type(namespace, name, default = nil, locale = nil, &code)
click to toggle source
# File lib/core/mixin/action/registration.rb 96 def register_plugin_type(namespace, name, default = nil, locale = nil, &code) 97 name = name.to_sym 98 99 option_locale, validation_locale = split_locales(locale) 100 101 register_str(name, default, option_locale) do |value| 102 success = validate_plugin_types(namespace, name, value, validation_locale) 103 success = code.call(value, success) if code 104 success 105 end 106 end
register_plugin_types(namespace, name, default = nil, locale = nil, &code)
click to toggle source
# File lib/core/mixin/action/registration.rb 110 def register_plugin_types(namespace, name, default = nil, locale = nil, &code) 111 name = name.to_sym 112 113 option_locale, validation_locale = split_locales(locale) 114 115 register_array(name, default, option_locale) do |values| 116 success = validate_plugin_types(namespace, name, values, validation_locale) 117 success = code.call(values, success) if code 118 success 119 end 120 end
register_plugins(namespace, type, name, default = nil, locale = nil, &code)
click to toggle source
# File lib/core/mixin/action/registration.rb 166 def register_plugins(namespace, type, name, default = nil, locale = nil, &code) 167 name = name.to_sym 168 169 option_locale, validation_locale = split_locales(locale) 170 171 register_array(name, default, option_locale) do |values| 172 success = validate_plugins(namespace, type, name, values, validation_locale) 173 success = code.call(values, success) if code 174 success 175 end 176 end
register_project(name, default = nil, locale = nil, &code)
click to toggle source
# File lib/core/mixin/action/registration.rb 192 def register_project(name, default = nil, locale = nil, &code) 193 register_plugin(:nucleon, :project, name.to_sym, default, locale, &code) 194 end
register_project_provider(name, default = nil, locale = nil, &code)
click to toggle source
# File lib/core/mixin/action/registration.rb 180 def register_project_provider(name, default = nil, locale = nil, &code) 181 register_plugin_provider(:nucleon, :project, name.to_sym, default, locale, &code) 182 end
register_project_providers(name, default = nil, locale = nil, &code)
click to toggle source
# File lib/core/mixin/action/registration.rb 186 def register_project_providers(name, default = nil, locale = nil, &code) 187 register_plugin_providers(:nucleon, :project, name.to_sym, default, locale, &code) 188 end
register_projects(name, default = nil, locale = nil, &code)
click to toggle source
# File lib/core/mixin/action/registration.rb 198 def register_projects(name, default = nil, locale = nil, &code) 199 register_plugins(:nucleon, :project, name.to_sym, default, locale, &code) 200 end
register_str(name, default = '', locale = nil, &code)
click to toggle source
# File lib/core/mixin/action/registration.rb 28 def register_str(name, default = '', locale = nil, &code) 29 register(name, :str, default, locale, &code) 30 end
register_translator(name, default = nil, locale = nil, &code)
click to toggle source
# File lib/core/mixin/action/registration.rb 216 def register_translator(name, default = nil, locale = nil, &code) 217 register_plugin(:nucleon, :translator, name.to_sym, default, locale, &code) 218 end
register_translator_provider(name, default = nil, locale = nil, &code)
click to toggle source
# File lib/core/mixin/action/registration.rb 204 def register_translator_provider(name, default = nil, locale = nil, &code) 205 register_plugin_provider(:nucleon, :translator, name.to_sym, default, locale, &code) 206 end
register_translator_providers(name, default = nil, locale = nil, &code)
click to toggle source
# File lib/core/mixin/action/registration.rb 210 def register_translator_providers(name, default = nil, locale = nil, &code) 211 register_plugin_providers(:nucleon, :translator, name.to_sym, default, locale, &code) 212 end
register_translators(name, default = nil, locale = nil, &code)
click to toggle source
# File lib/core/mixin/action/registration.rb 222 def register_translators(name, default = nil, locale = nil, &code) 223 register_plugins(:nucleon, :translators, name.to_sym, default, locale, &code) 224 end
split_locales(locale)
click to toggle source
# File lib/core/mixin/action/registration.rb 321 def split_locales(locale) 322 option_locale = nil 323 validation_locale = nil 324 325 if locale.is_a?(Array) 326 option_locale = locale[0] 327 validation_locale = locale[1] if locale.size > 1 328 else 329 option_locale = locale 330 end 331 [ option_locale, validation_locale ] 332 end
validate_directories(dir_names, locale = nil)
click to toggle source
# File lib/core/mixin/action/registration.rb 257 def validate_directories(dir_names, locale = nil) 258 success = true 259 260 array(dir_names).each do |dir_name| 261 test = validate_directory(dir_name, locale) 262 success = false unless test 263 end 264 success 265 end
validate_directory(dir_name, locale = nil)
click to toggle source
# File lib/core/mixin/action/registration.rb 249 def validate_directory(dir_name, locale = nil) 250 success = dir_name.nil? || File.directory?(dir_name) 251 warn(locale, { :directory => dir_name }) unless success 252 success 253 end
validate_file(file_name, locale = nil)
click to toggle source
# File lib/core/mixin/action/registration.rb 229 def validate_file(file_name, locale = nil) 230 success = file_name.nil? || File.exists?(file_name) 231 warn(locale, { :file => file_name }) unless success 232 success 233 end
validate_files(file_names, locale = nil)
click to toggle source
# File lib/core/mixin/action/registration.rb 237 def validate_files(file_names, locale = nil) 238 success = true 239 240 array(file_names).each do |file_name| 241 test = validate_file(file_name, locale) 242 success = false unless test 243 end 244 success 245 end
validate_plugin_providers(namespace, type, name, values, locale = nil)
click to toggle source
# File lib/core/mixin/action/registration.rb 285 def validate_plugin_providers(namespace, type, name, values, locale = nil) 286 loaded_plugin_providers = Nucleon.loaded_plugins(namespace, type).keys 287 success = true 288 locale = "validation.#{name}" unless locale 289 290 array(values).each do |value| 291 if ! loaded_plugin_providers.include?(value.to_sym) 292 warn(locale, { :value => value, :choices => loaded_plugin_providers.join(", ") }) 293 success = false 294 end 295 end 296 success 297 end
validate_plugin_types(namespace, name, values, locale = nil)
click to toggle source
# File lib/core/mixin/action/registration.rb 269 def validate_plugin_types(namespace, name, values, locale = nil) 270 loaded_plugin_types = Nucleon.loaded_plugins(namespace).keys 271 success = true 272 locale = "validation.#{name}" unless locale 273 274 array(values).each do |value| 275 if ! loaded_plugin_types.include?(value.to_sym) 276 warn(locale, { :value => value, :choices => loaded_plugin_types.join(", ") }) 277 success = false 278 end 279 end 280 success 281 end
validate_plugins(namespace, type, name, values, locale = nil)
click to toggle source
# File lib/core/mixin/action/registration.rb 301 def validate_plugins(namespace, type, name, values, locale = nil) 302 plugin_class = Nucleon.plugin_class(namespace, type) 303 loaded_plugins = Nucleon.loaded_plugins(namespace, type) 304 success = true 305 locale = "validation.#{name}" unless locale 306 307 array(values).each do |value| 308 if info = plugin_class.translate_reference(value) 309 if ! loaded_plugins.keys.include?(info[:provider].to_sym) 310 warn(locale, Util::Data.merge([ info, { :value => value, :choices => loaded_plugins.keys.join(", ") } ])) 311 success = false 312 end 313 end 314 end 315 success 316 end