Sha256: b2b030698af0286798cfab3c209b029d4c6ed2d7c019acb8fca4c2e2d19ec4b9

Contents?: true

Size: 587 Bytes

Versions: 15

Compression:

Stored size: 587 Bytes

Contents

# frozen_string_literal: true

module ConnectProto
  module Extensions
    module Valueable
      def self.to_value(value)
        case value
        when TrueClass, FalseClass then Google::Protobuf::Value.new(bool_value: value)
        when String then Google::Protobuf::Value.new(string_value: value)
        when Numeric then Google::Protobuf::Value.new(number_value: value)
        when NilClass then Google::Protobuf::Value.new(null_value: :NULL_VALUE)
        else
          raise TypeError, "Invalid type #{value.class} for value #{value}"
        end
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
primary_connect_proto-0.26.0 lib/extensions/valueable.rb
primary_connect_proto-0.25.0 lib/extensions/valueable.rb
primary_connect_proto-0.24.0 lib/extensions/valueable.rb
primary_connect_proto-0.23.0 lib/extensions/valueable.rb
primary_connect_proto-0.22.0 lib/extensions/valueable.rb
primary_connect_proto-0.21.0 lib/extensions/valueable.rb
primary_connect_proto-0.20.0 lib/extensions/valueable.rb
primary_connect_proto-0.19.0 lib/extensions/valueable.rb
primary_connect_proto-0.18.0 lib/extensions/valueable.rb
primary_connect_proto-0.17.0 lib/extensions/valueable.rb
primary_connect_proto-0.16.0 lib/extensions/valueable.rb
primary_connect_proto-0.15.0 lib/extensions/valueable.rb
primary_connect_proto-0.14.0 lib/extensions/valueable.rb
primary_connect_proto-0.13.0 lib/extensions/valueable.rb
primary_connect_proto-0.12.1 lib/extensions/valueable.rb