krpc 0.4.0.beta2 → 0.4.0.beta3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -23,23 +23,23 @@ module KRPC
23
23
  STATUS: PB::Status,
24
24
  SERVICES: PB::Services
25
25
  }
26
-
27
-
26
+
27
+
28
28
  class TypeStore
29
29
  @cache = {}
30
30
  class << self
31
-
31
+
32
32
  def [](protobuf_type)
33
33
  @cache[protobuf_type.to_proto.hash] ||= PROTOBUF_TYPE_CODE_TO_TYPE_TYPE[protobuf_type.code].new(protobuf_type)
34
34
  end
35
-
35
+
36
36
  def coerce_to(value, type)
37
37
  return value if type.is_a?(EnumType) && value.class == Symbol # Enum handling
38
38
  return value if value.is_a?(type.ruby_type)
39
39
  # A NilClass can be coerced to a ClassType
40
40
  return nil if type.is_a?(ClassType) && value.nil?
41
41
  # Handle service' class instance
42
- if type.is_a?(ClassType) && value.is_a?(Gen::ClassBase) &&
42
+ if type.is_a?(ClassType) && value.is_a?(Gen::ClassBase) &&
43
43
  type.ruby_type == value.class
44
44
  return value
45
45
  end
@@ -69,11 +69,11 @@ module KRPC
69
69
  end
70
70
  raise(ValueError, "Failed to coerce value #{value.to_s} of type #{value.class} to type #{type}")
71
71
  end
72
-
72
+
73
73
  end
74
74
  end
75
-
76
-
75
+
76
+
77
77
  class TypeBase
78
78
  attr_reader :protobuf_type, :ruby_type
79
79
  def initialize(protobuf_type, ruby_type)
@@ -81,13 +81,13 @@ module KRPC
81
81
  @ruby_type = ruby_type
82
82
  end
83
83
  end
84
-
84
+
85
85
  class ValueType < TypeBase
86
86
  def initialize(pb_type)
87
87
  super(pb_type, PROTOBUF_TO_RUBY_VALUE_TYPES[pb_type.code] || raise(ValueError, "#{pb_type.code} is not a valid type code for a value type"))
88
88
  end
89
89
  end
90
-
90
+
91
91
  class ClassType < TypeBase
92
92
  attr_reader :service_name, :class_name
93
93
  def initialize(pb_type)
@@ -95,7 +95,7 @@ module KRPC
95
95
  super(pb_type, Gen.generate_class(service_name, class_name))
96
96
  end
97
97
  end
98
-
98
+
99
99
  class EnumType < TypeBase
100
100
  attr_reader :service_name, :enum_name
101
101
  def initialize(pb_type)
@@ -103,12 +103,12 @@ module KRPC
103
103
  # Sets ruby_type to nil, set_values must be called to set the ruby_type
104
104
  super(pb_type, nil)
105
105
  end
106
-
106
+
107
107
  def set_values(values)
108
108
  @ruby_type = Gen.generate_enum(service_name, enum_name, values)
109
109
  end
110
110
  end
111
-
111
+
112
112
  class ListType < TypeBase
113
113
  attr_reader :value_type
114
114
  def initialize(pb_type)
@@ -116,7 +116,7 @@ module KRPC
116
116
  super(pb_type, Array)
117
117
  end
118
118
  end
119
-
119
+
120
120
  class SetType < TypeBase
121
121
  attr_reader :value_type
122
122
  def initialize(pb_type)
@@ -124,7 +124,7 @@ module KRPC
124
124
  super(pb_type, Set)
125
125
  end
126
126
  end
127
-
127
+
128
128
  class TupleType < TypeBase
129
129
  attr_reader :value_types
130
130
  def initialize(pb_type)
@@ -132,7 +132,7 @@ module KRPC
132
132
  super(pb_type, Array)
133
133
  end
134
134
  end
135
-
135
+
136
136
  class DictionaryType < TypeBase
137
137
  attr_reader :key_type, :value_type
138
138
  def initialize(pb_type)
@@ -140,13 +140,13 @@ module KRPC
140
140
  super(pb_type, Hash)
141
141
  end
142
142
  end
143
-
143
+
144
144
  class MessageType < TypeBase
145
145
  def initialize(pb_type)
146
146
  super(pb_type, PROTOBUF_TO_RUBY_MESSAGE_TYPES[pb_type.code] || raise(ValueError, "\"#{pb_type.code}\" is not a valid type code for a message type"))
147
147
  end
148
148
  end
149
-
149
+
150
150
  PROTOBUF_TYPE_CODE_TO_TYPE_TYPE =
151
151
  PROTOBUF_TO_RUBY_VALUE_TYPES.keys.inject({}) {|a,e| a[e] = ValueType; a }.merge(
152
152
  PROTOBUF_TO_RUBY_MESSAGE_TYPES.keys.inject({}) {|a,e| a[e] = MessageType; a }).merge(
@@ -154,6 +154,6 @@ module KRPC
154
154
  LIST: ListType, SET: SetType, TUPLE: TupleType, DICTIONARY: DictionaryType
155
155
  )
156
156
  end
157
-
157
+
158
158
  TypeStore = Types::TypeStore
159
159
  end
@@ -1,9 +1,10 @@
1
1
  module KRPC
2
2
  module Version
3
+ # Dear krpc-rb developer: Before bumping version below, please ensure that protobuf schema is up to date.
3
4
  MAJOR = 0
4
5
  MINOR = 4
5
6
  PATCH = 0
6
- LABEL = 'beta2'
7
+ LABEL = 'beta3'
7
8
  end
8
9
 
9
10
  VERSION = ([Version::MAJOR, Version::MINOR, Version::PATCH, Version::LABEL].compact * '.').freeze
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: krpc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0.beta2
4
+ version: 0.4.0.beta3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tomasz Więch
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-02-21 00:00:00.000000000 Z
11
+ date: 2017-09-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google-protobuf
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '3.1'
19
+ version: '3.4'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '3.1'
26
+ version: '3.4'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: colorize
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -44,70 +44,70 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '1.6'
47
+ version: '1.8'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '1.6'
54
+ version: '1.8'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: bundler
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '1.13'
61
+ version: '1.15'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '1.13'
68
+ version: '1.15'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: pry
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '0.10'
75
+ version: '0.11'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '0.10'
82
+ version: '0.11'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rspec
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '3.5'
89
+ version: '3.6'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '3.5'
96
+ version: '3.6'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rake
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '11.3'
103
+ version: '12.1'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '11.3'
110
+ version: '12.1'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: hanna-nouveau
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -179,7 +179,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
179
179
  version: 1.3.1
180
180
  requirements: []
181
181
  rubyforge_project:
182
- rubygems_version: 2.5.1
182
+ rubygems_version: 2.6.8
183
183
  signing_key:
184
184
  specification_version: 4
185
185
  summary: Client library for kRPC