Sha256: 1633798859412a79a8a0dade9bb1b40d879e6a90c65ee9d7a0037f99be9d48ca

Contents?: true

Size: 650 Bytes

Versions: 6

Compression:

Stored size: 650 Bytes

Contents

class Riemann::Dash::BrowserConfig::S3
  require 'multi_json'
  require 'fog'

  def initialize(bucket, path, config = {})
    @bucket = bucket
    @path   = path
    @config = config

    @storage = Fog::Storage::AWS.new(config)
  end

  def read
    begin
      @storage.get_object(@bucket, @path).body
    rescue Excon::Errors::NotFound
      MultiJson.encode({})
    end
  end

  def update(update)
    update = MultiJson.decode update

    # Read old config
    old = MultiJson.decode read

    new = Riemann::Dash::BrowserConfig.merge_configs update, old
    @storage.put_object @bucket, @path, MultiJson.encode(new, :pretty => true)
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
riemann-dash-0.2.14 lib/riemann/dash/browser_config/s3.rb
riemann-dash-0.2.13 lib/riemann/dash/browser_config/s3.rb
riemann-dash-0.2.12 lib/riemann/dash/browser_config/s3.rb
riemann-dash-0.2.11 lib/riemann/dash/browser_config/s3.rb
riemann-dash-0.2.10 lib/riemann/dash/browser_config/s3.rb
riemann-dash-0.2.9 lib/riemann/dash/browser_config/s3.rb