From 37c173ed994f3cdfd5e98c8a79ad79bbfb46918d Mon Sep 17 00:00:00 2001 From: Thorsten Eckel Date: Wed, 8 Apr 2015 12:49:09 +0200 Subject: [PATCH] Added first draft of AutoWizzard. --- lib/auto_wizzard.rb | 49 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 lib/auto_wizzard.rb diff --git a/lib/auto_wizzard.rb b/lib/auto_wizzard.rb new file mode 100644 index 000000000..7527a9a1a --- /dev/null +++ b/lib/auto_wizzard.rb @@ -0,0 +1,49 @@ +module AutoWizzard + + def self.setup + + auto_wizzard_file_name = 'auto_wizzard.json' + + return if !File.file?(auto_wizzard_file_name) + + auto_wizzard_file = File.read(auto_wizzard_file_name) + + auto_wizzard_hash = JSON.parse(auto_wizzard_file) + + # create Users + if auto_wizzard_hash['Users'] + + roles = Role.where( :name => ['Agent', 'Admin'] ) + groups = Group.all + + auto_wizzard_hash['Users'].each { |user_data| + + user_data_symbolized = user_data.symbolize_keys + + user_data_symbolized = user_data_symbolized.merge( + { + :active => true, + :roles => roles, + :groups => groups, + :updated_by_id => 1, + :created_by_id => 1 + } + ) + + User.create_or_update( + user_data_symbolized + ) + } + end + + # set Settings + if auto_wizzard_hash['Settings'] + + auto_wizzard_hash['Settings'].each { |setting_data| + Setting.set( setting_data['name'], setting_data['value'] ) + } + end + + true + end +end \ No newline at end of file