agilibox 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +11 -0
  3. data/README.md +28 -0
  4. data/Rakefile +37 -0
  5. data/app/assets/config/agilibox_manifest.js +2 -0
  6. data/app/assets/javascripts/agilibox/all.coffee +1 -0
  7. data/app/assets/javascripts/agilibox/filters_date.coffee +15 -0
  8. data/app/assets/javascripts/agilibox/form_anchor_referer.coffee +9 -0
  9. data/app/assets/javascripts/agilibox/form_reset.coffee +5 -0
  10. data/app/assets/javascripts/agilibox/modals.coffee +129 -0
  11. data/app/assets/stylesheets/agilibox/all.sass +5 -0
  12. data/app/assets/stylesheets/agilibox/filters.sass +43 -0
  13. data/app/assets/stylesheets/agilibox/flash.sass +6 -0
  14. data/app/assets/stylesheets/agilibox/modals.sass +45 -0
  15. data/app/assets/stylesheets/agilibox/pagination.sass +6 -0
  16. data/app/assets/stylesheets/agilibox/print.sass +74 -0
  17. data/app/controllers/agilibox/application_controller.rb +5 -0
  18. data/app/controllers/agilibox/small_data/filters_controller.rb +36 -0
  19. data/app/controllers/concerns/agilibox/back_url_concern.rb +18 -0
  20. data/app/filters/agilibox/small_data/filter.rb +68 -0
  21. data/app/filters/agilibox/small_data/filter_strategy.rb +5 -0
  22. data/app/filters/agilibox/small_data/filter_strategy_by_date.rb +6 -0
  23. data/app/filters/agilibox/small_data/filter_strategy_by_date_begin.rb +6 -0
  24. data/app/filters/agilibox/small_data/filter_strategy_by_date_end.rb +6 -0
  25. data/app/filters/agilibox/small_data/filter_strategy_by_key_value.rb +16 -0
  26. data/app/filters/agilibox/small_data/filter_strategy_by_tags.rb +11 -0
  27. data/app/filters/agilibox/small_data/filter_strategy_by_time_period.rb +37 -0
  28. data/app/helpers/agilibox/all_helpers.rb +13 -0
  29. data/app/helpers/agilibox/bootstrap_helper.rb +6 -0
  30. data/app/helpers/agilibox/button_helper.rb +160 -0
  31. data/app/helpers/agilibox/filters_helper.rb +68 -0
  32. data/app/helpers/agilibox/form_helper.rb +49 -0
  33. data/app/helpers/agilibox/link_helper.rb +52 -0
  34. data/app/helpers/agilibox/pagination_helper.rb +6 -0
  35. data/app/helpers/agilibox/routes_helper.rb +20 -0
  36. data/app/helpers/agilibox/sorting_helper.rb +50 -0
  37. data/app/helpers/agilibox/text_helper.rb +122 -0
  38. data/app/libs/agilibox/sortable_uuid_generator.rb +11 -0
  39. data/app/models/concerns/agilibox/active_record_uuid_concern.rb +15 -0
  40. data/app/models/concerns/agilibox/default_values_concern.rb +13 -0
  41. data/app/models/concerns/agilibox/model_i18n.rb +25 -0
  42. data/app/models/concerns/agilibox/model_to_s.rb +9 -0
  43. data/app/models/concerns/agilibox/polymorphic_id.rb +34 -0
  44. data/app/models/concerns/agilibox/search.rb +30 -0
  45. data/app/serializers/agilibox/serializers/base.rb +17 -0
  46. data/app/serializers/agilibox/serializers/xlsx.rb +36 -0
  47. data/app/serializers/agilibox/serializers.rb +2 -0
  48. data/app/views/agilibox/search/_form.html.slim +6 -0
  49. data/config/locales/common.en.yml +199 -0
  50. data/config/locales/common.fr.yml +210 -0
  51. data/config/routes.rb +5 -0
  52. data/lib/agilibox/active_record_comma_type_cast.rb +12 -0
  53. data/lib/agilibox/core_and_rails_ext.rb +2 -0
  54. data/lib/agilibox/engine.rb +9 -0
  55. data/lib/agilibox/form_back_url.rb +18 -0
  56. data/lib/agilibox/version.rb +3 -0
  57. data/lib/agilibox.rb +5 -0
  58. data/lib/tasks/agilibox_tasks.rake +4 -0
  59. metadata +115 -0
@@ -0,0 +1,17 @@
1
+ class Agilibox::Serializers::Base
2
+ attr_reader :data, :options
3
+
4
+ def initialize(data, options = {})
5
+ @data = data
6
+ @options = options
7
+ end
8
+
9
+ def render_inline
10
+ raise NotImplementedError
11
+ end
12
+
13
+ def render_file(file_path)
14
+ raise NotImplementedError
15
+ end
16
+
17
+ end
@@ -0,0 +1,36 @@
1
+ require "axlsx"
2
+
3
+ class Agilibox::Serializers::XLSX < Agilibox::Serializers::Base
4
+ def render_inline
5
+ xlsx.to_stream.read.force_encoding("BINARY")
6
+ end
7
+
8
+ def render_file(file_path)
9
+ xlsx.serialize(file_path)
10
+ end
11
+
12
+ def xlsx
13
+ @xlsx ||= Axlsx::Package.new do |p|
14
+ p.workbook.add_worksheet do |sheet|
15
+ data.each do |line|
16
+ values = line.map do |value|
17
+ if value.is_a?(Integer)
18
+ value
19
+ elsif value.is_a?(Numeric)
20
+ value.to_f # Fix BigDecimal
21
+ elsif value == true || value == false
22
+ I18n.t(value.to_s)
23
+ else
24
+ value.to_s
25
+ end
26
+ end
27
+
28
+ sheet.add_row(values)
29
+ end
30
+ end
31
+
32
+ p.use_shared_strings = true
33
+ end
34
+ end
35
+
36
+ end
@@ -0,0 +1,2 @@
1
+ module Agilibox::Serializers
2
+ end
@@ -0,0 +1,6 @@
1
+ form.search method="get" action=action
2
+ p.input-group.search
3
+ input.form-control name="q" placeholder=t("actions.search") size=25 value=params[:q]
4
+ span.input-group-addon
5
+ button.nostyle.search-submit type="submit"
6
+ = icon :search
@@ -0,0 +1,199 @@
1
+ en:
2
+ "yes" : "Yes"
3
+ "no" : "No"
4
+ "true" : "Yes"
5
+ "false" : "No"
6
+
7
+ actions: &actions
8
+ actions : "Actions"
9
+ index : "Index"
10
+ list : "List"
11
+ new : "New"
12
+ create : "Create"
13
+ read : "Read"
14
+ show : "Show"
15
+ details : "Détails"
16
+ edit : "Edit"
17
+ update : "Update"
18
+ delete : "Delete"
19
+ destroy : "Destroy"
20
+ add : "Add"
21
+ filter : "Filter"
22
+ filter_by : "Filter by"
23
+ sort : "Sort"
24
+ sort_by : "Sort by"
25
+ reset : "Reset"
26
+ back : "Back"
27
+ save : "Save"
28
+ open : "Open"
29
+ close : "Close"
30
+ lock : "Lock"
31
+ unlock : "Unlock"
32
+ snooze : "Snooze"
33
+ alert : "Alert"
34
+ complete : "Complete"
35
+ done : "Done"
36
+ download : "Download"
37
+ upload : "Upload"
38
+ preview : "Preview"
39
+ confirm : "Confirm this action ?"
40
+ cancel : "Cancel"
41
+ search : "Search"
42
+ sign_in : "Sign in"
43
+ signin : "Sign in"
44
+ log_in : "Log in"
45
+ login : "Log in"
46
+ sign_out : "Sign out"
47
+ signout : "Sign out"
48
+ log_out : "Log out"
49
+ logout : "Log out"
50
+ sign_up : "Sign up"
51
+ signup : "Sign up"
52
+ browse : "Choose file..."
53
+ cut : "Cut"
54
+ copy : "Copy"
55
+ paste : "Paste"
56
+ duplicate : "Duplicate"
57
+ export : "Export"
58
+ export_csv : "Export CSV"
59
+ export_xls : "Export XLS"
60
+ export_xlsx: "Export XLSX"
61
+ export_pdf : "Export PDF"
62
+ import : "Import"
63
+ import_csv : "Import CSV"
64
+ import_xls : "Import XLS"
65
+ import_xlsx: "Import XLSX"
66
+ import_pdf : "Import PDF"
67
+ send : "Send"
68
+ comment : "Comment"
69
+ add_line : "Add line"
70
+ remove_line: "Remove line"
71
+ pay : "Pay"
72
+ paid : "Payd"
73
+ continue : "Continue"
74
+ rename : "Rename"
75
+ email : "Send by email"
76
+ print : "Print"
77
+ submit : "Submit"
78
+ accept : "Accept"
79
+ refuse : "Refuse"
80
+
81
+ attributes: &attributes
82
+ id : "Id"
83
+ type : "Type"
84
+ code : "Code"
85
+ reference : "Réference"
86
+ created_at : "Created at"
87
+ updated_at : "Updated at"
88
+ name : "Name"
89
+ title : "Title"
90
+ label : "Label"
91
+ first_name : "First name"
92
+ last_name : "Last name"
93
+ email : "E-mail"
94
+ www : "Web site"
95
+ phone : "Phone"
96
+ mobile : "Mobile"
97
+ fax : "Fax"
98
+ password : "Password"
99
+ password_confirmation : "Password (confirm)"
100
+ description : "Description"
101
+ text : "Text"
102
+ date : "Date"
103
+ state : "State"
104
+ status : "Status"
105
+ file : "File"
106
+ address : "Address"
107
+ address1 : "Address"
108
+ address2 : "Address (rest)"
109
+ street : "Address"
110
+ street_bis : "Address (rest)"
111
+ zip : "Zip"
112
+ city : "City"
113
+ country : "Country"
114
+ tags : "Tags"
115
+ tag_list : "Tags"
116
+ budget : "Budget"
117
+ probability : "Probability"
118
+ access : "Access"
119
+ color : "Color"
120
+ data : "Data"
121
+ comment : "Comment"
122
+ written_by : "Written by"
123
+ details : "Datails"
124
+ quantity : "Quantity"
125
+ due_date : "Due date"
126
+ paid : "Paid ?"
127
+ customer : "Customer"
128
+ customer_guid : "Customer"
129
+ tracking : "Tracking ID"
130
+ tracking_id : "Tracking ID"
131
+ unique_index : "Tracking ID"
132
+ count : "Number"
133
+ length : "Number"
134
+ number : "Number"
135
+ message : "Message"
136
+ skype : "Skype"
137
+ facebook : "Facebook"
138
+ twitter : "Twitter"
139
+ linkedin : "Linkedin"
140
+ viadeo : "Viadeo"
141
+ subject : "Subject"
142
+ body : "Message"
143
+ attachment : "Attachment"
144
+ avatar : "Avatar"
145
+ current_avatar : "Current avatar"
146
+ logo : "Logo"
147
+ active : "Active ?"
148
+ user : "User"
149
+ category : "Category"
150
+ corporation_name : "Name"
151
+ author : "Author"
152
+ sender : "Author"
153
+ total : "Total"
154
+ version : "Version"
155
+ commentable : "Origin"
156
+ addressable : "Origin"
157
+ attachable : "Origin"
158
+ email_subject : "Subject"
159
+ email_from : "Sender"
160
+ email_to : "Recipient"
161
+ email_attachment : "Attachment"
162
+ email_body : "Message"
163
+
164
+ errors:
165
+ messages:
166
+ extension_white_list_error : "This file type is not supported"
167
+
168
+ filters:
169
+ all_customers: "All customers"
170
+ all_owners: "All all owners"
171
+ date_begin: "Date begin"
172
+ date_end: "Date end"
173
+
174
+ time_periods:
175
+ all_time: "All time"
176
+ tomorrow: "Tomorrow"
177
+ today: "Today"
178
+ yesterday: "Yesterday"
179
+ this_week: "This week"
180
+ this_month: "This month"
181
+ this_year: "This year"
182
+ last_week: "Last week"
183
+ last_month: "Last month"
184
+ last_year: "Last year"
185
+ delayed: "Delayed"
186
+ next_week: "Next week"
187
+ next_next_week: "In two weeks"
188
+ custom_date: "Custom date"
189
+
190
+ labels:
191
+ <<: *attributes
192
+
193
+ simple_form:
194
+ "yes" : 'Yes'
195
+ "no" : 'No'
196
+
197
+ required:
198
+ text: 'Required'
199
+ mark: '*'
@@ -0,0 +1,210 @@
1
+ fr:
2
+ "yes" : "Oui"
3
+ "no" : "Non"
4
+ "true" : "Oui"
5
+ "false" : "Non"
6
+
7
+ date:
8
+ formats:
9
+ default: "%d/%m/%Y"
10
+
11
+ time:
12
+ formats:
13
+ default: "%d/%m/%Y à %H:%M"
14
+
15
+ actions: &actions
16
+ actions : "Actions"
17
+ index : "Liste"
18
+ list : "Liste"
19
+ new : "Nouveau"
20
+ create : "Créer"
21
+ read : "Afficher"
22
+ show : "Afficher"
23
+ details : "Détails"
24
+ edit : "Modifier"
25
+ update : "Modifier"
26
+ delete : "Supprimer"
27
+ destroy : "Supprimer"
28
+ add : "Ajouter"
29
+ filter : "Filtrer"
30
+ filter_by : "Filtrer par"
31
+ sort : "Trier"
32
+ sort_by : "Trier par"
33
+ reset : "Mettre à zéro"
34
+ back : "Retour"
35
+ save : "Enregistrer"
36
+ open : "Ouvrir"
37
+ close : "Fermer"
38
+ lock : "Fermer"
39
+ unlock : "Ouvrir"
40
+ snooze : "Reporter"
41
+ alert : "Alerter"
42
+ complete : "Marquer terminé"
43
+ done : "Terminer"
44
+ download : "Télécharger"
45
+ upload : "Envoyer"
46
+ preview : "Aperçu"
47
+ confirm : "Confirmer cette action ?"
48
+ cancel : "Annuler"
49
+ search : "Rechercher"
50
+ sign_in : "Se connecter"
51
+ signin : "Se connecter"
52
+ log_in : "Se connecter"
53
+ login : "Se connecter"
54
+ sign_out : "Se déconnecter"
55
+ signout : "Se déconnecter"
56
+ log_out : "Se déconnecter"
57
+ logout : "Se déconnecter"
58
+ sign_up : "S'enregistrer"
59
+ signup : "S'enregistrer"
60
+ browse : "Sélectionner le fichier..."
61
+ cut : "Couper"
62
+ copy : "Copier"
63
+ paste : "Coller"
64
+ duplicate : "Dupliquer"
65
+ export : "Exporter"
66
+ export_csv : "Export CSV"
67
+ export_xls : "Export XLS"
68
+ export_xlsx: "Export XLSX"
69
+ export_pdf : "Export PDF"
70
+ import : "Importer"
71
+ import_csv : "Import CSV"
72
+ import_xls : "Import XLS"
73
+ import_xlsx: "Import XLSX"
74
+ import_pdf : "Import PDF"
75
+ send : "Envoyer"
76
+ comment : "Commenter"
77
+ add_line : "Ajoute une ligne"
78
+ remove_line: "Supprimer la ligne"
79
+ pay : "Payer"
80
+ paid : "Payée"
81
+ continue : "Continuer"
82
+ rename : "Renommer"
83
+ email : "Envoyer par email"
84
+ print : "Imprimer"
85
+ submit : "Soumettre"
86
+ accept : "Accepter"
87
+ refuse : "Refuser"
88
+
89
+ attributes: &attributes
90
+ id : "Id"
91
+ type : "Type"
92
+ code : "Code"
93
+ reference : "Référence"
94
+ created_at : "Créé le"
95
+ updated_at : "Modifié le"
96
+ name : "Nom"
97
+ title : "Titre"
98
+ label : "Libellé"
99
+ first_name : "Prénom"
100
+ last_name : "Nom"
101
+ email : "E-mail"
102
+ www : "Site web"
103
+ phone : "Téléphone"
104
+ mobile : "Mobile"
105
+ fax : "Fax"
106
+ password : "Mot de passe"
107
+ password_confirmation : "Mot de passe (confirmer)"
108
+ description : "Description"
109
+ text : "Description"
110
+ date : "Date"
111
+ state : "État"
112
+ status : "État"
113
+ file : "Fichier"
114
+ address : "Adresse"
115
+ address1 : "Adresse"
116
+ address2 : "Adresse (suite)"
117
+ street : "Adresse"
118
+ street_bis : "Adresse (suite)"
119
+ zip : "Code postal"
120
+ city : "Ville"
121
+ country : "Pays"
122
+ tags : "Tags"
123
+ tag_list : "Tags"
124
+ budget : "Budget"
125
+ probability : "Probabilité"
126
+ access : "Accès"
127
+ color : "Couleur"
128
+ data : "Informations"
129
+ comment : "Commentaire"
130
+ comments : "Commentaires"
131
+ written_by : "écrit par"
132
+ details : "Détails"
133
+ quantity : "Quantité"
134
+ due_date : "Échéance"
135
+ paid : "Payée ?"
136
+ customer : "Client"
137
+ customer_guid : "Client"
138
+ tracking : "Numéro"
139
+ tracking_id : "Numéro"
140
+ unique_index : "Numéro"
141
+ count : "Nombre"
142
+ length : "Nombre"
143
+ number : "Nombre"
144
+ message : "Message"
145
+ skype : "Skype"
146
+ facebook : "Facebook"
147
+ twitter : "Twitter"
148
+ linkedin : "Linkedin"
149
+ viadeo : "Viadeo"
150
+ is_active : "Actif ?"
151
+ short_name : "Initiales"
152
+ subject : "Objet"
153
+ body : "Message"
154
+ attachment : "Pièce jointe"
155
+ avatar : "Avatar"
156
+ current_avatar : "Avatar actuel"
157
+ logo : "Logo"
158
+ active : "Actif ?"
159
+ user : "Utilisateur"
160
+ category : "Catégorie"
161
+ corporation_name : "Nom"
162
+ author : "Auteur"
163
+ sender : "Auteur"
164
+ total : "Total"
165
+ version : "Version"
166
+ commentable : "Origine"
167
+ addressable : "Origine"
168
+ attachable : "Origine"
169
+ email_subject : "Object"
170
+ email_from : "Expéditeur"
171
+ email_to : "Destinataire"
172
+ email_attachment : "Pièce jointe"
173
+ email_body : "Message"
174
+
175
+ errors:
176
+ messages:
177
+ extension_white_list_error : "Ce type de fichier n'est pas prit en charge"
178
+
179
+ filters:
180
+ all_customers: "Tous les clients"
181
+ all_owners: "Tout le monde"
182
+ date_begin: "Date début"
183
+ date_end: "Date fin"
184
+
185
+ time_periods:
186
+ all_time: "Depuis toujours"
187
+ tomorrow: "Demain"
188
+ today: "Aujourd'hui"
189
+ yesterday: "Hier"
190
+ this_week: "Cette semaine"
191
+ this_month: "Ce mois"
192
+ this_year: "Cette année"
193
+ last_week: "La semaine dernière"
194
+ last_month: "Le mois dernier"
195
+ last_year: "L'année dernière"
196
+ delayed: "En retard"
197
+ next_week: "La semaine prochaine"
198
+ next_next_week: "Dans deux semaines"
199
+ custom_date: "Choisir une date"
200
+
201
+ labels:
202
+ <<: *attributes
203
+
204
+ simple_form:
205
+ "yes" : 'Oui'
206
+ "no" : 'Non'
207
+
208
+ required:
209
+ text: 'Requis'
210
+ mark: '*'
data/config/routes.rb ADDED
@@ -0,0 +1,5 @@
1
+ Agilibox::Engine.routes.draw do
2
+ namespace :small_data do
3
+ resources :filters, only: [:create]
4
+ end
5
+ end
@@ -0,0 +1,12 @@
1
+ module Agilibox::ActiveRecordCommaTypeCast
2
+ def cast_value(value)
3
+ if value.is_a?(String)
4
+ super value.gsub(",", ".").gsub(/[^-0-9\.]/, "")
5
+ else
6
+ super value
7
+ end
8
+ end
9
+ end
10
+
11
+ ActiveRecord::Type::Decimal.send(:prepend, Agilibox::ActiveRecordCommaTypeCast)
12
+ ActiveRecord::Type::Float.send(:prepend, Agilibox::ActiveRecordCommaTypeCast)
@@ -0,0 +1,2 @@
1
+ require_relative "active_record_comma_type_cast"
2
+ require_relative "form_back_url"
@@ -0,0 +1,9 @@
1
+ require "rails-i18n"
2
+
3
+ module Agilibox
4
+ class Engine < ::Rails::Engine
5
+ isolate_namespace Agilibox
6
+ end
7
+ end
8
+
9
+ require_relative "core_and_rails_ext"
@@ -0,0 +1,18 @@
1
+ module Agilibox::FormBackUrl
2
+ def back_url_tag
3
+ tag(:input,
4
+ :type => "hidden",
5
+ :name => "back_url",
6
+ :value => (params[:back_url] || request.referer),
7
+ )
8
+ end
9
+
10
+ def form_tag_with_body(html_options, content)
11
+ output = form_tag_html(html_options)
12
+ output.safe_concat(back_url_tag)
13
+ output << content
14
+ output.safe_concat("</form>")
15
+ end
16
+ end
17
+
18
+ ActionView::Helpers::FormTagHelper.send(:prepend, Agilibox::FormBackUrl)
@@ -0,0 +1,3 @@
1
+ module Agilibox
2
+ VERSION = '1.0.0'
3
+ end
data/lib/agilibox.rb ADDED
@@ -0,0 +1,5 @@
1
+ require "agilibox/engine"
2
+
3
+ module Agilibox
4
+ # Your code goes here...
5
+ end
@@ -0,0 +1,4 @@
1
+ # desc "Explaining what the task does"
2
+ # task :agilibox do
3
+ # # Task goes here
4
+ # end
metadata ADDED
@@ -0,0 +1,115 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: agilibox
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - agilidée
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2017-02-28 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails-i18n
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ description: Agilibox
28
+ email:
29
+ - contact@agilidee.com
30
+ executables: []
31
+ extensions: []
32
+ extra_rdoc_files: []
33
+ files:
34
+ - CHANGELOG.md
35
+ - README.md
36
+ - Rakefile
37
+ - app/assets/config/agilibox_manifest.js
38
+ - app/assets/javascripts/agilibox/all.coffee
39
+ - app/assets/javascripts/agilibox/filters_date.coffee
40
+ - app/assets/javascripts/agilibox/form_anchor_referer.coffee
41
+ - app/assets/javascripts/agilibox/form_reset.coffee
42
+ - app/assets/javascripts/agilibox/modals.coffee
43
+ - app/assets/stylesheets/agilibox/all.sass
44
+ - app/assets/stylesheets/agilibox/filters.sass
45
+ - app/assets/stylesheets/agilibox/flash.sass
46
+ - app/assets/stylesheets/agilibox/modals.sass
47
+ - app/assets/stylesheets/agilibox/pagination.sass
48
+ - app/assets/stylesheets/agilibox/print.sass
49
+ - app/controllers/agilibox/application_controller.rb
50
+ - app/controllers/agilibox/small_data/filters_controller.rb
51
+ - app/controllers/concerns/agilibox/back_url_concern.rb
52
+ - app/filters/agilibox/small_data/filter.rb
53
+ - app/filters/agilibox/small_data/filter_strategy.rb
54
+ - app/filters/agilibox/small_data/filter_strategy_by_date.rb
55
+ - app/filters/agilibox/small_data/filter_strategy_by_date_begin.rb
56
+ - app/filters/agilibox/small_data/filter_strategy_by_date_end.rb
57
+ - app/filters/agilibox/small_data/filter_strategy_by_key_value.rb
58
+ - app/filters/agilibox/small_data/filter_strategy_by_tags.rb
59
+ - app/filters/agilibox/small_data/filter_strategy_by_time_period.rb
60
+ - app/helpers/agilibox/all_helpers.rb
61
+ - app/helpers/agilibox/bootstrap_helper.rb
62
+ - app/helpers/agilibox/button_helper.rb
63
+ - app/helpers/agilibox/filters_helper.rb
64
+ - app/helpers/agilibox/form_helper.rb
65
+ - app/helpers/agilibox/link_helper.rb
66
+ - app/helpers/agilibox/pagination_helper.rb
67
+ - app/helpers/agilibox/routes_helper.rb
68
+ - app/helpers/agilibox/sorting_helper.rb
69
+ - app/helpers/agilibox/text_helper.rb
70
+ - app/libs/agilibox/sortable_uuid_generator.rb
71
+ - app/models/concerns/agilibox/active_record_uuid_concern.rb
72
+ - app/models/concerns/agilibox/default_values_concern.rb
73
+ - app/models/concerns/agilibox/model_i18n.rb
74
+ - app/models/concerns/agilibox/model_to_s.rb
75
+ - app/models/concerns/agilibox/polymorphic_id.rb
76
+ - app/models/concerns/agilibox/search.rb
77
+ - app/serializers/agilibox/serializers.rb
78
+ - app/serializers/agilibox/serializers/base.rb
79
+ - app/serializers/agilibox/serializers/xlsx.rb
80
+ - app/views/agilibox/search/_form.html.slim
81
+ - config/locales/common.en.yml
82
+ - config/locales/common.fr.yml
83
+ - config/routes.rb
84
+ - lib/agilibox.rb
85
+ - lib/agilibox/active_record_comma_type_cast.rb
86
+ - lib/agilibox/core_and_rails_ext.rb
87
+ - lib/agilibox/engine.rb
88
+ - lib/agilibox/form_back_url.rb
89
+ - lib/agilibox/version.rb
90
+ - lib/tasks/agilibox_tasks.rake
91
+ homepage: https://github.com/agilidee/agilibox
92
+ licenses:
93
+ - MIT
94
+ metadata: {}
95
+ post_install_message:
96
+ rdoc_options: []
97
+ require_paths:
98
+ - lib
99
+ required_ruby_version: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ required_rubygems_version: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - ">="
107
+ - !ruby/object:Gem::Version
108
+ version: '0'
109
+ requirements: []
110
+ rubyforge_project:
111
+ rubygems_version: 2.5.1
112
+ signing_key:
113
+ specification_version: 4
114
+ summary: Agilibox
115
+ test_files: []