scale.rb 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2ce5a456e8313b36d61cbfbff272c86985a6dc240603b37d6e96bd1cc0f28a9b
4
- data.tar.gz: fda311dc30d0f8b31c62d9332bf241bab5b5646b6919fcb3b41814126692f469
3
+ metadata.gz: 861596854598a5ea2a2648cc9fe3b32915eeba97a372f2c49ba1839537cd6741
4
+ data.tar.gz: 222a2e692373bd1523f37927a304c12f2d24d252c428be3b6beb8b4dc52163c8
5
5
  SHA512:
6
- metadata.gz: 2d9d0c5ccc5cdc2e34515af88a64164678ce6f18a128f3e935906a362979ff6be7e83c0ea9ab17350acb3fb91e67766dbc3bc247fc733dd4310c9efb3aaf6857
7
- data.tar.gz: 9c0a9f424308e368dc886ad31f568b118fa5596d21b7d5cd9d79bbefcf41a8324c4d3f885f24334165cac769e33da988f2b1f03097a966f19003b7c027cd8ab3
6
+ metadata.gz: 68406b9ce9d33d5bf4513fc825f7e76b5e290f52a6b144893ff9df130e513ff01f20b647e51eab61efef2f15bb4b4be0db0b0a817cba465f268577199731f4d3
7
+ data.tar.gz: d0225db7a736a2909dd8e3967658b9fef543457e2eea479e09af8944161830fbad114782ec8fa0014e6a4df5f8599c3b128dcc16cc00c3518dcd836f1b6dd4ef
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- scale.rb (0.3.0)
4
+ scale.rb (0.3.1)
5
5
  base58
6
6
  blake2b_rs (~> 0.1.2)
7
7
  faye-websocket
data/lib/scale.rb CHANGED
@@ -44,7 +44,7 @@ module Scale
44
44
 
45
45
  module Types
46
46
  class << self
47
- attr_accessor :debug
47
+ attr_accessor :debug, :logger
48
48
  end
49
49
 
50
50
  def self.check_types
@@ -126,3 +126,4 @@ class ::Hash
126
126
  end
127
127
 
128
128
  Scale::Types.debug = false
129
+ Scale::Types.logger = Logger.new(STDOUT)
data/lib/scale/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Scale
2
- VERSION = "0.3.0".freeze
2
+ VERSION = "0.3.1".freeze
3
3
  end
@@ -122,8 +122,8 @@ class SubstrateClient
122
122
  block = self.chain_getBlock(block_hash)
123
123
  SubstrateClient::Helper.decode_block(block)
124
124
  rescue => ex
125
- puts ex.message
126
- puts ex.backtrace.join("\n\t")
125
+ Scale::Types.logger.error ex
126
+ Scale::Types.logger.error ex.backtrace.join("\n\t")
127
127
  end
128
128
 
129
129
  def get_block_events(block_hash=nil)
data/lib/type_builder.rb CHANGED
@@ -41,11 +41,12 @@ module Scale
41
41
  # 5. Struct, 6. Enum, 7. Set
42
42
  else
43
43
 
44
- if type_info["type"] == "struct"
44
+ type_info.transform_keys!(&:to_sym)
45
+ if type_info[:type] == "struct"
45
46
  build_struct(type_info)
46
- elsif type_info["type"] == "enum"
47
+ elsif type_info[:type] == "enum"
47
48
  build_enum(type_info)
48
- elsif type_info["type"] == "set"
49
+ elsif type_info[:type] == "set"
49
50
  build_set(type_info)
50
51
  else
51
52
  raise Scale::TypeBuildError.new("Failed to build a type from #{type_info}")
@@ -158,7 +159,7 @@ module Scale
158
159
 
159
160
  def build_struct(type_info)
160
161
  # items: {"a" => Type}
161
- items = type_info["type_mapping"].map do |item|
162
+ items = type_info[:type_mapping].map do |item|
162
163
  item_name = item[0]
163
164
  item_type = get(item[1])
164
165
  [item_name, item_type]
@@ -183,10 +184,10 @@ module Scale
183
184
 
184
185
  # not implemented: ["Compact", "Hex"]
185
186
  def build_enum(type_info)
186
- # type_info: [["Item1", "Compact"], [["Item2", "Hex"]]
187
- if type_info.has_key?("type_mapping")
187
+ # type_mapping: [["Item1", "Compact"], [["Item2", "Hex"]]
188
+ if type_info.has_key?(:type_mapping)
188
189
  # items: {a: Type}
189
- items = type_info["type_mapping"].map do |item|
190
+ items = type_info[:type_mapping].map do |item|
190
191
  item_name = item[0]
191
192
  item_type = get(item[1])
192
193
  [item_name.to_sym, item_type]
@@ -210,14 +211,14 @@ module Scale
210
211
  end
211
212
  end
212
213
 
213
- # [1, "hello"]
214
- if type_info.has_key?("value_list")
215
- type_name = "Enum#{type_info["value_list"].map {|value| value.to_s.camelize2}.join}"
214
+ # value_list: [1, "hello"]
215
+ if type_info.has_key?(:value_list)
216
+ type_name = "Enum#{type_info[:value_list].map {|value| value.to_s.camelize2}.join}"
216
217
 
217
218
  if !Scale::Types.const_defined?(type_name)
218
219
  klass = Class.new do
219
220
  include Scale::Types::Enum
220
- values *type_info["value_list"]
221
+ values *type_info[:value_list]
221
222
  end
222
223
  return Scale::Types.const_set type_name, klass
223
224
  else
@@ -237,12 +238,12 @@ module Scale
237
238
  # }
238
239
  # }
239
240
  def build_set(type_info)
240
- type_name = "Set#{type_info["value_list"].keys.map(&:camelize2).join("")}"
241
+ type_name = "Set#{type_info[:value_list].keys.map(&:camelize2).join("")}"
241
242
  if !Scale::Types.const_defined?(type_name)
242
- bytes_length = type_info["value_type"][1..].to_i / 8
243
+ bytes_length = type_info[:value_type][1..].to_i / 8
243
244
  klass = Class.new do
244
245
  include Scale::Types::Set
245
- items type_info["value_list"], bytes_length
246
+ items type_info[:value_list], bytes_length
246
247
  end
247
248
  return Scale::Types.const_set type_name, klass
248
249
  else
data/lib/type_registry.rb CHANGED
@@ -26,7 +26,7 @@ module Scale
26
26
  @types = default_types.merge(spec_types)
27
27
  rescue => ex
28
28
  # TODO: check different errors
29
- puts "There is no types json file named #{spec_name}"
29
+ Scale::Types.logger.error "There is no types json file named #{spec_name}"
30
30
  @types = default_types
31
31
  end
32
32
  else
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scale.rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wu Minzhe
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-08-11 00:00:00.000000000 Z
11
+ date: 2021-08-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: blake2b_rs