protobuf 2.2.0 → 2.2.1

Sign up to get free protection for your applications and to get access to all the features.
data/lib/protobuf/enum.rb CHANGED
@@ -16,12 +16,13 @@ module Protobuf
16
16
  # mechanisms. This is useful for the enum field setters
17
17
  # as well as repeated enum field construction.
18
18
  def self.fetch(value)
19
- if value.is_a?(::Protobuf::EnumValue)
19
+ case value
20
+ when ::Protobuf::EnumValue then
20
21
  value
21
- elsif value.respond_to?(:to_sym)
22
- value_by_name(value.to_sym) rescue nil
23
- elsif value.respond_to?(:to_i)
24
- enum_by_value(value.to_i) rescue nil
22
+ when Numeric then
23
+ enum_by_value(value.to_i)
24
+ when String, Symbol then
25
+ value_by_name(value.to_sym)
25
26
  else
26
27
  nil
27
28
  end
@@ -54,7 +54,7 @@ module Protobuf
54
54
  [:debug, :info, :warn, :error, :fatal, :any, :add, :log].each do |m|
55
55
  define_method("log_#{m}") do |*params, &block|
56
56
  params.map! { |message| sign_message(message) }
57
- Protobuf::Logger.__send__(m, *params, &block)
57
+ ::Protobuf::Logger.__send__(m, *params, &block)
58
58
  end
59
59
  end
60
60
 
@@ -1,4 +1,4 @@
1
1
  module Protobuf
2
- VERSION = '2.2.0'
2
+ VERSION = '2.2.1'
3
3
  PROTOC_VERSION = '2.4.1'
4
4
  end
@@ -25,12 +25,14 @@ describe Protobuf::Enum do
25
25
  context 'when value can be coerced to a symbol' do
26
26
  it 'fetches based on the symbol name value' do
27
27
  Test::EnumTestType.fetch("ONE").should eq Test::EnumTestType::ONE
28
+ Test::EnumTestType.fetch(:ONE).should eq Test::EnumTestType::ONE
28
29
  end
29
30
  end
30
31
 
31
32
  context 'when value can be coerced to an integer' do
32
33
  it 'fetches based on the integer tag value' do
33
34
  Test::EnumTestType.fetch(3.0).should eq Test::EnumTestType::THREE
35
+ Test::EnumTestType.fetch(3).should eq Test::EnumTestType::THREE
34
36
  end
35
37
  end
36
38
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: protobuf
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0
4
+ version: 2.2.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -516,7 +516,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
516
516
  version: '0'
517
517
  segments:
518
518
  - 0
519
- hash: 510252424392908935
519
+ hash: 379065993395849020
520
520
  required_rubygems_version: !ruby/object:Gem::Requirement
521
521
  none: false
522
522
  requirements:
@@ -525,7 +525,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
525
525
  version: '0'
526
526
  segments:
527
527
  - 0
528
- hash: 510252424392908935
528
+ hash: 379065993395849020
529
529
  requirements: []
530
530
  rubyforge_project:
531
531
  rubygems_version: 1.8.24