Skip to content

Instantly share code, notes, and snippets.

@shawndeprey
Last active October 17, 2017 17:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save shawndeprey/c966cf909c7058df6d712a41a5906675 to your computer and use it in GitHub Desktop.
Save shawndeprey/c966cf909c7058df6d712a41a5906675 to your computer and use it in GitHub Desktop.
Project.destroy_all
ProjectReport.destroy_all
ReportModule.destroy_all
ProjectReportCompany.destroy_all
ProjectReportGroup.destroy_all
ProjectReportGroupCompany.destroy_all
ReportModuleSection.destroy_all
SectionCompany.destroy_all
SectionGroup.destroy_all
ProjectUser.destroy_all
SectionUser.destroy_all
logo_url = "https://ryse-avatars.s3.amazonaws.com/networks/logo_images/000/000/265/thumb/data?1499881814"
background_image_url = "http://www.cashshield.com/wordpress/wp-content/uploads/2016/12/04WVEU6MF6.jpg"
project = Project.create(name: 'name', description: 'description', user: User.last, logo: ImageHelper.prepare_image_url_for_paperclip(logo_url), background_image: ImageHelper.prepare_image_url_for_paperclip(background_image_url), brand_color: "#152A7B")
pr = ProjectReport.create(project_id: project.id)
rm = ReportModule.create(project_report_id: pr.id)
# Add companies
prcs = []
Company.order("RANDOM()").limit(30).pluck(:id).each do |c_id|
prcs << ProjectReportCompany.create(company_id: c_id, project_report_id: pr.id)
end
# Add groups
prgs = []
5.times do
prg = ProjectReportGroup.create(name: Faker::Company.bs, description: Faker::Lorem.paragraph(2), project_report_id: pr.id)
prgs << prg
# Add companies to groups
prcs.sample(6).each do |prc|
ProjectReportGroupCompany.create(project_report_company: prc, project_report_group: prg)
end
end
# Add sections
rms_title = ReportModuleSection.create(report_module_id: rm.id, section_type: SectionHelper::TYPE_TITLE)
rms_intro = ReportModuleSection.create(
report_module_id: rm.id, section_type: SectionHelper::TYPE_INTRODUCTION,
custom_data: { short_intro: 'short introduction', title: 'intro title', full_intro: 'full introduction' }.to_json
)
rms_toc = ReportModuleSection.create(report_module_id: rm.id, section_type: SectionHelper::TYPE_TABLE_OF_CONTENTS)
rms_company = ReportModuleSection.create(report_module_id: rm.id, section_type: SectionHelper::TYPE_COMPANY_PROFILE)
rms_additional = ReportModuleSection.create(
report_module_id: rm.id, section_type: SectionHelper::TYPE_ADDITIONAL_COMPANY_INFO,
custom_data: [{ title: 'custom field title', content: 'custom field content' }].to_json
)
prc = prcs.sample(1).first
override_data = {use_case: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce tempor pellentesque felis, vitae porta neque sollicitudin at. Vestibulum maximus nec massa a posuere. Aenean lectus neque, pharetra sit amet magna at, venenatis blandit ligula. Vestibulum ipsum dui, feugiat et ligula eget, suscipit euismod lectus. Suspendisse nec velit vitae tellus posuere accumsan. Cras vel iaculis ex, vel aliquet mi. Aliquam vitae euismod ante. Nullam ex elit, dapibus nec sem ac, elementum tempor nulla.\nMauris efficitur felis eros, facilisis molestie massa volutpat egestas. Ut vitae neque laoreet, volutpat augue ac, condimentum arcu. Sed tempus vehicula risus sit amet laoreet. Suspendisse sed eleifend augue. Vestibulum vitae tincidunt urna. Cras ornare sed urna ut sagittis. In feugiat sem non posuere tempor. Morbi quis porttitor arcu.\nVestibulum congue ex a imperdiet maximus. Phasellus placerat rhoncus dolor, vel elementum turpis tincidunt eu. Vestibulum finibus placerat semper. Maecenas sed ante risus. Vivamus nisi tortor, consequat sit amet lectus et, mollis ultricies ligula. Quisque molestie, diam vel pulvinar scelerisque, nunc erat porta purus, id gravida felis ligula eu turpis. Integer a tellus nisl.\nVestibulum ac nisl augue. Curabitur et magna ut lacus ultricies maximus. Fusce convallis interdum tellus, vitae finibus diam suscipit fringilla. Vestibulum finibus vitae eros eget malesuada. Pellentesque euismod leo quis diam interdum vestibulum. Integer consectetur, libero ac tempor vehicula, justo est laoreet augue, sagittis volutpat neque nibh sit amet libero. Etiam vel gravida augue, mattis rutrum nisl. Sed ut mauris lacus. Ut consectetur dolor molestie, rhoncus libero vel, mollis sapien. Integer at ligula quis lacus luctus sollicitudin. In hac habitasse platea dictumst. Praesent ultrices efficitur nunc, in molestie justo. Mauris venenatis quis lacus et feugiat. Phasellus venenatis justo vel consectetur sodales. Sed viverra sed dui sit amet porta.\nFusce vitae vehicula nulla, at placerat tellus. Aliquam accumsan libero at condimentum molestie. Suspendisse eu blandit odio, at lobortis tellus. Praesent convallis, nulla ac blandit lacinia, est lorem scelerisque leo, at ornare tortor enim quis diam. Duis pellentesque condimentum imperdiet. Etiam a sapien turpis. Phasellus in nisi nec velit placerat fringilla. Praesent finibus sapien vel velit dapibus, ut mollis felis pharetra. Vestibulum eget velit sit amet velit egestas mattis.\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce tempor pellentesque felis, vitae porta neque sollicitudin at. Vestibulum maximus nec massa a posuere. Aenean lectus neque, pharetra sit amet magna at, venenatis blandit ligula. Vestibulum ipsum dui, feugiat et ligula eget, suscipit euismod lectus. Suspendisse nec velit vitae tellus posuere accumsan. Cras vel iaculis ex, vel aliquet mi. Aliquam vitae euismod ante. Nullam ex elit, dapibus nec sem ac, elementum tempor nulla.\nMauris efficitur felis eros, facilisis molestie massa volutpat egestas. Ut vitae neque laoreet, volutpat augue ac, condimentum arcu. Sed tempus vehicula risus sit amet laoreet. Suspendisse sed eleifend augue. Vestibulum vitae tincidunt urna. Cras ornare sed urna ut sagittis. In feugiat sem non posuere tempor. Morbi quis porttitor arcu.\nVestibulum congue ex a imperdiet maximus. Phasellus placerat rhoncus dolor, vel elementum turpis tincidunt eu. Vestibulum finibus placerat semper. Maecenas sed ante risus. Vivamus nisi tortor, consequat sit amet lectus et, mollis ultricies ligula. Quisque molestie, diam vel pulvinar scelerisque, nunc erat porta purus, id gravida felis ligula eu turpis. Integer a tellus nisl.\nVestibulum ac nisl augue. Curabitur et magna ut lacus ultricies maximus. Fusce convallis interdum tellus, vitae finibus diam suscipit fringilla. Vestibulum finibus vitae eros eget malesuada. Pellentesque euismod leo quis diam interdum vestibulum. Integer consectetur, libero ac tempor vehicula, justo est laoreet augue, sagittis volutpat neque nibh sit amet libero. Etiam vel gravida augue, mattis rutrum nisl. Sed ut mauris lacus. Ut consectetur dolor molestie, rhoncus libero vel, mollis sapien. Integer at ligula quis lacus luctus sollicitudin. In hac habitasse platea dictumst. Praesent ultrices efficitur nunc, in molestie justo. Mauris venenatis quis lacus et feugiat. Phasellus venenatis justo vel consectetur sodales. Sed viverra sed dui sit amet porta.\nFusce vitae vehicula nulla, at placerat tellus. Aliquam accumsan libero at condimentum molestie. Suspendisse eu blandit odio, at lobortis tellus. Praesent convallis, nulla ac blandit lacinia, est lorem scelerisque leo, at ornare tortor enim quis diam. Duis pellentesque condimentum imperdiet. Etiam a sapien turpis. Phasellus in nisi nec velit placerat fringilla. Praesent finibus sapien vel velit dapibus, ut mollis felis pharetra. Vestibulum eget velit sit amet velit egestas mattis.'}
SectionCompany.create(report_module_section_id: rms_company.id, project_report_company: prc, data_override: override_data.to_json)
SectionCompany.create(report_module_section_id: rms_additional.id, project_report_company: prc)
rms_sectors = ReportModuleSection.create(report_module_id: rm.id, section_type: SectionHelper::TYPE_SECTOR_GRID)
prgs.each do |prg|
SectionGroup.create(report_module_section_id: rms_sectors.id, project_report_group: prg, project_report_group_company_id_string: prg.project_report_group_companies.pluck(:id).join(' '))
end
rms_sector = ReportModuleSection.create(report_module_id: rm.id, section_type: SectionHelper::TYPE_SECTOR_COMPANY_GRID)
SectionGroup.create(report_module_section_id: rms_sector.id, project_report_group: prgs[0], project_report_group_company_id_string: nil) # if no project_report_group_company_id_string is specified all companies in the group will be used in the generation of the section
rms_sector = ReportModuleSection.create(report_module_id: rm.id, section_type: SectionHelper::TYPE_SECTOR_OVERVIEW, custom_data: { maturity: 'Emerging', maturity_details: 'About 3 percent of adults in the US have used a service like Blue Apron or Plated in the last year, finds a 2016 NPD study. These services are now a $400 million market that\'s projected to increase tenfold in the next five years, according to Technomic.', use_case: 'In addition to serving as a destination for online retail, brickandmortar.com is also a key source of preCommerce - shoppers research their future purchases online before going to the store.' }.to_json)
SectionGroup.create(report_module_section_id: rms_sector.id, project_report_group: prgs[0], project_report_group_company_id_string: prgs[0].project_report_group_companies.pluck(:id).join(' '), )
rms_close = ReportModuleSection.create(report_module_id: rm.id, section_type: SectionHelper::TYPE_CLOSE)
User.order("RANDOM()").limit(10).pluck(:id).each do |u_id|
pu = ProjectUser.create(user_id: u_id, project_id: pr.id)
SectionUser.create(report_module_section_id: rms_close.id, project_user: pu)
end
SectionHelper.generate_default_section_order!(rm)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment