Module: Clir::DataManager
- Includes:
- ClirDataManagerConstants
- Defined in:
- lib/clir/data_manager.rb,
lib/clir/data_manager/Editor.rb,
lib/clir/data_manager/Manager.rb,
lib/clir/data_manager/version.rb,
lib/clir/data_manager/Property.rb,
lib/clir/data_manager/Displayer.rb,
lib/clir/data_manager/Validator.rb,
lib/clir/data_manager/constants.rb,
lib/clir/data_manager/errors_and_messages.rb
Defined Under Namespace
Classes: Error, Manager, Property
Constant Summary collapse
- VERSION =
"0.3.2"
- CHOIX_RENONCER =
{name: MSG[:cancel].orange, value:nil}
- CHOIX_CREATE =
{name: MSG[:create_new].bleu, value: :create}
- YAML_OPTIONS =
{symbolize_names: true, permitted_classes: [Date, Integer, Symbol, Time]}
- ERRORS__ =
{ 'fr' => { undefined_class: 'La classe %s est indéfinie…', require_data_properties: 'La classe %s doit définir DATA_PROPERTIES.', require_save_system: 'La class %s doit définir @@save_system dans la classe propriétaire du manager pour définir le système d’enregistrement à utiliser (:card, :file ou :conf — cf. manuel)', require_save_format: 'La class %s doit définir @@save_format, le format de sauvegarde, entre :yaml et :csv', require_save_location:'La class %s doit définir @@save_location, le lieu de sauvegarde des données (fichier ou dossier)', bad_save_system: '%s@@save_system doit valoir :card (enregistrement par fiche) :file (enregistrement dans un unique fichier) ou :conf (par configuration)', require_save_location_folder: '%s@@save_location devrait être un dossier (pour enregistrer les fiches de données)', require_save_location_file: '%s@@save_location doit être un fichier, pas un dossier, pour :file et :conf.', bas_save_format: '%s@@save_format doit être :csv ou :yaml exclusivement.', no_csv_format_with_card: 'L’enregistrement par fiche (:card) ne permet pas le format :csv.', require_relative_class: 'Pour la propriété "%s", la classe relative doit absolument exister, correspondant au nom de la propriété sans _id(s).', choice_unfound_in_choices_list: "Impossible de trouver la valeur (:value) '%s' dans la liste des valeurs de la propriété %s (%s)…", unknown_if_attribut: "Je ne sais pas traiter la valeur %s pour l'attribut :if…", unable_to_get_class_from_class_min: "Impossible de tirer la classe relative de '%s'%s", specs_undefined: "La propriété :%s doit définir ses :specs", value_doesnt_respond_to: "La valeur %s:%s ne répond pas à %s", no_name_for_property: "La propriété %s doit absolument définir son :name (si c'est une procédure, s'assurer qu'elle retourne bien une valeur).", unknown_values_method: "Personne ne semble comprendre la méthode %s…", no_time_property: "La classe %s n'utilisant aucune des propriétés :date, :created_at ou :time, il faut qu'elle définisse la propriété à prendre comme temps de référence (en mettant 'property_time:true' dans la définission de la propriété) ou en n'utilisant pas de période sur ces instances.", invalid_property: "La propriété %s est invalide : %s.", required_property: "La propriété %s est absolument requise.", invalid_mail: "Le mail '%s' est invalide.", invalid_date: "La date '%s' est invalide (format requis : JJ/MM/AAAA)", invalid_url: "L'URL '%s' est invalide : %s.", invalid_people: "La donnée %s est invalide : %s…", too_long_name: "Le nom '%s' contient trop de mots pour être un nom", bad_chars_in_name: "Le nom '%s' contient des caractères impossibles dans un nom", }, 'us' => { undefined_class: 'Class %s is undefined…', require_data_properties: 'Class %s should define DATA_PROPERTIES.', require_save_system: 'Owner class %s should define @@save_system, the save system to use (:card, :file ou :conf — see manual)', require_save_format: 'Owner class %s should define @@save_format, among :yaml and :csv', require_save_location:'Owner class %s should define @@save_location, this file or the folder where save data.', bad_save_system: '%s@@save_system should equal :card (save in card) :file (save in a one file) or :conf (configuration)', require_save_location_folder: '%s@@save_location should be a folder (where save cards)', require_save_location_file: '%s@@save_location should be a file, not a folder, for :file et :conf save_system.', bas_save_format: '%s@@save_format should be exclusively :csv or :yaml.', no_csv_format_with_card: 'Save system by card (:card) does not allow :csv format.', require_relative_class: 'For property "%s", a relative class should be defined, corresponding to property name.', choice_unfound_in_choices_list: "Unfound value (:value) '%s' in values of %s property… (%s)", unknown_if_attribut: "Can't treat %s value for :if attribute…", unable_to_get_class_from_class_min: "Unable to get relative class from '%s'%s", specs_undefined: ":%s property should defined its :specs", value_doesnt_respond_to: "%s:%s value doesn't respond to %s", no_name_for_property: "%s property should defined its :name attribute (if it's a Proc, make sure it returns a value).", unknown_values_method: "Can't deal with %s values method…", no_time_property: "Class %s defines none of these properties :date, :created_at or :time, so one should define the reference property to take as time (by setting 'property_time:true' in its attributes) or do not use periode filter with instances of this class.", invalid_property: "%s property is invalid: %s.", required_property: "Property %s is required.", invalid_mail: "Invalid email address '%s'.", invalid_date: "Invalid date '%s' (format: MM/DD/YYYY)", invalid_url: "Invalid URL '%s'. Reason: %s.", invalid_people: "Invalid data: %s (%s)…", too_long_name: "The name '%s' contains too much word to be a real name", bad_chars_in_name: "The name '%s' contains unexpected characters", } }
- MESSAGES__ =
{ 'fr' => { date_format: '%d/%m/%Y', reg_date_format: /^[0-3]?[0-9]\/[0-1]?[0-9]\/2[0-5][0-9][0-9]$/, cancel: 'Renoncer', choose: 'Choisir', create_new: 'Créer nouvel item', define: 'Définir', define_thing: 'Définir %s', finir: 'Finir', no: 'Non', not_treated: '%s non traité', save: 'Enregistrer', yes: 'Oui', still_required_values: "valeurs requises à définir", all_required_data_must_be_defined: "Toutes les données requises doivent être définies.", q_confirm_data: 'Confirmez-vous ces données ?', data_not_saved_cancel: "Les données n'ont pas été sauvegardées. Voulez-vous vraiment renoncer et les perdre ?", item_created: "Nouveau %{element} créé avec succès !", item_created_fem: "Nouvelle %{element} créée avec succès !", item_updated: "%s #%s actualisé.", item_updated_fem: "%s #%s actualisée.", no_items_to_display: "Aucun élément à afficher.", }, 'us' => { date_format: '%m/%d/%Y', reg_date_format: /^[0-1]?[0-9]\/[0-3]?[0-9]\/2[0-5][0-9][0-9]$/, cancel: 'Cancel', choose: 'Choose', create_new: 'Create new item', define: 'Define', define_thing: 'Définir %s', finir: 'Complete', no: 'No', not_treated: '%s not traited', save: 'Save', yes: 'Yes', still_required_values: "still required values", all_required_data_must_be_defined: "All required data must be defined.", q_confirm_data: 'Confirm theses data?', data_not_saved_cancel: "Data not saved. Do you really want to cancel?", item_created: "New %{element} created with success!", item_created_fem: "New %{element} created with success!", item_updated: "%s #%s updated.", item_updated_fem: "%s #%s updated.", no_items_to_display: "No item to display.", } }
- ERRORS =
ERRORS__[LANG]
- MESSAGES =
MSG = MESSAGES__[LANG]
Constants included from ClirDataManagerConstants
ClirDataManagerConstants::ALL_SPECS, ClirDataManagerConstants::DISPLAYABLE, ClirDataManagerConstants::EDITABLE, ClirDataManagerConstants::REMOVABLE, ClirDataManagerConstants::REQUIRED, ClirDataManagerConstants::TABLEIZABLE
Class Method Summary collapse
Class Method Details
.new(classe, data_properties = nil) ⇒ Object
11 12 13 |
# File 'lib/clir/data_manager/Manager.rb', line 11 def new(classe, data_properties = nil) Manager.new(classe, data_properties) end |