diff --git a/Gemfile b/Gemfile index 2f34ec40e8..cbfcb26d82 100644 --- a/Gemfile +++ b/Gemfile @@ -22,8 +22,8 @@ gem 'closed_struct' gem 'pg_search' # Dashboard analytics -gem 'energy-sparks_analytics', git: 'https://github.com/Energy-Sparks/energy-sparks_analytics.git', tag: '4.1.3' -#gem 'energy-sparks_analytics', git: 'https://github.com/Energy-Sparks/energy-sparks_analytics.git', branch: 'remove-old-tariff-attribute-configuration' +gem 'energy-sparks_analytics', git: 'https://github.com/Energy-Sparks/energy-sparks_analytics.git', tag: '4.1.5' +#gem 'energy-sparks_analytics', git: 'https://github.com/Energy-Sparks/energy-sparks_analytics.git', branch: 'switch-to-bug-fix-branch-of-roo' #gem 'energy-sparks_analytics', path: '../energy-sparks_analytics' # Using master due to it having a patch which doesn't override Enumerable#sum if it's already defined @@ -111,7 +111,8 @@ gem "good_job", "~> 3.4.6" gem 'delegated_type' # Spreadsheet parsing -gem 'roo' +# Switch to custom branch that incorporates some necessary bug fixes +gem 'roo', git: 'https://github.com/Energy-Sparks/roo.git', branch: 'bug-fix-branch' gem 'roo-xls' # Used to handle mail processing for the admin mailer diff --git a/Gemfile.lock b/Gemfile.lock index 629dac0448..34fa4b9039 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ GIT remote: https://github.com/Energy-Sparks/energy-sparks_analytics.git - revision: 37fb1339283e917b935061f9f8a620a7e6656fc9 - tag: 4.1.3 + revision: cbbfad533ac9a0c1454f233fbf4c698f6e36318c + tag: 4.1.5 specs: energy-sparks_analytics (1.2.1) activesupport (>= 6.0, < 7.1) @@ -14,7 +14,7 @@ GIT interpolate (~> 0.3.0) pry-byebug require_all (~> 2.0.0) - roo (~> 2.7.1) + roo roo-xls (~> 1.2.0) rspec ruby-limiter (~> 1.1.0) @@ -25,6 +25,15 @@ GIT structured_warnings (~> 0.3.0) write_xlsx (>= 0.85.5, < 1.12.0) +GIT + remote: https://github.com/Energy-Sparks/roo.git + revision: 058a8e3d1c711c04c59a686805bbe1962d2b2ed1 + branch: bug-fix-branch + specs: + roo (2.10.0) + nokogiri (~> 1) + rubyzip (>= 1.3.0, < 3.0.0) + GIT remote: https://github.com/Energy-Sparks/statsample revision: e3de8a332546ca0506938f49f8a9f92762aee737 @@ -531,9 +540,6 @@ GEM rgeo-geojson (2.1.1) rgeo (>= 1.0.0) rollbar (3.3.0) - roo (2.7.1) - nokogiri (~> 1) - rubyzip (~> 1.1, < 2.0.0) roo-xls (1.2.0) nokogiri roo (>= 2.0.0, < 3) @@ -797,7 +803,7 @@ DEPENDENCIES rb-readline rgeo-geojson rollbar - roo + roo! roo-xls rspec-json_expectations rspec-rails (~> 5.1.2) diff --git a/lib/tasks/deployment/20231107114150_new_british_gas_format.rake b/lib/tasks/deployment/20231107114150_new_british_gas_format.rake new file mode 100644 index 0000000000..9f4dc22611 --- /dev/null +++ b/lib/tasks/deployment/20231107114150_new_british_gas_format.rake @@ -0,0 +1,24 @@ +namespace :after_party do + desc 'Deployment task: new_british_gas_format' + task new_british_gas_format: :environment do + puts "Running deploy task 'new_british_gas_format'" + + config = {} + config['description'] = "British Gas (New)" + config['identifier'] = 'british-gas-new' + config['number_of_header_rows'] = 3 + config['header_example'] = "Customer,URN,Site Name,Address Line 1,MPAN/MPRN/SPID,Reading Date,Data Quality(% Complete),Consumption (kWh),00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30" + config['date_format'] = "%d/%m/%Y" # e.g. 16/10/2023 + config['mpan_mprn_field'] = 'MPAN/MPRN/SPID' + config['reading_date_field'] = 'Reading Date' + config['reading_fields'] = "00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30".split(",") + config['total_field'] = 'Consumption (kWh)' + config['notes'] = 'This is the new updated British Gas format' + AmrDataFeedConfig.create!(config) + + # Update task as completed. If you remove the line below, the task will + # run with every deploy (or every time you call after_party:run). + AfterParty::TaskRecord + .create version: AfterParty::TaskRecorder.new(__FILE__).timestamp + end +end