Module: DcHelpControl
- Defined in:
- app/controls/dc_help_control.rb
Overview
Controls for creating help files
Instance Method Summary collapse
-
#data_filter ⇒ Object
Will return query to report data.
-
#dc_before_edit ⇒ Object
Will read data from help file.
-
#dc_before_save ⇒ Object
Will save data to help file.
-
#dc_new_record ⇒ Object
Will populate fields with default values.
-
#project_refresh ⇒ Object
Will fill dc_temp with help documents found in a defined project directory.
Instance Method Details
#data_filter ⇒ Object
Will return query to report data
87 88 89 |
# File 'app/controls/dc_help_control.rb', line 87 def data_filter DcTemp.where(key: temp_key).order_by(order: 1) end |
#dc_before_edit ⇒ Object
Will read data from help file
66 67 68 69 70 71 72 |
# File 'app/controls/dc_help_control.rb', line 66 def dc_before_edit file_name = "#{session[:help_project]}/help/#{@record.form_name}.#{session[:help_lang]}" data = YAML.load_file(file_name) @record.index = data['index'] @record.form = data['form'] flash[:warning] = "Use only in development!" unless Rails.env.development? end |
#dc_before_save ⇒ Object
Will save data to help file
77 78 79 80 81 82 |
# File 'app/controls/dc_help_control.rb', line 77 def dc_before_save rec = params[:record] file_name = "#{session[:help_project]}/help/#{@record.form_name}.#{@record.lang}" data = { 'index' => @record.index, 'form' => @record.form } File.write(file_name, data.to_yaml) end |
#dc_new_record ⇒ Object
Will populate fields with default values
58 59 60 61 |
# File 'app/controls/dc_help_control.rb', line 58 def dc_new_record @record.project = session[:help_project] @record.lang = session[:help_lang] end |
#project_refresh ⇒ Object
Will fill dc_temp with help documents found in a defined project directory.
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'app/controls/dc_help_control.rb', line 32 def project_refresh DcTemp.clear(temp_key) if params[:record][:select_project].present? # far less complicated if saved to session session[:help_project] = params[:record][:select_project] session[:help_lang] = params[:record][:lang_1] help_dir_name = "#{session[:help_project]}/help/" # create help directory if not yet exists FileUtils.mkdir(help_dir_name) unless File.exist?(help_dir_name) Dir["#{help_dir_name}*"].each do |file_name| lang = File.extname(file_name).sub('.','') next unless lang == session[:help_lang] DcTemp.new(key: temp_key, project: session[:help_project], form_name: File.basename(file_name,'.*'), lang: lang, updated_at: File.mtime(file_name)).save end end render json: { url: url_for(controller: 'cmsedit', table: :dc_temp, form_name: :dc_help_1) } end |