steem_api 1.1.2pre1 → 1.1.2pre2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: f32dd882a8d71154c0eda8044e8a9f67772cba47
4
- data.tar.gz: 9d02184067830b87ec5eb25504640fe804890f55
2
+ SHA256:
3
+ metadata.gz: 9d31974524e28208e43d6cc83547203cd52ee47390ce4c0dd59d4277f2667b8e
4
+ data.tar.gz: dfeff346e22c78f3deac1151ec84916e7c14002885cc30a9b638befaa8409378
5
5
  SHA512:
6
- metadata.gz: 7414c60d340d655d7ea5e3fb13ee1bb589dae4bfdaa9ca8fab51110306404df2d2b55fa72e55cf37732b76d7625cbd150fa677d835f51617dabc8de76066f273
7
- data.tar.gz: c32e79c322e7160d52531ed2174f46a242f261e1cd6fb107b3e46b116bb86e6f44fd1dcd66aa2487a1aa63591cbcb3c92589069ba223df0d43f0881ad90f0ecc
6
+ metadata.gz: 94f554af16f3f140c9bdcd2b74974875c2607b23456e7c8c77029b8da809b12fa1e616760f2ae36562ffdbbc569df045e3471db6a7e1635e06b70523a16c8db8
7
+ data.tar.gz: 26ba8ef317a0e33a19d213cf3b4613122d487e3eccb5bab30684a1c90ac9b38a03bc5ab5e5931a0a1f053fbccffb87e11219f6b1e2ab21238948ad39fdb7cf2d
data/.gitignore CHANGED
@@ -8,3 +8,5 @@
8
8
  /tmp/
9
9
  *.gem
10
10
  **/.DS_Store
11
+ Gemfile.lock
12
+ .rvmrc
data/Rakefile CHANGED
@@ -15,6 +15,64 @@ task :console do
15
15
  exec "irb -r steem_api -I ./lib"
16
16
  end
17
17
 
18
+ namespace :created do
19
+ desc 'Lists accounts created grouped by creator and date.'
20
+ task :accounts, [:creator, :days_ago] do |t, args|
21
+ now = Time.now.utc
22
+ creator = args[:creator]
23
+ after_timestamp = now - ((args[:days_ago] || '30').to_i * 86400)
24
+
25
+ accounts = SteemApi::Tx::AccountCreate.all
26
+
27
+ if !!creator || creator == '%'
28
+ unless creator == '%'
29
+ accounts = accounts.where(creator: creator)
30
+ end
31
+ elsif creator =~ /.*%.*/
32
+ accounts = accounts.where('creator LIKE ?', creator)
33
+ end
34
+
35
+ accounts = accounts.where('timestamp > ?', after_timestamp)
36
+ accounts = accounts.group('CAST(timestamp AS DATE)', :creator)
37
+ accounts = accounts.order('cast_timestamp_as_date ASC')
38
+
39
+ accounts = accounts.count
40
+ ap "# Daily creation count by #{creator.nil? ? 'all account creators' : creator} since #{after_timestamp} ..."
41
+ ap accounts
42
+ ap "# Total accounts: #{accounts.values.sum}"
43
+ end
44
+
45
+ desc 'Lists custom_json_operations grouped by id and date.'
46
+ task :custom_json, [:id, :days_ago, :min_count] do |t, args|
47
+ now = Time.now.utc
48
+ tid = args[:id]
49
+ after_timestamp = now - ((args[:days_ago] || '30').to_i * 86400)
50
+ min_count = (args[:min_count] || 1).to_i
51
+
52
+ customs = SteemApi::Tx::Custom.all
53
+
54
+ if !!tid && tid != '%' && tid =~ /.*%.*/
55
+ customs = customs.where("tid LIKE ?", tid)
56
+ elsif !!tid && tid != '%'
57
+ customs = customs.where(tid: tid)
58
+ end
59
+
60
+ customs = customs.where('timestamp > ?', after_timestamp)
61
+ customs = customs.group('CAST(timestamp AS DATE)', :tid)
62
+ customs = customs.order('cast_timestamp_as_date ASC')
63
+
64
+ customs = customs.count
65
+
66
+ customs = customs.map do |k, v|
67
+ [k, v] if v >= min_count
68
+ end.compact.to_h
69
+
70
+ ap "# Daily creation count by #{tid.nil? ? 'all custom_json_operation' : tid} since #{after_timestamp} ..."
71
+ ap customs
72
+ ap "# Total custom_json_operation: #{customs.values.sum}"
73
+ end
74
+ end
75
+
18
76
  desc 'Lists sum of transfers grouped by date, from, and to.'
19
77
  task :transfers, [:minimum_amount, :symbol, :days_ago] do |t, args|
20
78
  now = Time.now.utc
@@ -34,6 +92,78 @@ task :transfers, [:minimum_amount, :symbol, :days_ago] do |t, args|
34
92
  ap transfers.sum(:amount)
35
93
  end
36
94
 
95
+ desc 'Lists sum of powered up grouped by date, from, and to.'
96
+ task :powerup, [:minimum_amount, :symbol, :days_ago, :not_to_self] do |t, args|
97
+ now = Time.now.utc
98
+ minimum_amount = (args[:minimum_amount] || '500').to_f
99
+ symbol = (args[:symbol] || 'STEEM').upcase
100
+ after_timestamp = now - ((args[:days_ago] || '30').to_i * 86400)
101
+ not_to_self = (args[:not_to_self] || 'false') == 'true'
102
+
103
+ minimum_amount = case symbol
104
+ when 'MVESTS' then minimum_amount * 1e6 #TODO
105
+ when 'VESTS' then minimum_amount # TODO
106
+ when 'STEEM' then minimum_amount
107
+ else; raise "Unknown symbol: #{symbol}"
108
+ end
109
+
110
+ # Only type: transfer; ignore savings, vestings
111
+ transfers = SteemApi::Tx::Transfer.where(type: 'transfer_to_vesting')
112
+ transfers = transfers.where('amount > ?', minimum_amount)
113
+ transfers = transfers.where('amount_symbol = ?', 'STEEM')
114
+ transfers = transfers.where('timestamp > ?', after_timestamp)
115
+ transfers = transfers.group('CAST(timestamp AS DATE)', :from, :to)
116
+ transfers = transfers.order('cast_timestamp_as_date ASC')
117
+
118
+ transfers = transfers.sum(:amount)
119
+
120
+ if not_to_self
121
+ transfers = transfers.map do |k, v|
122
+ [k, v] if k[1] != k[2]
123
+ end.compact.to_h
124
+ end
125
+
126
+ puts "# Daily transfer sum over #{'%.3f' % minimum_amount} #{symbol} #{not_to_self ? '' : 'not to self '}since #{after_timestamp} ..."
127
+ ap transfers
128
+ ap "# Total #{symbol}: #{transfers.values.sum}"
129
+ end
130
+
131
+ desc 'Lists sum of powered down grouped by date, from, and to.'
132
+ task :powerdown, [:minimum_amount, :symbol, :days_ago, :not_to_self] do |t, args|
133
+ now = Time.now.utc
134
+ minimum_amount = (args[:minimum_amount] || '500').to_f
135
+ symbol = (args[:symbol] || 'STEEM').upcase
136
+ after_timestamp = now - ((args[:days_ago] || '30').to_i * 86400)
137
+ not_to_self = (args[:not_to_self] || 'false') == 'true'
138
+
139
+ minimum_amount = case symbol
140
+ when 'MVESTS' then minimum_amount * 1e6 #TODO
141
+ when 'VESTS' then minimum_amount # TODO
142
+ when 'STEEM' then minimum_amount
143
+ else; raise "Unknown symbol: #{symbol}"
144
+ end
145
+
146
+ # Only type: transfer; ignore savings, vestings
147
+ transfers = SteemApi::Tx::Transfer.where(type: 'transfer_to_vesting')
148
+ transfers = transfers.where('amount > ?', minimum_amount)
149
+ transfers = transfers.where('amount_symbol = ?', 'STEEM')
150
+ transfers = transfers.where('timestamp > ?', after_timestamp)
151
+ transfers = transfers.group('CAST(timestamp AS DATE)', :from, :to)
152
+ transfers = transfers.order('cast_timestamp_as_date ASC')
153
+
154
+ transfers = transfers.sum(:amount)
155
+
156
+ if not_to_self
157
+ transfers = transfers.map do |k, v|
158
+ [k, v] if k[1] != k[2]
159
+ end.compact.to_h
160
+ end
161
+
162
+ puts "# Daily transfer sum over #{'%.3f' % minimum_amount} #{symbol} #{not_to_self ? '' : 'not to self '}since #{after_timestamp} ..."
163
+ ap transfers
164
+ ap "# Total #{symbol}: #{transfers.values.sum}"
165
+ end
166
+
37
167
  desc 'Lists apps grouped by date, app/version.'
38
168
  task :apps, [:app, :days_ago] do |t, args|
39
169
  now = Time.now.utc
@@ -51,6 +181,35 @@ task :apps, [:app, :days_ago] do |t, args|
51
181
  ap comments.count(:all)
52
182
  end
53
183
 
184
+ desc 'Lists app names grouped by date, app/version.'
185
+ task :app_names, [:app, :days_ago] do |t, args|
186
+ now = Time.now.utc
187
+ app = args[:app]
188
+ after_timestamp = now - ((args[:days_ago] || '7').to_f * 86400)
189
+
190
+ comments = SteemApi::Comment.normalized_json
191
+ comments = comments.app(app) if !!app
192
+ comments = comments.where('created > ?', after_timestamp)
193
+ comments = comments.group('CAST(created AS DATE)', "JSON_VALUE(json_metadata, '$.app')")
194
+ comments = comments.order('cast_created_as_date ASC')
195
+
196
+ matching = " matching \"#{app}\"" if !!app
197
+ puts "# Daily app#{matching} count since #{after_timestamp} ..."
198
+
199
+ app_names = {}
200
+ puts comments.to_sql
201
+ comments.count(:all).each do |k, v|
202
+ date, app = k
203
+ if !!app && app.include?('/')
204
+ name, version = app.split('/')
205
+ app_names[[date, name]] ||= 0.0
206
+ app_names[[date, name]] += v
207
+ end
208
+ end
209
+
210
+ ap app_names
211
+ end
212
+
54
213
  desc 'Do all crosschecks of given account.'
55
214
  task :crosscheck, [:account] do |t, args|
56
215
  account = args[:account]
@@ -65,7 +224,9 @@ end
65
224
  namespace :crosscheck do
66
225
  desc 'List of accounts grouped by transfer count crosschecked by memo of given account.'
67
226
  task :transfers, [:account] do |t, args|
68
- exchanges = %w(bittrex poloniex openledger blocktrades)
227
+ exchanges = %w(bittrex poloniex openledger blocktrades deepcrypto8 gopax
228
+ binanceexchange teambitwala changelly hitbtc-exchange korbit roomofsatoshi
229
+ shapeshiftio)
69
230
  account = args[:account]
70
231
 
71
232
  if account.nil? || account == ''
@@ -77,7 +238,8 @@ namespace :crosscheck do
77
238
  end
78
239
 
79
240
  all = SteemApi::Tx::Transfer.where(type: 'transfer')
80
- transfers = all.where(to: exchanges)
241
+ transfers = all.where.not(memo: '')
242
+ transfers = transfers.where(to: exchanges)
81
243
  transfers = if account =~ /%/
82
244
  table = SteemApi::Tx::Transfer.arel_table
83
245
  transfers.where(table[:from].matches(account))
@@ -277,7 +439,7 @@ task :claimed, [:account_name, :days_ago, :symbol] do |t, args|
277
439
  now = Time.now.utc
278
440
  account_name = args[:account_name] || '%'
279
441
  after_timestamp = now - ((args[:days_ago] || '30').to_i * 86400)
280
- symbol = (args[:symbol] || :vests).to_sym
442
+ symbol = (args[:symbol] || 'vests').downcase.to_sym
281
443
  claims = SteemApi::Tx::ClaimRewardBalance.where('timestamp > ?', after_timestamp)
282
444
 
283
445
  claims = if account_name =~ /%/
@@ -291,6 +453,7 @@ task :claimed, [:account_name, :days_ago, :symbol] do |t, args|
291
453
  when :mvests then claims.where("reward_vests > 0")
292
454
  when :steem then claims.where("reward_steem > 0")
293
455
  when :sbd then claims.where("reward_sbd > 0")
456
+ else; raise "Unknown symbol: #{symbol}"
294
457
  end
295
458
 
296
459
  claims = claims.group("FORMAT(timestamp, 'yyyy-MM')")
@@ -303,9 +466,10 @@ task :claimed, [:account_name, :days_ago, :symbol] do |t, args|
303
466
  when :sbd then claims.sum(:reward_sbd)
304
467
  end
305
468
 
306
- puts "Claimed rewards in #{symbol.to_s.upcase} sum grouped by month ..."
469
+ puts "# Claimed rewards in #{symbol.to_s.upcase} sum grouped by month ..."
307
470
 
308
471
  ap claims
472
+ ap "# Total claimed #{symbol}: #{claims.values.sum}"
309
473
  end
310
474
 
311
475
  # Doesn't look like this table exists.
data/lib/steem_api.rb CHANGED
@@ -6,8 +6,12 @@ require "steem_api/models/account"
6
6
  require "steem_api/models/block"
7
7
  require "steem_api/models/comment"
8
8
  require "steem_api/models/connection"
9
+ require "steem_api/models/dynamic_global_properties"
10
+ require "steem_api/models/follower"
11
+ require "steem_api/models/reblog"
9
12
  require "steem_api/models/token"
10
13
  require "steem_api/models/transaction"
14
+ require "steem_api/models/witness"
11
15
 
12
16
  # Sub Level Models
13
17
  require "steem_api/models/tx/account_create"
@@ -39,13 +43,48 @@ require "steem_api/models/tx/custom/witness"
39
43
  require "steem_api/models/tx/custom/reblog"
40
44
 
41
45
  require "steem_api/models/vo/author_reward"
46
+ require "steem_api/models/vo/comment_benefactor_reward"
42
47
  require "steem_api/models/vo/curation_reward"
43
48
  require "steem_api/models/vo/fill_convert_request"
44
49
  require "steem_api/models/vo/fill_order"
50
+ require "steem_api/models/vo/fill_transfer_from_savings"
45
51
  require "steem_api/models/vo/fill_vesting_withdraw"
46
52
  require "steem_api/models/vo/interest"
47
- require "steem_api/models/vo/shutdown_witness"
53
+ require "steem_api/models/vo/liquidity_reward"
48
54
  require "steem_api/models/vo/producer_reward"
55
+ require "steem_api/models/vo/return_vesting_delegation"
56
+ require "steem_api/models/vo/shutdown_witness"
49
57
 
50
58
  module SteemApi
51
59
  end
60
+
61
+ # Monkeypatch to implement: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/issues/274#issuecomment-167578393
62
+ # Copied from: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/blob/d4b6e4134e15d8d73be48ad6d8da1911f7001d9e/lib/active_record/connection_adapters/sqlserver/schema_statements.rb
63
+ # Switched "sp_helptext" from above (#view_information) to use "sp_columns"
64
+ module ActiveRecord
65
+ module ConnectionAdapters
66
+ module SQLServer
67
+ module SchemaStatements
68
+ def view_information(table_name)
69
+ @view_information ||= {}
70
+ @view_information[table_name] ||= begin
71
+ identifier = SQLServer::Utils.extract_identifiers(table_name)
72
+ view_info = select_one "SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = #{quote(identifier.object)}", 'SCHEMA'
73
+ if view_info
74
+ view_info = view_info.with_indifferent_access
75
+ if view_info[:VIEW_DEFINITION].blank? || view_info[:VIEW_DEFINITION].length == 4000
76
+ view_info[:VIEW_DEFINITION] = begin
77
+ select_values("EXEC sp_columns #{identifier.object_quoted}", 'SCHEMA').join
78
+ rescue
79
+ warn "No view definition found, possible permissions problem.\nPlease run GRANT VIEW DEFINITION TO your_user;"
80
+ nil
81
+ end
82
+ end
83
+ end
84
+ view_info
85
+ end
86
+ end
87
+ end
88
+ end
89
+ end
90
+ end
@@ -2,14 +2,23 @@ module SteemApi
2
2
  class Account < SteemApi::SqlBase
3
3
 
4
4
  self.table_name = :Accounts
5
-
5
+
6
+ has_many :follows, foreign_key: :follower, class_name: 'Follower', primary_key: :name
7
+ has_many :following, through: :follows, source: :following_account
8
+ has_many :inverse_follows, foreign_key: :following, class_name: 'Follower', primary_key: :name
9
+ has_many :followers, through: :inverse_follows, source: :follower_account
10
+
11
+ has_many :reblogs, foreign_key: :account, class_name: 'Reblog', primary_key: :name
12
+
13
+ belongs_to :witness, foreign_key: :name, primary_key: :name
14
+
6
15
  scope :before, lambda { |before, field = 'created'| where("#{field} < ?", before) }
7
16
  scope :after, lambda { |after, field = 'created'| where("#{field} > ?", after) }
8
17
  scope :today, -> { after(1.day.ago) }
9
18
  scope :yesterday, -> { before(1.day.ago).after(2.days.ago) }
10
19
 
11
20
  def witness?
12
- self.witness_votes != "[]"
21
+ !!witness
13
22
  end
14
23
 
15
24
  def proxied_vsf_votes_total
@@ -11,9 +11,6 @@ end
11
11
  #
12
12
  # SteemApi::Block(
13
13
  # block_num: integer,
14
- # previous: varchar,
15
14
  # timestamp: datetime,
16
- # witness: varchar,
17
- # witness_signature: varchar,
18
- # transaction_merkle_root: varchar
15
+ # witness: varchar
19
16
  # )
@@ -0,0 +1,45 @@
1
+ module SteemApi
2
+ class DynamicGlobalProperties < SteemApi::SqlBase
3
+
4
+ self.table_name = :DynamicGlobalProperties
5
+
6
+ end
7
+ end
8
+
9
+ # Structure
10
+ #
11
+ # SteemApi::DynamicGlobalProperties(
12
+ # ID: integer,
13
+ # head_block_number: integer,
14
+ # head_block_id: varchar,
15
+ # time: timestamp,
16
+ # current_witness: varchar,
17
+ # total_pow: integer,
18
+ # num_pow_witnesses: integer,
19
+ # virtual_supply: money,
20
+ # current_supply: money,
21
+ # confidential_supply: money,
22
+ # current_sbd_supply: money,
23
+ # confidential_sbd_supply: money,
24
+ # total_vesting_fund_steem: money,
25
+ # total_vesting_fund_steem_symbol: varchar,
26
+ # total_vesting_shares: money,
27
+ # total_vesting_shares_symbol: varchar,
28
+ # total_reward_fund_steem: money,
29
+ # total_reward_shares2: varchar,
30
+ # pending_rewarded_vesting_shares: varchar,
31
+ # pending_rewarded_vesting_steem: varchar,
32
+ # sbd_interest_rate: integer,
33
+ # sbd_print_rate: integer,
34
+ # average_block_size: integer,
35
+ # maximum_block_size: integer,
36
+ # current_aslot: integer,
37
+ # recent_slots_filled: varchar,
38
+ # participation_count: integer,
39
+ # last_irreversible_block_num: integer,
40
+ # max_virtual_bandwidth: varchar,
41
+ # vote_power_reserve_rate: integer,
42
+ # current_reserve_ratio: integer,
43
+ # vote_regeneration_per_day: integer,
44
+ # steem_per_vest: money
45
+ # )
@@ -0,0 +1,17 @@
1
+ module SteemApi
2
+ class Follower < SteemApi::SqlBase
3
+
4
+ self.table_name = :Followers
5
+
6
+ belongs_to :follower_account, foreign_key: :follower, class_name: 'Account', primary_key: :name
7
+ belongs_to :following_account, foreign_key: :following, class_name: 'Account', primary_key: :name
8
+
9
+ end
10
+ end
11
+
12
+ # Structure
13
+ #
14
+ # SteemApi::Follower(
15
+ # follower varchar,
16
+ # following varchar
17
+ # )
@@ -0,0 +1,20 @@
1
+ module SteemApi
2
+ class Reblog < SteemApi::SqlBase
3
+
4
+ self.table_name = :Reblogs
5
+
6
+ belongs_to :account, foreign_key: :account, class_name: 'Account', primary_key: :name
7
+ belongs_to :author_account, foreign_key: :author, class_name: 'Account', primary_key: :name
8
+
9
+ def comment; Comment::find_by(author: author, permlink: permlink); end
10
+ end
11
+ end
12
+
13
+ # Structure
14
+ #
15
+ # SteemApi::Follower(
16
+ # account varchar,
17
+ # author varchar,
18
+ # permlink varchar,
19
+ # timestamp: datetime
20
+ # )
@@ -0,0 +1,23 @@
1
+ module SteemApi
2
+ module Vo
3
+ class CommentBenefactorReward < SteemApi::SqlBase
4
+
5
+ self.table_name = :VOCommentBenefactorRewards
6
+
7
+ end
8
+ end
9
+ end
10
+
11
+ # Structure
12
+ #
13
+ # SteemApi::Vo::CurationReward(
14
+ # ID: integer,
15
+ # block_num: integer,
16
+ # timestamp: datetime,
17
+ # benefactor: varchar,
18
+ # author: varchar,
19
+ # permlink: varchar,
20
+ # sbd_payout: money
21
+ # steem_payout: money
22
+ # vesting_payout: decimal(18,6)
23
+ # )
@@ -2,7 +2,7 @@ module SteemApi
2
2
  module Vo
3
3
  class FillConvertRequest < SteemApi::SqlBase
4
4
 
5
- self.table_name = :VOFillConvertRequest
5
+ self.table_name = :VOFillConvertRequests
6
6
 
7
7
  end
8
8
  end
@@ -0,0 +1,23 @@
1
+ module SteemApi
2
+ module Vo
3
+ class FillTransferFromSavings < SteemApi::SqlBase
4
+
5
+ self.table_name = :VOFillTransferFromSavings
6
+
7
+ end
8
+ end
9
+ end
10
+
11
+ # Structure
12
+ #
13
+ # SteemApi::Vo::FillTransferFromSavings(
14
+ # ID: integer,
15
+ # block_num: integer,
16
+ # timestamp: datetime,
17
+ # from: varchar,
18
+ # to: varchar,
19
+ # amount: money,
20
+ # amount_symbol,
21
+ # requestid: bigint,
22
+ # memo: text
23
+ # )
@@ -0,0 +1,19 @@
1
+ module SteemApi
2
+ module Vo
3
+ class LiquidityReward < SteemApi::SqlBase
4
+
5
+ self.table_name = :VOLiquidityRewards
6
+
7
+ end
8
+ end
9
+ end
10
+
11
+ # Structure
12
+ #
13
+ # SteemApi::Vo::LiquidityReward(
14
+ # ID: integer,
15
+ # block_num: integer,
16
+ # timestamp: datetime,
17
+ # owner: varchar,
18
+ # payout: money
19
+ # )
@@ -0,0 +1,20 @@
1
+ module SteemApi
2
+ module Vo
3
+ class ReturnVestingDelegation < SteemApi::SqlBase
4
+
5
+ self.table_name = :VOReturnVestingDelegations
6
+
7
+ end
8
+ end
9
+ end
10
+
11
+ # Structure
12
+ #
13
+ # SteemApi::Vo::ReturnVestingDelegation(
14
+ # ID: integer,
15
+ # block_num: integer,
16
+ # timestamp: datetime,
17
+ # account: varchar,
18
+ # amount: money,
19
+ # amount_symbol
20
+ # )
@@ -0,0 +1,48 @@
1
+ module SteemApi
2
+ class Witness < SteemApi::SqlBase
3
+ DISABLED_SIGNING_KEY = 'STM1111111111111111111111111111111114T1Anm'
4
+
5
+ self.table_name = :Witnesses
6
+
7
+ belongs_to :account, foreign_key: :name, class_name: 'Account', primary_key: :name
8
+
9
+ scope :disabled, lambda { |options = {invert: false}|
10
+ if !!options[:invert]
11
+ where.not(signing_key: DISABLED_SIGNING_KEY)
12
+ else
13
+ where(signing_key: DISABLED_SIGNING_KEY)
14
+ end
15
+ }
16
+
17
+ scope :enabled, -> { disabled(invert: true) }
18
+
19
+ scope :by_ranked, lambda { |order = :desc| order(votes_count: order) }
20
+ scope :by_total_missed, lambda { |order = :desc| order(total_missed: order) }
21
+ end
22
+ end
23
+
24
+ # Structure
25
+ #
26
+ # SteemApi::Witness(
27
+ # name: varchar,
28
+ # votes_count: integer,
29
+ # created: timestamp,
30
+ # url: varchar,
31
+ # votes: integer,
32
+ # total_missed: integer,
33
+ # last_aslot: integer,
34
+ # last_confirmed_block_num: integer,
35
+ # signing_key: varchar,
36
+ # account_creation_fee: money,
37
+ # account_creation_fee_symbol: varchar,
38
+ # maximum_block_size: integer,
39
+ # sbd_interest_rate: integer,
40
+ # sbd_exchange_rate_base: money,
41
+ # sbd_exchange_rate_base_symbol: varchar,
42
+ # sbd_exchange_rate_quote: money,
43
+ # sbd_exchange_rate_quote_symbol: varchar,
44
+ # last_sbd_exchange_update: timestamp,
45
+ # running_version: varchar,
46
+ # hardfork_version_vote: varchar,
47
+ # hardfork_time_vote: timestamp
48
+ # )
@@ -1,3 +1,3 @@
1
1
  module SteemApi
2
- VERSION = '1.1.2pre1'
2
+ VERSION = '1.1.2pre2'
3
3
  end
data/steem_api.gemspec CHANGED
@@ -24,8 +24,7 @@ Gem::Specification.new do |spec|
24
24
  spec.add_runtime_dependency "nokogiri", ["~> 1.8"]
25
25
  spec.add_runtime_dependency "rest-client", ["~> 2.0"]
26
26
  spec.add_runtime_dependency "activerecord", [">= 4", "< 6"]
27
- spec.add_runtime_dependency "tiny_tds", ["~> 1.3"]
27
+ spec.add_runtime_dependency "tiny_tds", ["~> 2.1"]
28
28
  spec.add_runtime_dependency "activerecord-sqlserver-adapter", [">= 4", "< 6"]
29
29
  spec.add_runtime_dependency 'awesome_print', '~> 1.7', '>= 1.7.0'
30
-
31
30
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: steem_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2pre1
4
+ version: 1.1.2pre2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Chaney (netuoso)
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2018-05-25 00:00:00.000000000 Z
12
+ date: 2018-12-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri
@@ -65,14 +65,14 @@ dependencies:
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '1.3'
68
+ version: '2.1'
69
69
  type: :runtime
70
70
  prerelease: false
71
71
  version_requirements: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '1.3'
75
+ version: '2.1'
76
76
  - !ruby/object:Gem::Dependency
77
77
  name: activerecord-sqlserver-adapter
78
78
  requirement: !ruby/object:Gem::Requirement
@@ -125,7 +125,6 @@ files:
125
125
  - ".travis.yml"
126
126
  - CODE_OF_CONDUCT.md
127
127
  - Gemfile
128
- - Gemfile.lock
129
128
  - LICENSE.txt
130
129
  - README.md
131
130
  - Rakefile
@@ -135,6 +134,9 @@ files:
135
134
  - lib/steem_api/models/block.rb
136
135
  - lib/steem_api/models/comment.rb
137
136
  - lib/steem_api/models/connection.rb
137
+ - lib/steem_api/models/dynamic_global_properties.rb
138
+ - lib/steem_api/models/follower.rb
139
+ - lib/steem_api/models/reblog.rb
138
140
  - lib/steem_api/models/sql_base.rb
139
141
  - lib/steem_api/models/token.rb
140
142
  - lib/steem_api/models/transaction.rb
@@ -166,13 +168,18 @@ files:
166
168
  - lib/steem_api/models/tx/withdraw_vesting_route.rb
167
169
  - lib/steem_api/models/tx/witness_update.rb
168
170
  - lib/steem_api/models/vo/author_reward.rb
171
+ - lib/steem_api/models/vo/comment_benefactor_reward.rb
169
172
  - lib/steem_api/models/vo/curation_reward.rb
170
173
  - lib/steem_api/models/vo/fill_convert_request.rb
171
174
  - lib/steem_api/models/vo/fill_order.rb
175
+ - lib/steem_api/models/vo/fill_transfer_from_savings.rb
172
176
  - lib/steem_api/models/vo/fill_vesting_withdraw.rb
173
177
  - lib/steem_api/models/vo/interest.rb
178
+ - lib/steem_api/models/vo/liquidity_reward.rb
174
179
  - lib/steem_api/models/vo/producer_reward.rb
180
+ - lib/steem_api/models/vo/return_vesting_delegation.rb
175
181
  - lib/steem_api/models/vo/shutdown_witness.rb
182
+ - lib/steem_api/models/witness.rb
176
183
  - lib/steem_api/version.rb
177
184
  - steem_api.gemspec
178
185
  - steem_source_docs.md
@@ -196,7 +203,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
196
203
  version: 1.3.1
197
204
  requirements: []
198
205
  rubyforge_project:
199
- rubygems_version: 2.6.14
206
+ rubygems_version: 2.7.7
200
207
  signing_key:
201
208
  specification_version: 4
202
209
  summary: Ruby/Rails wrapper for SteemSQL.com
data/Gemfile.lock DELETED
@@ -1,66 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- steem_api (1.1.2rc1)
5
- activerecord (>= 4, < 6)
6
- activerecord-sqlserver-adapter (>= 4, < 6)
7
- awesome_print (~> 1.7, >= 1.7.0)
8
- nokogiri (~> 1.8)
9
- rest-client (~> 2.0)
10
- tiny_tds (~> 1.3)
11
-
12
- GEM
13
- remote: https://rubygems.org/
14
- specs:
15
- activemodel (5.1.6)
16
- activesupport (= 5.1.6)
17
- activerecord (5.1.6)
18
- activemodel (= 5.1.6)
19
- activesupport (= 5.1.6)
20
- arel (~> 8.0)
21
- activerecord-sqlserver-adapter (5.1.6)
22
- activerecord (~> 5.1.0)
23
- tiny_tds
24
- activesupport (5.1.6)
25
- concurrent-ruby (~> 1.0, >= 1.0.2)
26
- i18n (>= 0.7, < 2)
27
- minitest (~> 5.1)
28
- tzinfo (~> 1.1)
29
- arel (8.0.0)
30
- awesome_print (1.8.0)
31
- concurrent-ruby (1.0.5)
32
- domain_name (0.5.20180417)
33
- unf (>= 0.0.5, < 1.0.0)
34
- http-cookie (1.0.3)
35
- domain_name (~> 0.5)
36
- i18n (1.0.1)
37
- concurrent-ruby (~> 1.0)
38
- mime-types (3.1)
39
- mime-types-data (~> 3.2015)
40
- mime-types-data (3.2016.0521)
41
- mini_portile2 (2.3.0)
42
- minitest (5.11.3)
43
- netrc (0.11.0)
44
- nokogiri (1.8.2)
45
- mini_portile2 (~> 2.3.0)
46
- rest-client (2.0.2)
47
- http-cookie (>= 1.0.2, < 2.0)
48
- mime-types (>= 1.16, < 4.0)
49
- netrc (~> 0.8)
50
- thread_safe (0.3.6)
51
- tiny_tds (1.3.0)
52
- mini_portile2 (~> 2.0)
53
- tzinfo (1.2.5)
54
- thread_safe (~> 0.1)
55
- unf (0.1.4)
56
- unf_ext
57
- unf_ext (0.0.7.5)
58
-
59
- PLATFORMS
60
- ruby
61
-
62
- DEPENDENCIES
63
- steem_api!
64
-
65
- BUNDLED WITH
66
- 1.16.1