class Hive::Base

Abstract calss for all {Hive} active record classes.

Public Class Methods

delete(_=nil) click to toggle source

Disabled

# File lib/hive/models/base.rb, line 50
def self.delete(_=nil); raise ActiveRecord::ReadOnlyRecord; end
delete_all(_=nil) click to toggle source

Disabled

# File lib/hive/models/base.rb, line 53
def self.delete_all(_=nil); raise ActiveRecord::ReadOnlyRecord; end
transform_account_selector(account) click to toggle source

Uses ducktyping to query on account so that you can pass any type and still get a valid match.

So you can do:

Hive::Post.where(author: 'alice')
Hive::Post.where(author: %w(alice bob))
Hive::Post.where(author: Hive::Account.find_by_name('alice'))
Hive::Post.where(author: Hive::Account.where('name LIKE ?', '%z%'))

@param account {String|<String>|Account|ActiveRecord::Relation} the

account(s) to match on
# File lib/hive/models/base.rb, line 76
def self.transform_account_selector(account)
  case account
  when String then account
  when Array then account
  when Account then account.name
  else
    unless account.is_a? ActiveRecord::Relation
      raise "Don't know what to do with: #{account.class}"
    end
    
    account.select(:name)
  end
end
update_all(_=nil) click to toggle source

Disabled

# File lib/hive/models/base.rb, line 56
def self.update_all(_=nil); raise ActiveRecord::ReadOnlyRecord; end

Public Instance Methods

delete(_=nil) click to toggle source

Disabled

# File lib/hive/models/base.rb, line 59
def delete(_=nil); raise ActiveRecord::ReadOnlyRecord; end
update(*_) click to toggle source

Disabled

# File lib/hive/models/base.rb, line 62
def update(*_); raise ActiveRecord::ReadOnlyRecord; end