Class: Update
- Inherits:
-
Object
- Object
- Update
- Defined in:
- lib/update.rb
Instance Attribute Summary collapse
-
#dry_run ⇒ Object
Returns the value of attribute dry_run.
-
#env ⇒ Object
Returns the value of attribute env.
-
#settings ⇒ Object
Returns the value of attribute settings.
-
#svc ⇒ Object
Returns the value of attribute svc.
-
#table ⇒ Object
Returns the value of attribute table.
Instance Method Summary collapse
- #create_table_if_not_exists ⇒ Object
- #echo(key) ⇒ Object
- #get(key) ⇒ Object
-
#initialize(env, settings, dry_run = nil) ⇒ Update
constructor
A new instance of Update.
- #update ⇒ Object
- #upsert(key, value) ⇒ Object
- #upsert_all(settings) ⇒ Object
Constructor Details
#initialize(env, settings, dry_run = nil) ⇒ Update
Returns a new instance of Update.
9 10 11 12 13 |
# File 'lib/update.rb', line 9 def initialize env, settings, dry_run = nil @env = env || 'noenv' @settings = settings @dry_run = dry_run end |
Instance Attribute Details
#dry_run ⇒ Object
Returns the value of attribute dry_run.
3 4 5 |
# File 'lib/update.rb', line 3 def dry_run @dry_run end |
#env ⇒ Object
Returns the value of attribute env.
4 5 6 |
# File 'lib/update.rb', line 4 def env @env end |
#settings ⇒ Object
Returns the value of attribute settings.
5 6 7 |
# File 'lib/update.rb', line 5 def settings @settings end |
#svc ⇒ Object
Returns the value of attribute svc.
6 7 8 |
# File 'lib/update.rb', line 6 def svc @svc end |
#table ⇒ Object
Returns the value of attribute table.
7 8 9 |
# File 'lib/update.rb', line 7 def table @table end |
Instance Method Details
#create_table_if_not_exists ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/update.rb', line 35 def create_table_if_not_exists azure_table_service = Azure::TableService.new begin azure_table_service.create_table(@table) rescue puts $! puts "table : #{@table}" puts end azure_table_service end |
#echo(key) ⇒ Object
94 95 96 97 98 99 100 |
# File 'lib/update.rb', line 94 def echo key entity = get key if !entity.nil? puts "echo: " p entity.properties end end |
#get(key) ⇒ Object
81 82 83 84 85 86 87 88 89 90 91 92 |
# File 'lib/update.rb', line 81 def get key begin result = @svc.get_entity @table, @env, key rescue puts $! puts "key : #{key}" puts end result end |
#update ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/update.rb', line 15 def update if @env == 'noenv' puts 'Environment name required to update settings.' return false end # error thrown by azure gem if these are bad Azure.config.storage_account_name = ENV['StorageAccount'] Azure.config.storage_access_key = ENV['StorageAccountKey'] @table = ENV['ConfigSettingsTable'] puts puts 'Updating config table...' puts @svc = create_table_if_not_exists upsert_all @settings end |
#upsert(key, value) ⇒ Object
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/update.rb', line 54 def upsert key, value # check if setting exists result = get key entity = { "setting" => value, :PartitionKey => @env, :RowKey => key } if result.nil? @svc.insert_entity @table, entity if @dry_run.nil? puts ">>>>> inserted entity key: #{key} value: #{value}" else # don't reinsert same value if result.properties['setting'] != value @svc.delete_entity(@table, @env, key) if @dry_run.nil? @svc.insert_entity(@table, entity) if @dry_run.nil? puts ">>>>> Updated entity - key: #{key} value: #{value}" else puts "Same value: #{value} found for key: #{key}" if @dry_run.nil? end end end |
#upsert_all(settings) ⇒ Object
47 48 49 50 51 52 |
# File 'lib/update.rb', line 47 def upsert_all settings settings.map {|k,v| upsert(k, v) #echo(k) } end |