guara 0.0.1.rc

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 (512) hide show
  1. data/.gitignore +23 -0
  2. data/.rspec +2 -0
  3. data/.travis.yml +33 -0
  4. data/Gemfile +82 -0
  5. data/Gemfile.lock +323 -0
  6. data/Guardfile +32 -0
  7. data/MIT-LICENSE +20 -0
  8. data/README.md +8 -0
  9. data/Rakefile +7 -0
  10. data/app/admin/business_activities.rb +3 -0
  11. data/app/admin/business_departments.rb +3 -0
  12. data/app/admin/business_segments.rb +13 -0
  13. data/app/admin/cities.rb +3 -0
  14. data/app/admin/company_businesses.rb +3 -0
  15. data/app/admin/dashboard.rb +39 -0
  16. data/app/admin/districts.rb +3 -0
  17. data/app/admin/states.rb +3 -0
  18. data/app/admin/task_types.rb +3 -0
  19. data/app/admin/user_groups.rb +3 -0
  20. data/app/admin/users.rb +3 -0
  21. data/app/assets/images/close.gif +0 -0
  22. data/app/assets/images/custom/logo.png +0 -0
  23. data/app/assets/images/custom/nav_logo.png +0 -0
  24. data/app/assets/images/custom/nav_logo.psd +0 -0
  25. data/app/assets/images/rails.png +0 -0
  26. data/app/assets/javascripts/active_admin.js +5 -0
  27. data/app/assets/javascripts/application.js +97 -0
  28. data/app/assets/javascripts/business_departments.js.coffee +3 -0
  29. data/app/assets/javascripts/company_businesses.js.coffee +3 -0
  30. data/app/assets/javascripts/crm.js.coffee +14 -0
  31. data/app/assets/javascripts/fcbk.js +556 -0
  32. data/app/assets/javascripts/jquery-ui-timepicker-addon.js +1326 -0
  33. data/app/assets/javascripts/jquery.mask.1.3.js +7 -0
  34. data/app/assets/javascripts/jquery.multiselect.filter.xjs +173 -0
  35. data/app/assets/javascripts/jquery.multiselect.xjs +668 -0
  36. data/app/assets/javascripts/system_task_status.js.coffee +3 -0
  37. data/app/assets/javascripts/tests/ajaxes.js.coffee +3 -0
  38. data/app/assets/stylesheets/abilities.css.scss +6 -0
  39. data/app/assets/stylesheets/active_admin.css.scss +65 -0
  40. data/app/assets/stylesheets/application.css +19 -0
  41. data/app/assets/stylesheets/business_departments.css.scss +3 -0
  42. data/app/assets/stylesheets/company_businesses.css.scss +3 -0
  43. data/app/assets/stylesheets/custom.css.scss +322 -0
  44. data/app/assets/stylesheets/customer.scss +7 -0
  45. data/app/assets/stylesheets/fcbk.css +165 -0
  46. data/app/assets/stylesheets/guara.css.scss +159 -0
  47. data/app/assets/stylesheets/jquery-ui.css +567 -0
  48. data/app/assets/stylesheets/jquery_bootstrap.css.scss +92 -0
  49. data/app/assets/stylesheets/jquery_multiselect_filter.xcss +3 -0
  50. data/app/assets/stylesheets/scaffolds.css.scss +42 -0
  51. data/app/assets/stylesheets/users.css.scss +10 -0
  52. data/app/controllers/abilities_controller.rb +37 -0
  53. data/app/controllers/application_controller.rb +12 -0
  54. data/app/controllers/business_activities_controller.rb +87 -0
  55. data/app/controllers/business_departments_controller.rb +90 -0
  56. data/app/controllers/business_segments_controller.rb +88 -0
  57. data/app/controllers/company_businesses_controller.rb +46 -0
  58. data/app/controllers/contacts_controller.rb +105 -0
  59. data/app/controllers/customers_controller.rb +117 -0
  60. data/app/controllers/microposts_controller.rb +31 -0
  61. data/app/controllers/sessions_controller.rb +32 -0
  62. data/app/controllers/static_pages_controller.rb +23 -0
  63. data/app/controllers/system_task_status_controller.rb +84 -0
  64. data/app/controllers/task_feedbacks_controller.rb +6 -0
  65. data/app/controllers/task_types_controller.rb +85 -0
  66. data/app/controllers/tasks_controller.rb +107 -0
  67. data/app/controllers/tests/ajaxes_controller.rb +115 -0
  68. data/app/controllers/tests/lab_ajax_controller.rb +27 -0
  69. data/app/controllers/users_controller.rb +62 -0
  70. data/app/helpers/ability_helper.rb +15 -0
  71. data/app/helpers/application_helper.rb +32 -0
  72. data/app/helpers/business_activities_helper.rb +2 -0
  73. data/app/helpers/business_departments_helper.rb +2 -0
  74. data/app/helpers/business_segments_helper.rb +2 -0
  75. data/app/helpers/company_businesses_helper.rb +2 -0
  76. data/app/helpers/contacts_helper.rb +2 -0
  77. data/app/helpers/customers_helper.rb +23 -0
  78. data/app/helpers/email_helper.rb +8 -0
  79. data/app/helpers/form_ajax_helper.rb +8 -0
  80. data/app/helpers/guara_views_helper.rb +38 -0
  81. data/app/helpers/locale_helper.rb +24 -0
  82. data/app/helpers/menu_helper.rb +55 -0
  83. data/app/helpers/sessions_helper.rb +56 -0
  84. data/app/helpers/tasks_helper.rb +20 -0
  85. data/app/helpers/tests/ajaxes_helper.rb +2 -0
  86. data/app/helpers/user_abilities_helper.rb +12 -0
  87. data/app/helpers/users_helper.rb +29 -0
  88. data/app/mailers/.gitkeep +0 -0
  89. data/app/models/.gitkeep +0 -0
  90. data/app/models/ability.rb +52 -0
  91. data/app/models/address.rb +7 -0
  92. data/app/models/business_activity.rb +5 -0
  93. data/app/models/business_department.rb +3 -0
  94. data/app/models/business_segment.rb +5 -0
  95. data/app/models/city.rb +7 -0
  96. data/app/models/company_business.rb +6 -0
  97. data/app/models/contact.rb +69 -0
  98. data/app/models/customer.rb +117 -0
  99. data/app/models/customer_activity.rb +9 -0
  100. data/app/models/customer_financial.rb +10 -0
  101. data/app/models/customer_has_customers.rb +7 -0
  102. data/app/models/customer_pf.rb +13 -0
  103. data/app/models/customer_pj.rb +71 -0
  104. data/app/models/customer_pj_has_customers_pj.rb +7 -0
  105. data/app/models/customer_product.rb +3 -0
  106. data/app/models/customer_segment.rb +9 -0
  107. data/app/models/district.rb +6 -0
  108. data/app/models/email.rb +7 -0
  109. data/app/models/micropost.rb +10 -0
  110. data/app/models/relationship.rb +9 -0
  111. data/app/models/search.rb +17 -0
  112. data/app/models/state.rb +3 -0
  113. data/app/models/system_ability.rb +16 -0
  114. data/app/models/system_module.rb +16 -0
  115. data/app/models/system_task_resolution.rb +26 -0
  116. data/app/models/system_task_status.rb +19 -0
  117. data/app/models/task.rb +76 -0
  118. data/app/models/task_feedback.rb +11 -0
  119. data/app/models/task_type.rb +12 -0
  120. data/app/models/tests.rb +5 -0
  121. data/app/models/tests/ajax.rb +3 -0
  122. data/app/models/user.rb +126 -0
  123. data/app/models/user_ability.rb +23 -0
  124. data/app/models/user_group.rb +9 -0
  125. data/app/models/user_type.rb +9 -0
  126. data/app/models/users_has_groups.rb +9 -0
  127. data/app/validators/customer_cnpj_validator.rb +14 -0
  128. data/app/validators/email_validator.rb +21 -0
  129. data/app/views/abilities/index.html.erb +25 -0
  130. data/app/views/active_extend/_one_to_many_inputs.html.erb +7 -0
  131. data/app/views/active_extend/_one_to_many_inputs_fields.html.erb +10 -0
  132. data/app/views/active_extend/_one_to_many_inputs_with_glyph.html.erb +21 -0
  133. data/app/views/business_activities/_business_activity.html.erb +0 -0
  134. data/app/views/business_activities/_form.html.erb +25 -0
  135. data/app/views/business_activities/edit.html.erb +6 -0
  136. data/app/views/business_activities/index.html.erb +33 -0
  137. data/app/views/business_activities/new.html.erb +5 -0
  138. data/app/views/business_activities/show.html.erb +15 -0
  139. data/app/views/business_departments/_form.html.erb +10 -0
  140. data/app/views/business_departments/edit.html.erb +6 -0
  141. data/app/views/business_departments/index.html.erb +33 -0
  142. data/app/views/business_departments/new.html.erb +5 -0
  143. data/app/views/business_departments/show.html.erb +15 -0
  144. data/app/views/business_segments/_business_segment.html.erb +8 -0
  145. data/app/views/business_segments/_form.html.erb +25 -0
  146. data/app/views/business_segments/edit.html.erb +6 -0
  147. data/app/views/business_segments/index.html.erb +33 -0
  148. data/app/views/business_segments/new.html.erb +5 -0
  149. data/app/views/business_segments/show.html.erb +15 -0
  150. data/app/views/company_businesses/_form.html.erb +10 -0
  151. data/app/views/company_businesses/edit.html.erb +6 -0
  152. data/app/views/company_businesses/index.html.erb +25 -0
  153. data/app/views/company_businesses/new.html.erb +5 -0
  154. data/app/views/company_businesses/show.html.erb +15 -0
  155. data/app/views/contacts/_form.html.erb +53 -0
  156. data/app/views/contacts/_header.html.erb +3 -0
  157. data/app/views/contacts/_list.html.erb +46 -0
  158. data/app/views/contacts/_side_panel.html.erb +61 -0
  159. data/app/views/contacts/edit.html.erb +6 -0
  160. data/app/views/contacts/index.html.erb +72 -0
  161. data/app/views/contacts/new.html.erb +5 -0
  162. data/app/views/contacts/show.html.erb +52 -0
  163. data/app/views/customers/_businesses_done.html.erb +18 -0
  164. data/app/views/customers/_customer_segment.html.erb +9 -0
  165. data/app/views/customers/_form.html.erb +177 -0
  166. data/app/views/customers/_form_search.html.erb +119 -0
  167. data/app/views/customers/_modules.html.erb +6 -0
  168. data/app/views/customers/_navbar.html.erb +23 -0
  169. data/app/views/customers/_segment.html.erb +10 -0
  170. data/app/views/customers/edit.html.erb +8 -0
  171. data/app/views/customers/index.html.erb +46 -0
  172. data/app/views/customers/new.pj.html.erb +4 -0
  173. data/app/views/customers/show.pj.html.erb +200 -0
  174. data/app/views/devise/confirmations/new.html.erb +12 -0
  175. data/app/views/devise/mailer/confirmation_instructions.html.erb +5 -0
  176. data/app/views/devise/mailer/reset_password_instructions.html.erb +8 -0
  177. data/app/views/devise/mailer/unlock_instructions.html.erb +7 -0
  178. data/app/views/devise/passwords/edit.html.erb +16 -0
  179. data/app/views/devise/passwords/new.html.erb +12 -0
  180. data/app/views/devise/registrations/edit.html.erb +25 -0
  181. data/app/views/devise/registrations/new.html.erb +18 -0
  182. data/app/views/devise/sessions/new.html.erb +24 -0
  183. data/app/views/devise/shared/_links.erb +25 -0
  184. data/app/views/devise/unlocks/new.html.erb +12 -0
  185. data/app/views/emails/_email_fields.html.erb +1 -0
  186. data/app/views/layouts/_active_admin_footer.html.erb +4 -0
  187. data/app/views/layouts/_active_admin_header.html.erb +5 -0
  188. data/app/views/layouts/_footer.html.erb +12 -0
  189. data/app/views/layouts/_header.html.erb +51 -0
  190. data/app/views/layouts/_shim.html.erb +3 -0
  191. data/app/views/layouts/active_admin.html.arb +1 -0
  192. data/app/views/layouts/application.html.erb +24 -0
  193. data/app/views/microposts/_micropost.html.erb +11 -0
  194. data/app/views/sessions/new.html.erb +18 -0
  195. data/app/views/shared/_calendar.html.erb +17 -0
  196. data/app/views/shared/_error_messages.html.erb +13 -0
  197. data/app/views/shared/_feed.html.erb +10 -0
  198. data/app/views/shared/_feed_item.html.erb +15 -0
  199. data/app/views/shared/_micropost_form.html.erb +7 -0
  200. data/app/views/shared/_multi_selection.html.erb +16 -0
  201. data/app/views/shared/_multi_selection.html_checkbox.erb +11 -0
  202. data/app/views/shared/_multi_selection_autocomple.html.erb +5 -0
  203. data/app/views/shared/_notifies.html.erb +17 -0
  204. data/app/views/shared/_user_info.html.erb +14 -0
  205. data/app/views/static_pages/about.html.erb +5 -0
  206. data/app/views/static_pages/contact.html.erb +5 -0
  207. data/app/views/static_pages/help.html.erb +5 -0
  208. data/app/views/static_pages/home.html.erb +37 -0
  209. data/app/views/static_pages/news.html.erb +2 -0
  210. data/app/views/system_task_status/_form.html.erb +9 -0
  211. data/app/views/system_task_status/edit.html.erb +6 -0
  212. data/app/views/system_task_status/index.html.erb +23 -0
  213. data/app/views/system_task_status/new.html.erb +5 -0
  214. data/app/views/system_task_status/show.html.erb +10 -0
  215. data/app/views/task_feedbacks/_list.html.erb +51 -0
  216. data/app/views/task_feedbacks/_side_form.html.erb +56 -0
  217. data/app/views/task_feedbacks/_side_panel.html.erb +64 -0
  218. data/app/views/task_types/_form.html.erb +10 -0
  219. data/app/views/task_types/edit.html.erb +6 -0
  220. data/app/views/task_types/index.html.erb +23 -0
  221. data/app/views/task_types/new.html.erb +5 -0
  222. data/app/views/task_types/show.html.erb +10 -0
  223. data/app/views/tasks/_form.html.erb +52 -0
  224. data/app/views/tasks/_header.html.erb +3 -0
  225. data/app/views/tasks/_list.html.erb +50 -0
  226. data/app/views/tasks/_side_panel.html.erb +64 -0
  227. data/app/views/tasks/create.js.erb +1 -0
  228. data/app/views/tasks/edit.html.erb +6 -0
  229. data/app/views/tasks/index.html.erb +61 -0
  230. data/app/views/tasks/new.html.erb +5 -0
  231. data/app/views/tasks/show.html.erb +46 -0
  232. data/app/views/tests/ajaxes/_form.html.erb +10 -0
  233. data/app/views/tests/ajaxes/_list.html.erb +6 -0
  234. data/app/views/tests/ajaxes/add_and_update.html.erb +22 -0
  235. data/app/views/tests/ajaxes/all.js.erb +2 -0
  236. data/app/views/tests/ajaxes/edit.html.erb +6 -0
  237. data/app/views/tests/ajaxes/index.html.erb +25 -0
  238. data/app/views/tests/ajaxes/new.html.erb +5 -0
  239. data/app/views/tests/ajaxes/show.html.erb +15 -0
  240. data/app/views/tests/js.js +51 -0
  241. data/app/views/tests/lab_ajax/multiselection.html.erb +84 -0
  242. data/app/views/users/_user.html.erb +8 -0
  243. data/app/views/users/edit.html.erb +27 -0
  244. data/app/views/users/index.html.erb +9 -0
  245. data/app/views/users/new.html.erb +24 -0
  246. data/app/views/users/show.html.erb +26 -0
  247. data/bundle +0 -0
  248. data/config.ru +4 -0
  249. data/config/application.rb +73 -0
  250. data/config/boot.rb +6 -0
  251. data/config/database.yml +38 -0
  252. data/config/environment.rb +31 -0
  253. data/config/environments/development.rb +42 -0
  254. data/config/environments/production.rb +68 -0
  255. data/config/environments/test.rb +39 -0
  256. data/config/guara/menus.rb +34 -0
  257. data/config/initializers/active_admin.rb +210 -0
  258. data/config/initializers/backtrace_silencers.rb +7 -0
  259. data/config/initializers/cmgb_rules.rb +2 -0
  260. data/config/initializers/devise.rb +216 -0
  261. data/config/initializers/formtastic.rb +77 -0
  262. data/config/initializers/inflections.rb +19 -0
  263. data/config/initializers/json_paches_utf8.rb +13 -0
  264. data/config/initializers/kaminari.rb +21 -0
  265. data/config/initializers/locale.rb +7 -0
  266. data/config/initializers/meta_search.rb +10 -0
  267. data/config/initializers/mime_types.rb +5 -0
  268. data/config/initializers/secret_token.rb +7 -0
  269. data/config/initializers/session_store.rb +8 -0
  270. data/config/initializers/string.rb +9 -0
  271. data/config/initializers/wrap_parameters.rb +14 -0
  272. data/config/locales/devise.en.yml +57 -0
  273. data/config/locales/devise.pt-BR.yml +62 -0
  274. data/config/locales/pt-BR.yml +404 -0
  275. data/config/routes.rb +129 -0
  276. data/db/migrate/20120610142404_create_users.rb +10 -0
  277. data/db/migrate/20120610183820_add_index_to_users_email.rb +5 -0
  278. data/db/migrate/20120610185217_add_password_digest_to_users.rb +5 -0
  279. data/db/migrate/20120612000411_add_remember_token_to_users.rb +6 -0
  280. data/db/migrate/20120616162515_add_admin_to_users.rb +5 -0
  281. data/db/migrate/20120616215835_create_microposts.rb +11 -0
  282. data/db/migrate/20120617224530_create_relationships.rb +14 -0
  283. data/db/migrate/20120621095918_create_customers.rb +36 -0
  284. data/db/migrate/20120621100528_create_customer_pfs.rb +14 -0
  285. data/db/migrate/20120621100534_create_customer_pjs.rb +13 -0
  286. data/db/migrate/20120621100557_create_emails.rb +13 -0
  287. data/db/migrate/20120621100618_create_tasks.rb +26 -0
  288. data/db/migrate/20120621100639_create_customer_products.rb +14 -0
  289. data/db/migrate/20120621100705_create_districts.rb +11 -0
  290. data/db/migrate/20120621100720_create_cities.rb +11 -0
  291. data/db/migrate/20120624192444_create_business_segments.rb +10 -0
  292. data/db/migrate/20120624224245_create_business_activities.rb +13 -0
  293. data/db/migrate/20120628092744_create_customer_activities.rb +9 -0
  294. data/db/migrate/20120628092754_create_customer_segments.rb +9 -0
  295. data/db/migrate/20120703102859_create_states.rb +10 -0
  296. data/db/migrate/20120705121011_create_contacts.rb +18 -0
  297. data/db/migrate/20120711233943_add_devise_to_users.rb +56 -0
  298. data/db/migrate/20120723102847_create_user_abilities.rb +10 -0
  299. data/db/migrate/20120723104500_create_system_modules.rb +9 -0
  300. data/db/migrate/20120723104639_create_system_abilities.rb +9 -0
  301. data/db/migrate/20120728181903_create_user_groups.rb +10 -0
  302. data/db/migrate/20120729112600_create_users_has_groups.rb +14 -0
  303. data/db/migrate/20120729121922_add_groups_to_users.rb +6 -0
  304. data/db/migrate/20120910002835_create_system_task_status.rb +7 -0
  305. data/db/migrate/20120910010153_create_system_task_resolutions.rb +7 -0
  306. data/db/migrate/20120911021535_create_task_types.rb +10 -0
  307. data/db/migrate/20120911070836_create_task_feedbacks.rb +14 -0
  308. data/db/migrate/20120924022719_create_tests_ajaxes.rb +10 -0
  309. data/db/migrate/20121007131035_create_business_departments.rb +10 -0
  310. data/db/migrate/20121013120849_add_notes_and_other_contacts_to_customer.rb +5 -0
  311. data/db/migrate/20121014201255_create_company_businesses.rb +10 -0
  312. data/db/migrate/20121014202449_add_company_business_to_task_type.rb +6 -0
  313. data/db/migrate/20121014212430_add_primary_company_business_to_user.rb +5 -0
  314. data/db/migrate/20121015101844_add_parent_id_to_system_task_resolution.rb +5 -0
  315. data/db/migrate/20121026231241_create_customer_has_customers.rb +10 -0
  316. data/db/migrate/20121026232755_create_customer_pj_has_customers_pjs.rb +10 -0
  317. data/db/migrate/20121029094047_create_admin_notes.rb +17 -0
  318. data/db/migrate/20121029094048_move_admin_notes_to_comments.rb +25 -0
  319. data/db/migrate/20121103183646_add_enabled_to_cities.rb +5 -0
  320. data/db/migrate/20121104135014_create_customer_financials.rb +17 -0
  321. data/db/migrate/20121104141751_create_addresses.rb +19 -0
  322. data/db/migrate/20121205150619_add_type_id_to_users.rb +5 -0
  323. data/db/schema.rb~ +378 -0
  324. data/db/seeds.rb +99 -0
  325. data/gemfiles/Gemfile.rails.3.2.x +82 -0
  326. data/guara.gemspec +31 -0
  327. data/lib/active_extend/README.md +19 -0
  328. data/lib/active_extend/active_disablable.rb +59 -0
  329. data/lib/active_extend/string_helper.rb +9 -0
  330. data/lib/active_migration.rb +4 -0
  331. data/lib/active_migration/converters/rtf_to_html.rb +123 -0
  332. data/lib/active_migration/dictionary.rb +19 -0
  333. data/lib/active_migration/migration.rb +211 -0
  334. data/lib/active_migration/schemas.rb +143 -0
  335. data/lib/active_migration/spelling_fix.rb +20 -0
  336. data/lib/active_migration/transformer/grouped_field_fixed_spelling.rb +110 -0
  337. data/lib/assets/.gitkeep +0 -0
  338. data/lib/cmgb_rules/app/models/task.rb +19 -0
  339. data/lib/guara/version.rb +3 -0
  340. data/lib/spec/asserts/sheet1.xls +0 -0
  341. data/lib/spec/lib/active_migration_schemas_spec.rb +40 -0
  342. data/lib/spec/lib/active_migration_spec.rb +78 -0
  343. data/lib/spec/spec_helper.rb +121 -0
  344. data/lib/spec/support/active_migration_helper.rb +109 -0
  345. data/lib/spec/support/utilities.rb +7 -0
  346. data/lib/tasks/.gitkeep +0 -0
  347. data/lib/tasks/add_privilegies.rake +6 -0
  348. data/lib/tasks/external_migration.rake +22 -0
  349. data/lib/tasks/sample_data.rake +77 -0
  350. data/lib/tasks/smaple_data_test.rake +13 -0
  351. data/lib/templates/erb/scaffold/_form.html.erb +11 -0
  352. data/public/404.html +26 -0
  353. data/public/422.html +26 -0
  354. data/public/500.html +25 -0
  355. data/public/data.txt +1 -0
  356. data/public/favicon.ico +0 -0
  357. data/public/javascripts/autocomplete-rails.js +16 -0
  358. data/public/robots.txt +5 -0
  359. data/script/create_db +5 -0
  360. data/script/rails +6 -0
  361. data/script/recreate_db +5 -0
  362. data/script/recreate_db.bat +9 -0
  363. data/script/recreate_db_test +5 -0
  364. data/script/recreate_development_db +10 -0
  365. data/spec/controllers/business_activities_controller_spec.disabled +167 -0
  366. data/spec/controllers/business_departments_controller_spec.disabled +164 -0
  367. data/spec/controllers/business_segments_controller_spec.disabled +165 -0
  368. data/spec/controllers/company_businesses_controller_spec.disabled +164 -0
  369. data/spec/controllers/system_task_status_controller_spec.disabled +164 -0
  370. data/spec/controllers/system_task_status_spec.disabled +11 -0
  371. data/spec/controllers/task_types_controller_spec.disabled +164 -0
  372. data/spec/controllers/tasks_controller_spec.disabled +23 -0
  373. data/spec/controllers/tests/ajaxes_controller_spec.disabled +164 -0
  374. data/spec/factories.rb +101 -0
  375. data/spec/factories/addresses.rb +13 -0
  376. data/spec/factories/business_departments.rb +8 -0
  377. data/spec/factories/company_businesses.rb +8 -0
  378. data/spec/factories/customer_financials.rb +11 -0
  379. data/spec/factories/customer_has_customers.rb +8 -0
  380. data/spec/factories/customer_pj_has_customers_pjs.rb +8 -0
  381. data/spec/factories/system_task_resolutions.rb +7 -0
  382. data/spec/factories/system_task_status.rb +7 -0
  383. data/spec/factories/task.rb +17 -0
  384. data/spec/factories/task_feedbacks.rb +19 -0
  385. data/spec/factories/task_types.rb +8 -0
  386. data/spec/factories/tests_ajaxes.rb +8 -0
  387. data/spec/helpers/business_activities_helper_spec.rb +15 -0
  388. data/spec/helpers/business_departments_helper_spec.rb +15 -0
  389. data/spec/helpers/business_segments_helper_spec.rb +15 -0
  390. data/spec/helpers/company_businesses_helper_spec.rb +15 -0
  391. data/spec/helpers/customers/contacts_helper_spec.rb +15 -0
  392. data/spec/helpers/menu_helper_spec.rb +25 -0
  393. data/spec/helpers/tests/ajaxes_helper_spec.rb +15 -0
  394. data/spec/helpers/users_helpers_spec.rb +32 -0
  395. data/spec/models/address_spec.rb +5 -0
  396. data/spec/models/business_activity_spec.rb +5 -0
  397. data/spec/models/business_department_spec.rb +5 -0
  398. data/spec/models/business_segment_spec.rb +5 -0
  399. data/spec/models/city_spec.rb +5 -0
  400. data/spec/models/company_business_spec.rb +19 -0
  401. data/spec/models/contact_spec.rb +60 -0
  402. data/spec/models/customer_activity_spec.rb +5 -0
  403. data/spec/models/customer_financial_spec.rb +48 -0
  404. data/spec/models/customer_has_customers_spec.rb +18 -0
  405. data/spec/models/customer_pf_spec.rb +24 -0
  406. data/spec/models/customer_pj_has_customers_pj_spec.rb +34 -0
  407. data/spec/models/customer_pj_spec.rb +72 -0
  408. data/spec/models/customer_product_spec.rb +5 -0
  409. data/spec/models/customer_segment_spec.rb +5 -0
  410. data/spec/models/customer_spec.rb +135 -0
  411. data/spec/models/district_spec.rb +5 -0
  412. data/spec/models/emails_spec.rb +24 -0
  413. data/spec/models/micropost_spec.rb +49 -0
  414. data/spec/models/relationship_spec.rb +38 -0
  415. data/spec/models/state_spec.rb +5 -0
  416. data/spec/models/system_ability_spec.rb +5 -0
  417. data/spec/models/system_module_spec.rb +5 -0
  418. data/spec/models/system_task_resolution_spec.rb +17 -0
  419. data/spec/models/system_task_status_spec.rb +17 -0
  420. data/spec/models/task_feedback_spec.rb +46 -0
  421. data/spec/models/task_spec.rb +176 -0
  422. data/spec/models/task_type_spec.rb +27 -0
  423. data/spec/models/tests/ajax_spec.rb +5 -0
  424. data/spec/models/user_ability_spec.rb +35 -0
  425. data/spec/models/user_group_spec.rb +26 -0
  426. data/spec/models/user_spec.rb +274 -0
  427. data/spec/models/users_has_groups_spec.rb +29 -0
  428. data/spec/requests/authentication_pages_spec.rb +157 -0
  429. data/spec/requests/business_activities_spec.rb +7 -0
  430. data/spec/requests/business_departments_spec.rb +7 -0
  431. data/spec/requests/business_segments_spec.rb +7 -0
  432. data/spec/requests/company_businesses_spec.rb +11 -0
  433. data/spec/requests/customer_contacts_pages_spec.rb +96 -0
  434. data/spec/requests/customer_pages_spec.rb +60 -0
  435. data/spec/requests/micropost_pages_spec.rb +58 -0
  436. data/spec/requests/static_pages_spec.rb +57 -0
  437. data/spec/requests/task_pages_spec.rb +124 -0
  438. data/spec/requests/tests/tests_ajaxes_spec.rb +11 -0
  439. data/spec/requests/user_abilities_pages_spec.rb +73 -0
  440. data/spec/requests/user_pages_spec.rb +116 -0
  441. data/spec/routing/business_activities_routing_spec.rb +35 -0
  442. data/spec/routing/business_departments_routing_spec.rb +35 -0
  443. data/spec/routing/business_segments_routing_spec.rb +35 -0
  444. data/spec/routing/company_businesses_routing_spec.rb +35 -0
  445. data/spec/routing/system_task_status_routing_spec.rb +35 -0
  446. data/spec/routing/task_types_routing_spec.rb +35 -0
  447. data/spec/routing/tests/ajaxes_routing_spec.rb +35 -0
  448. data/spec/spec_helper.rb +123 -0
  449. data/spec/support/custom_matchers.rb +9 -0
  450. data/spec/support/utilities.rb +120 -0
  451. data/spec/views/business_departments/edit.html.erb_spec.rb +20 -0
  452. data/spec/views/business_departments/index.html.erb_spec.disabled +23 -0
  453. data/spec/views/business_departments/new.html.erb_spec.rb +20 -0
  454. data/spec/views/business_departments/show.html.erb_spec.rb +17 -0
  455. data/spec/views/company_businesses/edit.html.erb_spec.rb +20 -0
  456. data/spec/views/company_businesses/index.html.erb_spec.rb +23 -0
  457. data/spec/views/company_businesses/new.html.erb_spec.rb +20 -0
  458. data/spec/views/company_businesses/show.html.erb_spec.rb +17 -0
  459. data/spec/views/task_types/edit.html.erb_spec.rb +18 -0
  460. data/spec/views/task_types/index.html.erb_spec.rb +20 -0
  461. data/spec/views/task_types/new.html.erb_spec.rb +18 -0
  462. data/spec/views/task_types/show.html.erb_spec.rb +15 -0
  463. data/test/fixtures/.gitkeep +0 -0
  464. data/test/functional/.gitkeep +0 -0
  465. data/test/integration/.gitkeep +0 -0
  466. data/test/performance/browsing_test.rb +12 -0
  467. data/test/test_helper.rb +13 -0
  468. data/test/unit/.gitkeep +0 -0
  469. data/vendor/assets/javascripts/.gitkeep +0 -0
  470. data/vendor/assets/stylesheets/.gitkeep +0 -0
  471. data/vendor/assets/stylesheets/active_admin/_base.css.scss +45 -0
  472. data/vendor/assets/stylesheets/active_admin/_forms.css.scss +270 -0
  473. data/vendor/assets/stylesheets/active_admin/_header.css.scss +137 -0
  474. data/vendor/assets/stylesheets/active_admin/_mixins.css.scss +1 -0
  475. data/vendor/assets/stylesheets/active_admin/_typography.css.scss +100 -0
  476. data/vendor/assets/stylesheets/active_admin/components/_batch_actions.css.scss +11 -0
  477. data/vendor/assets/stylesheets/active_admin/components/_blank_slates.scss +31 -0
  478. data/vendor/assets/stylesheets/active_admin/components/_breadcrumbs.scss +20 -0
  479. data/vendor/assets/stylesheets/active_admin/components/_buttons.scss +11 -0
  480. data/vendor/assets/stylesheets/active_admin/components/_columns.scss +3 -0
  481. data/vendor/assets/stylesheets/active_admin/components/_comments.css.scss +40 -0
  482. data/vendor/assets/stylesheets/active_admin/components/_date_picker.css.scss +123 -0
  483. data/vendor/assets/stylesheets/active_admin/components/_dropdown_menu.scss +151 -0
  484. data/vendor/assets/stylesheets/active_admin/components/_flash_messages.css.scss +39 -0
  485. data/vendor/assets/stylesheets/active_admin/components/_grid.scss +9 -0
  486. data/vendor/assets/stylesheets/active_admin/components/_links.scss +5 -0
  487. data/vendor/assets/stylesheets/active_admin/components/_pagination.scss +34 -0
  488. data/vendor/assets/stylesheets/active_admin/components/_panels.scss +6 -0
  489. data/vendor/assets/stylesheets/active_admin/components/_popovers.css.scss +123 -0
  490. data/vendor/assets/stylesheets/active_admin/components/_scopes.scss +10 -0
  491. data/vendor/assets/stylesheets/active_admin/components/_status_tags.scss +12 -0
  492. data/vendor/assets/stylesheets/active_admin/components/_table_tools.css.scss +94 -0
  493. data/vendor/assets/stylesheets/active_admin/components/_tables.css.scss +108 -0
  494. data/vendor/assets/stylesheets/active_admin/mixins/_all.css.scss +11 -0
  495. data/vendor/assets/stylesheets/active_admin/mixins/_buttons.css.scss +66 -0
  496. data/vendor/assets/stylesheets/active_admin/mixins/_gradients.css.scss +37 -0
  497. data/vendor/assets/stylesheets/active_admin/mixins/_icons.css.scss +24 -0
  498. data/vendor/assets/stylesheets/active_admin/mixins/_reset.css.scss +165 -0
  499. data/vendor/assets/stylesheets/active_admin/mixins/_rounded.css.scss +43 -0
  500. data/vendor/assets/stylesheets/active_admin/mixins/_sections.css.scss +36 -0
  501. data/vendor/assets/stylesheets/active_admin/mixins/_shadows.css.scss +22 -0
  502. data/vendor/assets/stylesheets/active_admin/mixins/_typography.scss +3 -0
  503. data/vendor/assets/stylesheets/active_admin/mixins/_utilities.scss +26 -0
  504. data/vendor/assets/stylesheets/active_admin/mixins/_variables.css.scss +24 -0
  505. data/vendor/assets/stylesheets/active_admin/pages/_dashboard.scss +5 -0
  506. data/vendor/assets/stylesheets/active_admin/pages/_logged_out.scss +44 -0
  507. data/vendor/assets/stylesheets/active_admin/print.css.scss +290 -0
  508. data/vendor/assets/stylesheets/active_admin/structure/_footer.scss +14 -0
  509. data/vendor/assets/stylesheets/active_admin/structure/_main_structure.scss +26 -0
  510. data/vendor/assets/stylesheets/active_admin/structure/_title_bar.scss +44 -0
  511. data/vendor/plugins/.gitkeep +0 -0
  512. metadata +731 -0
File without changes
@@ -0,0 +1,19 @@
1
+ require Rails.root.join("app/models/task.rb")
2
+
3
+ class Task
4
+ after_save :cgmb_make_trivial_customer_a_business_customer
5
+
6
+ def self.rules
7
+ { :CMGB => { :"Task::AfterSave" => "make_trivial_a_business_customer" } }
8
+ end
9
+
10
+ def cgmb_make_trivial_customer_a_business_customer
11
+ if ((interested.is_a? Customer) &&
12
+ (not resolution.nil?) &&
13
+ (resolution.id == SystemTaskResolution.RESOLVED_WITH_BUSINESS.id))
14
+ interested.is_customer = true
15
+ interested.save!
16
+ end
17
+ end
18
+
19
+ end
@@ -0,0 +1,3 @@
1
+ module Guara
2
+ VERSION = "0.0.1.rc".freeze
3
+ end
Binary file
@@ -0,0 +1,40 @@
1
+ require File.expand_path("../../spec_helper", __FILE__)
2
+ require File.expand_path("../../../active_migration", __FILE__)
3
+ require File.expand_path("../../../schemas", __FILE__)
4
+ require File.expand_path('../../support/active_migration_helper', __FILE__)
5
+
6
+
7
+ describe ActiveMigration::Schemas::SchemasMigration do
8
+
9
+ before :all do
10
+ build_migration_schemas_config()
11
+ end
12
+
13
+ before do
14
+ @active_migration_schemas = ActiveMigration::Schemas::SchemasMigration.new("tmp/schemas.yml")
15
+ end
16
+
17
+ subject { @active_migration_schemas }
18
+
19
+ it { should respond_to(:migrate!) }
20
+
21
+ it { @active_migration_schemas.schemas.should include "test" }
22
+
23
+ it { @active_migration_schemas.schemas["test"].should include :from }
24
+ it { @active_migration_schemas.schemas["test"].should include :to }
25
+
26
+ describe "migrate file schemas" do
27
+ before do
28
+
29
+ build_schemas_tmp_classes()
30
+
31
+ @result = @active_migration_schemas.migrate!
32
+ puts District.all.to_yaml
33
+ end
34
+
35
+ it { @result.should be_true }
36
+ it { }
37
+ end
38
+
39
+
40
+ end
@@ -0,0 +1,78 @@
1
+
2
+ require File.expand_path("../../spec_helper", __FILE__)
3
+ require File.expand_path("../../../active_migration", __FILE__)
4
+ require File.expand_path('../../support/active_migration_helper', __FILE__)
5
+
6
+
7
+ describe ActiveMigration::Migration do
8
+
9
+ before :all do
10
+ build_migration_config()
11
+ end
12
+
13
+ before do
14
+ @active_migration = ActiveMigration::Migration.new "tmp/migration_schema.yml"
15
+ end
16
+
17
+ subject { @active_migration }
18
+
19
+ it { should respond_to(:migrate!) }
20
+
21
+ it { should respond_to(:schema_from=) }
22
+ it { should respond_to(:schema_to=) }
23
+ it { should respond_to(:load_schema_from) }
24
+ it { should respond_to(:load_schema_to) }
25
+
26
+
27
+ it { @active_migration.schema_from[:columns].should include(:name => "string") }
28
+ it { @active_migration.schema_to[:columns].should include(:name => "string") }
29
+
30
+
31
+ describe "converting file schema to object schema" do
32
+ describe "schema from" do
33
+ before do
34
+ @active_migration.load_schema_from "tmp/from.yml"
35
+ end
36
+
37
+ it { @active_migration.schema_from.should include(:columns) }
38
+ it { @active_migration.schema_from[:columns].should include(:name => "string") }
39
+ it { @active_migration.schema_from[:format].should == :XLS }
40
+ end
41
+
42
+ describe "schema from" do
43
+ before do
44
+ @active_migration.load_schema_to "tmp/to.yml"
45
+ end
46
+
47
+ it { @active_migration.schema_to.should include(:columns) }
48
+ it { @active_migration.schema_to[:columns].should include(:name => "string") }
49
+ it { @active_migration.schema_to[:format].should == :ACTIVE_RECORD }
50
+ end
51
+
52
+ end
53
+
54
+ describe "load XLS to ACTIVE_RECORD" do
55
+
56
+ describe "load source migration" do
57
+ before do
58
+ @active_migration.should_receive(:send_row_to_schema).exactly(30).and_return(true)
59
+ @result = @active_migration.migrate!
60
+ end
61
+
62
+ it { @result.should be_true }
63
+ end
64
+
65
+ describe "load source migration" do
66
+ before do
67
+ @active_migration.should_receive(:send_row_to_schema).exactly(1).and_return(false)
68
+
69
+ end
70
+
71
+ it { expect { @result = @active_migration.migrate! }.to raise_error("failing migration. Line: 0, Column: 1") }
72
+ end
73
+
74
+
75
+
76
+ end
77
+
78
+ end
@@ -0,0 +1,121 @@
1
+ require 'rubygems'
2
+ require 'spork'
3
+ require "capybara/rspec"
4
+
5
+
6
+ # This file is copied to spec/ when you run 'rails generate rspec:install'
7
+ ENV["RAILS_ENV"] ||= 'test'
8
+ require Rails.root.join("config/environment")
9
+ require 'rspec/rails'
10
+ require 'rspec/autorun'
11
+ require Rails.root.join("lib/spec/support/utilities")
12
+
13
+
14
+ Capybara.javascript_driver = :webkit
15
+ #Capybara.default_driver = :webkit
16
+
17
+ # Requires supporting ruby files with custom matchers and macros, etc,
18
+ # in spec/support/ and its subdirectories.
19
+ Dir[Rails.root.join("lib/spec/support/*.rb")].each {|f| puts f.to_s; require f}
20
+
21
+ def config_transactional(config)
22
+
23
+ except_tables = %w[SystemAbility SystemModule SystemTaskStatus SystemTaskResolution State City BusinessSegment BusinessActivity].collect { |e| pluralize_without_count(2, e.underscore) }
24
+
25
+ config.before :each do
26
+ if Capybara.current_driver == :rack_test
27
+ DatabaseCleaner.strategy = :transaction, {:except => except_tables}
28
+ else
29
+ DatabaseCleaner.strategy = :truncation, {:except => except_tables}
30
+ end
31
+ DatabaseCleaner.start
32
+ end
33
+
34
+ config.after :each do
35
+ DatabaseCleaner.clean
36
+ end
37
+ end
38
+
39
+ RSpec.configure do |config|
40
+ #no load that, its a realy bad ideia
41
+ #load "#{Rails.root}/db/seeds.rb"
42
+ I18n.locale = :"pt-BR"
43
+
44
+ config.include Devise::TestHelpers, :type => :controller
45
+
46
+ # ## Mock Framework
47
+ #
48
+ # If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
49
+ #
50
+ # config.mock_with :mocha
51
+ # config.mock_with :flexmock
52
+ # config.mock_with :rr
53
+
54
+ # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
55
+ config.fixture_path = "#{::Rails.root}/spec/fixtures"
56
+
57
+ # If you're not using ActiveRecord, or you'd prefer not to run each of your
58
+ # examples within a transaction, remove the following line or assign false
59
+ # instead of true.
60
+ #config.use_transactional_fixtures = true
61
+
62
+ config_transactional config
63
+
64
+ # If true, the base class of anonymous controllers will be inferred
65
+ # automatically. This will be the default behavior in future versions of
66
+ # rspec-rails.
67
+ config.infer_base_class_for_anonymous_controllers = false
68
+
69
+ config.before(:each) do
70
+ full_example_description = "Starting #{self.class.description} #{@method_name}"
71
+ Rails.logger.info("\n\n#{full_example_description}\n#{'-' * (full_example_description.length)}")
72
+ end
73
+ end
74
+
75
+
76
+
77
+ # --- Instructions ---
78
+ # Sort the contents of this file into a Spork.prefork and a Spork.each_run
79
+ # block.
80
+ #
81
+ # The Spork.prefork block is run only once when the spork server is started.
82
+ # You typically want to place most of your (slow) initializer code in here, in
83
+ # particular, require'ing any 3rd-party gems that you don't normally modify
84
+ # during development.
85
+ #
86
+ # The Spork.each_run block is run each time you run your specs. In case you
87
+ # need to load files that tend to change during development, require them here.
88
+ # With Rails, your application modules are loaded automatically, so sometimes
89
+ # this block can remain empty.
90
+ #
91
+ # Note: You can modify files loaded *from* the Spork.each_run block without
92
+ # restarting the spork server. However, this file itself will not be reloaded,
93
+ # so if you change any of the code inside the each_run block, you still need to
94
+ # restart the server. In general, if you have non-trivial code in this file,
95
+ # it's advisable to move it into a separate file so you can easily edit it
96
+ # without restarting spork. (For example, with RSpec, you could move
97
+ # non-trivial code into a file spec/support/my_helper.rb, making sure that the
98
+ # spec/support/* files are require'd from inside the each_run block.)
99
+ #
100
+ # Any code that is left outside the two blocks will be run during preforking
101
+ # *and* during each_run -- that's probably not what you want.
102
+ #
103
+ # These instructions should self-destruct in 10 seconds. If they don't, feel
104
+ # free to delete them.
105
+
106
+
107
+
108
+ Spork.prefork do
109
+ # Loading more in this block will cause your tests to run faster. However,
110
+ # if you change any configuration or code from libraries loaded here, you'll
111
+ # need to restart spork for it take effect.
112
+ # This file is copied to spec/ when you run 'rails generate rspec:install'
113
+
114
+ end
115
+
116
+ Spork.each_run do
117
+ # This code will be run each time you run your specs.
118
+ clear_test_dummy
119
+
120
+ FactoryGirl.reload
121
+ end
@@ -0,0 +1,109 @@
1
+
2
+ ####################################
3
+ ## Migration
4
+
5
+
6
+ def build_migration_config()
7
+ # build schema from
8
+ puts_on_file Rails.root.join("tmp/migration_schema.yml") do
9
+ {
10
+ :from => {
11
+ columns: { name: "string" },
12
+ format: :XLS,
13
+ url: File.expand_path("../../asserts/sheet1.xls", __FILE__)
14
+ },
15
+
16
+ :to => { columns:
17
+ { name: "string" },
18
+ format: :ACTIVE_RECORD,
19
+ url: "District"
20
+ }
21
+ }.to_yaml
22
+ end
23
+
24
+ end
25
+
26
+
27
+
28
+
29
+ #######################################
30
+ ## Schemas
31
+
32
+ def build_migration_schemas_config()
33
+
34
+ puts_on_file "tmp/file_existing.xls" do
35
+ (1..5).map { |n| "line%d" % n }.join("\n")
36
+ end
37
+
38
+ puts_on_file Rails.root.join("tmp/schemas.yml") do
39
+
40
+ {
41
+ "test" => {
42
+ type: :CUSTOM,
43
+ from: {
44
+ columns: {
45
+ name: "string"
46
+ },
47
+ format: :XLS,
48
+ url: File.expand_path("../../asserts/sheet1.xls", __FILE__)
49
+ },
50
+ to: "District",
51
+ transformer: "MigrationTestDistrictTransformer"
52
+ },
53
+
54
+ "activities" => {
55
+ type: :SCHEMA,
56
+ from: {
57
+ columns: {
58
+ name: "string"
59
+ },
60
+ format: :XLS,
61
+ url: File.expand_path("../../asserts/sheet1.xls", __FILE__)
62
+ },
63
+ to: {
64
+ columns: {
65
+ name: "string"
66
+ },
67
+ format: :ACTIVE_RECORD,
68
+ url: "District"
69
+ },
70
+ transformer: "MigrationActivityTransformer"
71
+ }
72
+ }.to_yaml
73
+
74
+ end
75
+ end
76
+
77
+ def build_schemas_tmp_classes()
78
+ eval %q{
79
+ class MigrationTestDistrictTransformer
80
+ include ActiveMigration::Transformer
81
+
82
+ def initialize(schema)
83
+
84
+ end
85
+
86
+ def migrate!
87
+ Rails.logger.info "called MigrationTestDistrictTransformer.migrate!"
88
+ true
89
+ end
90
+
91
+ end
92
+ }
93
+
94
+ eval %q{
95
+ class MigrationActivityTransformer
96
+ include ActiveMigration::Transformer
97
+
98
+ def initialize(schema)
99
+
100
+ end
101
+
102
+ def transform(row)
103
+ row[:name] = row[:name] + Time.now.to_s
104
+ true
105
+ end
106
+
107
+ end
108
+ }
109
+ end
@@ -0,0 +1,7 @@
1
+
2
+ def puts_on_file(file, string=nil)
3
+ string ||= yield
4
+ aFile = File.new(file, "w")
5
+ aFile.write(string)
6
+ aFile.close
7
+ end
File without changes
@@ -0,0 +1,6 @@
1
+ #TODO: pegar parametros do rake
2
+ namespace :db do
3
+ task add_user_privilegie: :environment do
4
+ User.where("email like ?", '%test%')[0].abilities.build(:module => SystemModule.CUSTOMER, :ability => SystemAbility.UPDATE).save
5
+ end
6
+ end
@@ -0,0 +1,22 @@
1
+ namespace :db do
2
+ task external_migrate: :environment do
3
+
4
+ require Rails.root.join("lib/active_migration")
5
+
6
+ Dir[Rails.root.join("lib/active_migration/*.rb")].each { |file| require file }
7
+
8
+ Dir[Rails.root.join("db/external_migrate/*schemas.yml")].each do |file|
9
+
10
+ @migration_schemas = ActiveMigration::Schemas::SchemasMigration.new file
11
+
12
+ if @migration_schemas.migrate!
13
+ Rails.logger.info "Migration success! %s" % file
14
+ end
15
+
16
+ end
17
+
18
+
19
+
20
+ end
21
+
22
+ end
@@ -0,0 +1,77 @@
1
+ #encoding: utf-8
2
+ namespace :db do
3
+ desc "Fill database with sample data"
4
+ task populate: :environment do
5
+ begin
6
+ Faker::Config.locale = [:en]
7
+ logger = Logger.new(STDOUT)
8
+
9
+ User.where(admin:false).each do |u|
10
+ u.destroy_fully()
11
+ end
12
+
13
+ Micropost.destroy_all()
14
+
15
+ User.create!(name: "Teste User",
16
+ email: "teste@teste.com",
17
+ password: "testes",
18
+ password_confirmation: "testes")
19
+
20
+ 8.times do |n|
21
+ name = "#{Faker::Name.name} Gen #{n} "[0..24]
22
+
23
+ logger.info name
24
+ email = "example-#{n+1}@guaracrm.org"
25
+ password = "password"
26
+ User.create!(name: name,
27
+ email: email,
28
+ password: password,
29
+ password_confirmation: password)
30
+ end
31
+
32
+ users = User.all(limit: 5)
33
+ users[2..4].each do |user|
34
+ 26.times do
35
+ content = Faker::Lorem.sentence(5)
36
+ user.microposts.create!(content: content)
37
+ end
38
+ end
39
+
40
+
41
+ def make_relationships
42
+ users = User.all
43
+ user = users.first
44
+ followed_users = users[2..5]
45
+ followers = users[3..7]
46
+ followed_users.each { |followed| user.follow!(followed) }
47
+ followers.each { |follower| follower.follow!(user) }
48
+ end
49
+
50
+ Customer.all.each { |u| u.destroy_fully }
51
+ logger.info "Customers Destroyed"
52
+
53
+ #Customer APPLE
54
+ apple = Factory(:customer_pj, customer: Factory(:customer, name: "Apple")).customer
55
+
56
+ logger.info "Customer Eggs Created"
57
+
58
+ # Business Department
59
+ business_department_adm = BusinessDepartment.all[0]
60
+ business_department_prd = BusinessDepartment.all[1]
61
+
62
+ 2.times { Factory(:contact, customer: apple, department: business_department_adm) }
63
+ 4.times { Factory(:contact, customer: apple, department: business_department_prd) }
64
+
65
+ logger.info "Contacts Createds"
66
+
67
+ #Customer
68
+ 5.times { Factory(:customer_pj) }
69
+
70
+ logger.info "5 Customers created"
71
+
72
+ rescue Exception => exception
73
+ logger.error("Message for the log file #{exception.message}\n\n")
74
+ logger.info exception.backtrace.to_yaml
75
+ end
76
+ end
77
+ end