Sha256: 2d8c23389fa1d8b5111659955b124463363325c40a7623b514bf9d9f22f57cad

Contents?: true

Size: 806 Bytes

Versions: 22

Compression:

Stored size: 806 Bytes

Contents

require 'delegate'

module Flipper
  module UI
    module Decorators
      class Gate < SimpleDelegator
        # Public: The gate being decorated.
        alias_method :gate, :__getobj__

        # Public: The value for the gate from the adapter.
        attr_reader :value

        def initialize(gate, value = nil)
          super gate
          @value = value
        end

        # Public: Returns instance as hash that is ready to be json dumped.
        def as_json
          value_as_json = case data_type
          when :set
            value.to_a # json doesn't like sets
          else
            value
          end

          {
            'key' => gate.key.to_s,
            'name' => gate.name.to_s,
            'value' => value_as_json,
          }
        end
      end
    end
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
flipper-ui-0.10.2 lib/flipper/ui/decorators/gate.rb
flipper-ui-0.10.1 lib/flipper/ui/decorators/gate.rb
flipper-ui-0.10.0 lib/flipper/ui/decorators/gate.rb
flipper-ui-0.9.2 lib/flipper/ui/decorators/gate.rb
flipper-ui-0.9.1 lib/flipper/ui/decorators/gate.rb
flipper-ui-0.9.0 lib/flipper/ui/decorators/gate.rb
flipper-ui-0.9.0.beta1 lib/flipper/ui/decorators/gate.rb
flipper-ui-0.8.0 lib/flipper/ui/decorators/gate.rb
flipper-ui-0.7.5 lib/flipper/ui/decorators/gate.rb
flipper-ui-0.7.4 lib/flipper/ui/decorators/gate.rb
flipper-ui-0.7.3 lib/flipper/ui/decorators/gate.rb
flipper-ui-0.7.2 lib/flipper/ui/decorators/gate.rb
flipper-ui-0.7.1 lib/flipper/ui/decorators/gate.rb
flipper-ui-0.7.0 lib/flipper/ui/decorators/gate.rb
flipper-ui-0.7.0.beta6 lib/flipper/ui/decorators/gate.rb
flipper-ui-0.7.0.beta5 lib/flipper/ui/decorators/gate.rb
flipper-ui-0.7.0.beta4 lib/flipper/ui/decorators/gate.rb
flipper-ui-0.2.0.beta5 lib/flipper/ui/decorators/gate.rb
flipper-ui-0.2.0.beta4 lib/flipper/ui/decorators/gate.rb
flipper-ui-0.2.0.beta3 lib/flipper/ui/decorators/gate.rb