rubybear 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +3 -0
  3. data/Gemfile.lock +77 -0
  4. data/LICENSE +41 -0
  5. data/README.md +559 -0
  6. data/Rakefile +140 -0
  7. data/gource.sh +8 -0
  8. data/images/Anthony Martin.png +0 -0
  9. data/images/Marvin Hofmann.jpg +0 -0
  10. data/images/Marvin Hofmann.png +0 -0
  11. data/lib/bears.rb +17 -0
  12. data/lib/rubybear.rb +45 -0
  13. data/lib/rubybear/account_by_key_api.rb +7 -0
  14. data/lib/rubybear/account_history_api.rb +15 -0
  15. data/lib/rubybear/api.rb +907 -0
  16. data/lib/rubybear/base_error.rb +23 -0
  17. data/lib/rubybear/block_api.rb +14 -0
  18. data/lib/rubybear/broadcast_operations.json +500 -0
  19. data/lib/rubybear/chain.rb +299 -0
  20. data/lib/rubybear/chain_config.rb +22 -0
  21. data/lib/rubybear/chain_stats_api.rb +15 -0
  22. data/lib/rubybear/condenser_api.rb +99 -0
  23. data/lib/rubybear/database_api.rb +5 -0
  24. data/lib/rubybear/error_parser.rb +228 -0
  25. data/lib/rubybear/follow_api.rb +7 -0
  26. data/lib/rubybear/logger.rb +20 -0
  27. data/lib/rubybear/market_history_api.rb +19 -0
  28. data/lib/rubybear/methods.json +498 -0
  29. data/lib/rubybear/mixins/acts_as_poster.rb +124 -0
  30. data/lib/rubybear/mixins/acts_as_voter.rb +50 -0
  31. data/lib/rubybear/mixins/acts_as_wallet.rb +67 -0
  32. data/lib/rubybear/network_broadcast_api.rb +7 -0
  33. data/lib/rubybear/operation.rb +101 -0
  34. data/lib/rubybear/operation_ids.rb +98 -0
  35. data/lib/rubybear/operation_types.rb +139 -0
  36. data/lib/rubybear/stream.rb +527 -0
  37. data/lib/rubybear/tag_api.rb +33 -0
  38. data/lib/rubybear/transaction.rb +306 -0
  39. data/lib/rubybear/type/amount.rb +57 -0
  40. data/lib/rubybear/type/array.rb +17 -0
  41. data/lib/rubybear/type/beneficiaries.rb +29 -0
  42. data/lib/rubybear/type/future.rb +18 -0
  43. data/lib/rubybear/type/hash.rb +17 -0
  44. data/lib/rubybear/type/permission.rb +19 -0
  45. data/lib/rubybear/type/point_in_time.rb +19 -0
  46. data/lib/rubybear/type/price.rb +25 -0
  47. data/lib/rubybear/type/public_key.rb +18 -0
  48. data/lib/rubybear/type/serializer.rb +12 -0
  49. data/lib/rubybear/type/u_int16.rb +19 -0
  50. data/lib/rubybear/type/u_int32.rb +19 -0
  51. data/lib/rubybear/utils.rb +170 -0
  52. data/lib/rubybear/version.rb +4 -0
  53. data/rubybear.gemspec +40 -0
  54. metadata +412 -0
@@ -0,0 +1,7 @@
1
+ module Rubybear
2
+ class FollowApi < Api
3
+ def api_name
4
+ :follow_api
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,20 @@
1
+ require 'logger'
2
+
3
+ module Rubybear
4
+ # The logger that Rubybear uses for reporting errors.
5
+ #
6
+ # @return [Logger]
7
+ def self.logger
8
+ @@logger ||= Logger.new(STDOUT).tap do |logger|
9
+ logger.progname = 'rubybear'
10
+ end
11
+ end
12
+
13
+ # Sets the logger that Rubybear uses for reporting errors.
14
+ #
15
+ # @param logger [Logger] The logger to set as Rubybear's logger.
16
+ # @return [void]
17
+ def self.logger=(logger)
18
+ @@logger = logger
19
+ end
20
+ end
@@ -0,0 +1,19 @@
1
+ module Rubybear
2
+ class MarketHistoryApi < Api
3
+ def method_names
4
+ @method_names ||= [
5
+ :get_market_history,
6
+ :get_market_history_buckets,
7
+ :get_order_book,
8
+ :get_recent_trades,
9
+ :get_ticker,
10
+ :get_trade_history,
11
+ :get_volume
12
+ ].freeze
13
+ end
14
+
15
+ def api_name
16
+ :market_history_api
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,498 @@
1
+ // Copied from:
2
+ // https://raw.githubusercontent.com/bearshares/bears-js/master/src/api/methods.js
3
+
4
+ [
5
+ {
6
+ "api": "database_api",
7
+ "method": "set_subscribe_callback",
8
+ "params": ["callback", "clearFilter"]
9
+ },
10
+ {
11
+ "api": "database_api",
12
+ "method": "set_pending_transaction_callback",
13
+ "params": ["cb"]
14
+ },
15
+ {
16
+ "api": "database_api",
17
+ "method": "set_block_applied_callback",
18
+ "params": ["cb"]
19
+ },
20
+ {
21
+ "api": "database_api",
22
+ "method": "cancel_all_subscriptions"
23
+ },
24
+ {
25
+ "api": "database_api",
26
+ "method": "get_trending_tags",
27
+ "params": ["afterTag", "limit"]
28
+ },
29
+ {
30
+ "api": "database_api",
31
+ "method": "get_tags_used_by_author",
32
+ "params": ["author"]
33
+ },
34
+ {
35
+ "api": "database_api",
36
+ "method": "get_post_discussions_by_payout",
37
+ "params": ["query"]
38
+ },
39
+ {
40
+ "api": "database_api",
41
+ "method": "get_comment_discussions_by_payout",
42
+ "params": ["query"]
43
+ },
44
+ {
45
+ "api": "database_api",
46
+ "method": "get_discussions_by_trending",
47
+ "params": ["query"]
48
+ },
49
+ {
50
+ "api": "database_api",
51
+ "method": "get_discussions_by_trending30",
52
+ "params": ["query"]
53
+ },
54
+ {
55
+ "api": "database_api",
56
+ "method": "get_discussions_by_created",
57
+ "params": ["query"]
58
+ },
59
+ {
60
+ "api": "database_api",
61
+ "method": "get_discussions_by_active",
62
+ "params": ["query"]
63
+ },
64
+ {
65
+ "api": "database_api",
66
+ "method": "get_discussions_by_cashout",
67
+ "params": ["query"]
68
+ },
69
+ {
70
+ "api": "database_api",
71
+ "method": "get_discussions_by_payout",
72
+ "params": ["query"]
73
+ },
74
+ {
75
+ "api": "database_api",
76
+ "method": "get_discussions_by_votes",
77
+ "params": ["query"]
78
+ },
79
+ {
80
+ "api": "database_api",
81
+ "method": "get_discussions_by_children",
82
+ "params": ["query"]
83
+ },
84
+ {
85
+ "api": "database_api",
86
+ "method": "get_discussions_by_hot",
87
+ "params": ["query"]
88
+ },
89
+ {
90
+ "api": "database_api",
91
+ "method": "get_discussions_by_feed",
92
+ "params": ["query"]
93
+ },
94
+ {
95
+ "api": "database_api",
96
+ "method": "get_discussions_by_blog",
97
+ "params": ["query"]
98
+ },
99
+ {
100
+ "api": "database_api",
101
+ "method": "get_discussions_by_comments",
102
+ "params": ["query"]
103
+ },
104
+ {
105
+ "api": "database_api",
106
+ "method": "get_discussions_by_promoted",
107
+ "params": ["query"]
108
+ },
109
+ {
110
+ "api": "database_api",
111
+ "method": "get_block_header",
112
+ "params": ["blockNum"]
113
+ },
114
+ {
115
+ "api": "database_api",
116
+ "method": "get_block",
117
+ "params": ["blockNum"]
118
+ },
119
+ {
120
+ "api": "database_api",
121
+ "method": "get_ops_in_block",
122
+ "params": ["blockNum", "onlyVirtual"]
123
+ },
124
+ {
125
+ "api": "database_api",
126
+ "method": "get_state",
127
+ "params": ["path"]
128
+ },
129
+ {
130
+ "api": "database_api",
131
+ "method": "get_trending_categories",
132
+ "params": ["after", "limit"]
133
+ },
134
+ {
135
+ "api": "database_api",
136
+ "method": "get_best_categories",
137
+ "params": ["after", "limit"]
138
+ },
139
+ {
140
+ "api": "database_api",
141
+ "method": "get_active_categories",
142
+ "params": ["after", "limit"]
143
+ },
144
+ {
145
+ "api": "database_api",
146
+ "method": "get_recent_categories",
147
+ "params": ["after", "limit"]
148
+ },
149
+ {
150
+ "api": "database_api",
151
+ "method": "get_config"
152
+ },
153
+ {
154
+ "api": "database_api",
155
+ "method": "get_dynamic_global_properties"
156
+ },
157
+ {
158
+ "api": "database_api",
159
+ "method": "get_chain_properties"
160
+ },
161
+ {
162
+ "api": "database_api",
163
+ "method": "get_feed_history"
164
+ },
165
+ {
166
+ "api": "database_api",
167
+ "method": "get_current_median_history_price"
168
+ },
169
+ {
170
+ "api": "database_api",
171
+ "method": "get_witness_schedule"
172
+ },
173
+ {
174
+ "api": "database_api",
175
+ "method": "get_hardfork_version"
176
+ },
177
+ {
178
+ "api": "database_api",
179
+ "method": "get_next_scheduled_hardfork"
180
+ },
181
+ {
182
+ "api": "account_by_key_api",
183
+ "method": "get_key_references",
184
+ "params": ["key"]
185
+ },
186
+ {
187
+ "api": "database_api",
188
+ "method": "get_accounts",
189
+ "params": ["names"]
190
+ },
191
+ {
192
+ "api": "database_api",
193
+ "method": "get_account_references",
194
+ "params": ["accountId"]
195
+ },
196
+ {
197
+ "api": "database_api",
198
+ "method": "lookup_account_names",
199
+ "params": ["accountNames"]
200
+ },
201
+ {
202
+ "api": "database_api",
203
+ "method": "lookup_accounts",
204
+ "params": ["lowerBoundName", "limit"]
205
+ },
206
+ {
207
+ "api": "database_api",
208
+ "method": "get_account_count"
209
+ },
210
+ {
211
+ "api": "database_api",
212
+ "method": "get_conversion_requests",
213
+ "params": ["accountName"]
214
+ },
215
+ {
216
+ "api": "database_api",
217
+ "method": "get_account_history",
218
+ "params": ["account", "from", "limit"]
219
+ },
220
+ {
221
+ "api": "database_api",
222
+ "method": "get_owner_history",
223
+ "params": ["account"]
224
+ },
225
+ {
226
+ "api": "database_api",
227
+ "method": "get_recovery_request",
228
+ "params": ["account"]
229
+ },
230
+ {
231
+ "api": "database_api",
232
+ "method": "get_escrow",
233
+ "params": ["from", "escrowId"]
234
+ },
235
+ {
236
+ "api": "database_api",
237
+ "method": "get_withdraw_routes",
238
+ "params": ["account", "withdrawRouteType"]
239
+ },
240
+ {
241
+ "api": "database_api",
242
+ "method": "get_account_bandwidth",
243
+ "params": ["account", "bandwidthType"]
244
+ },
245
+ {
246
+ "api": "database_api",
247
+ "method": "get_savings_withdraw_from",
248
+ "params": ["account"]
249
+ },
250
+ {
251
+ "api": "database_api",
252
+ "method": "get_savings_withdraw_to",
253
+ "params": ["account"]
254
+ },
255
+ {
256
+ "api": "database_api",
257
+ "method": "get_order_book",
258
+ "params": ["limit"]
259
+ },
260
+ {
261
+ "api": "database_api",
262
+ "method": "get_open_orders",
263
+ "params": ["owner"]
264
+ },
265
+ {
266
+ "api": "database_api",
267
+ "method": "get_liquidity_queue",
268
+ "params": ["startAccount", "limit"]
269
+ },
270
+ {
271
+ "api": "database_api",
272
+ "method": "get_transaction_hex",
273
+ "params": ["trx"]
274
+ },
275
+ {
276
+ "api": "database_api",
277
+ "method": "get_transaction",
278
+ "params": ["trxId"]
279
+ },
280
+ {
281
+ "api": "database_api",
282
+ "method": "get_required_signatures",
283
+ "params": ["trx", "availableKeys"]
284
+ },
285
+ {
286
+ "api": "database_api",
287
+ "method": "get_potential_signatures",
288
+ "params": ["trx"]
289
+ },
290
+ {
291
+ "api": "database_api",
292
+ "method": "verify_authority",
293
+ "params": ["trx"]
294
+ },
295
+ {
296
+ "api": "database_api",
297
+ "method": "verify_account_authority",
298
+ "params": ["nameOrId", "signers"]
299
+ },
300
+ {
301
+ "api": "database_api",
302
+ "method": "get_active_votes",
303
+ "params": ["author", "permlink"]
304
+ },
305
+ {
306
+ "api": "database_api",
307
+ "method": "get_account_votes",
308
+ "params": ["voter"]
309
+ },
310
+ {
311
+ "api": "database_api",
312
+ "method": "get_content",
313
+ "params": ["author", "permlink"]
314
+ },
315
+ {
316
+ "api": "database_api",
317
+ "method": "get_content_replies",
318
+ "params": ["author", "permlink"]
319
+ },
320
+ {
321
+ "api": "database_api",
322
+ "method": "get_discussions_by_author_before_date",
323
+ "params": ["author", "startPermlink", "beforeDate", "limit"]
324
+ },
325
+ {
326
+ "api": "database_api",
327
+ "method": "get_replies_by_last_update",
328
+ "params": ["startAuthor", "startPermlink", "limit"]
329
+ },
330
+ {
331
+ "api": "database_api",
332
+ "method": "get_witnesses",
333
+ "params": ["witnessIds"]
334
+ },
335
+ {
336
+ "api": "database_api",
337
+ "method": "get_witness_by_account",
338
+ "params": ["accountName"]
339
+ },
340
+ {
341
+ "api": "database_api",
342
+ "method": "get_witnesses_by_vote",
343
+ "params": ["from", "limit"]
344
+ },
345
+ {
346
+ "api": "database_api",
347
+ "method": "lookup_witness_accounts",
348
+ "params": ["lowerBoundName", "limit"]
349
+ },
350
+ {
351
+ "api": "database_api",
352
+ "method": "get_witness_count"
353
+ },
354
+ {
355
+ "api": "database_api",
356
+ "method": "get_active_witnesses"
357
+ },
358
+ {
359
+ "api": "database_api",
360
+ "method": "get_miner_queue"
361
+ },
362
+ {
363
+ "api": "database_api",
364
+ "method": "get_reward_fund",
365
+ "params": ["name"]
366
+ },
367
+ {
368
+ "api": "database_api",
369
+ "method": "get_coining_delegations",
370
+ "params": ["account", "from", "limit"]
371
+ },
372
+ {
373
+ "api": "login_api",
374
+ "method": "login",
375
+ "params": ["username", "password"]
376
+ },
377
+ {
378
+ "api": "login_api",
379
+ "method": "get_api_by_name",
380
+ "params": ["apiName"]
381
+ },
382
+ {
383
+ "api": "login_api",
384
+ "method": "get_version"
385
+ },
386
+ {
387
+ "api": "follow_api",
388
+ "method": "get_followers",
389
+ "params": ["following", "startFollower", "followType", "limit"]
390
+ },
391
+ {
392
+ "api": "follow_api",
393
+ "method": "get_following",
394
+ "params": ["follower", "startFollowing", "followType", "limit"]
395
+ },
396
+ {
397
+ "api": "follow_api",
398
+ "method": "get_follow_count",
399
+ "params": ["account"]
400
+ },
401
+ {
402
+ "api": "follow_api",
403
+ "method": "get_feed_entries",
404
+ "params": ["account", "entryId", "limit"
405
+ ]
406
+ },
407
+ {
408
+ "api": "follow_api",
409
+ "method": "get_feed",
410
+ "params": ["account", "entryId", "limit"]
411
+ },
412
+ {
413
+ "api": "follow_api",
414
+ "method": "get_blog_entries",
415
+ "params": ["account", "entryId", "limit"]
416
+ },
417
+ {
418
+ "api": "follow_api",
419
+ "method": "get_blog",
420
+ "params": ["account", "entryId", "limit"]
421
+ },
422
+ {
423
+ "api": "follow_api",
424
+ "method": "get_account_reputations",
425
+ "params": ["lowerBoundName", "limit"]
426
+ },
427
+ {
428
+ "api": "follow_api",
429
+ "method": "get_reblogged_by",
430
+ "params": ["author", "permlink"]
431
+ },
432
+ {
433
+ "api": "follow_api",
434
+ "method": "get_blog_authors",
435
+ "params": ["blogAccount"]
436
+ },
437
+ {
438
+ "api": "network_broadcast_api",
439
+ "method": "broadcast_transaction",
440
+ "params": ["trx"]
441
+ },
442
+ {
443
+ "api": "network_broadcast_api",
444
+ "method": "broadcast_transaction_with_callback",
445
+ "params": ["confirmationCallback", "trx"]
446
+ },
447
+ {
448
+ "api": "network_broadcast_api",
449
+ "method": "broadcast_transaction_synchronous",
450
+ "params": ["trx"]
451
+ },
452
+ {
453
+ "api": "network_broadcast_api",
454
+ "method": "broadcast_block",
455
+ "params": ["b"]
456
+ },
457
+ {
458
+ "api": "network_broadcast_api",
459
+ "method": "set_max_block_age",
460
+ "params": ["maxBlockAge"]
461
+ },
462
+ {
463
+ "api": "market_history_api",
464
+ "method": "get_ticker",
465
+ "params": []
466
+ },
467
+ {
468
+ "api": "market_history_api",
469
+ "method": "get_volume",
470
+ "params": []
471
+ },
472
+ {
473
+ "api": "market_history_api",
474
+ "method": "get_order_book",
475
+ "method_name": "getMarketOrderBook",
476
+ "params": ["limit"]
477
+ },
478
+ {
479
+ "api": "market_history_api",
480
+ "method": "get_trade_history",
481
+ "params": ["start", "end", "limit"]
482
+ },
483
+ {
484
+ "api": "market_history_api",
485
+ "method": "get_recent_trades",
486
+ "params": ["limit"]
487
+ },
488
+ {
489
+ "api": "market_history_api",
490
+ "method": "get_market_history",
491
+ "params": ["bucket_seconds" , "start", "end"]
492
+ },
493
+ {
494
+ "api": "market_history_api",
495
+ "method": "get_market_history_buckets",
496
+ "params": []
497
+ }
498
+ ]