Module: FreshConnection::Extend::ArRelation

Defined in:
lib/fresh_connection/extend/ar_relation.rb

Instance Method Summary collapse

Instance Method Details

#calculateObject



6
7
8
# File 'lib/fresh_connection/extend/ar_relation.rb', line 6

def calculate(*)
  manage_access { super }
end

#exists?Boolean

Returns:

  • (Boolean)


10
11
12
# File 'lib/fresh_connection/extend/ar_relation.rb', line 10

def exists?(*)
  manage_access { super }
end

#manage_access(replica_access: enable_replica_access, &block) ⇒ Object



36
37
38
39
40
41
42
# File 'lib/fresh_connection/extend/ar_relation.rb', line 36

def manage_access(replica_access: enable_replica_access, &block)
  FreshConnection::AccessControl.manage_access(
    model: @klass,
    replica_access: replica_access,
    &block
  )
end

#pluckObject



14
15
16
# File 'lib/fresh_connection/extend/ar_relation.rb', line 14

def pluck(*)
  manage_access { super }
end

#read_masterObject



18
19
20
# File 'lib/fresh_connection/extend/ar_relation.rb', line 18

def read_master
  spawn.read_master!
end

#read_master!Object



22
23
24
25
# File 'lib/fresh_connection/extend/ar_relation.rb', line 22

def read_master!
  self.read_master_value = true
  self
end

#read_master_valueObject



27
28
29
# File 'lib/fresh_connection/extend/ar_relation.rb', line 27

def read_master_value
  @values[:read_master]
end

#read_master_value=(value) ⇒ Object

Raises:

  • (ImmutableRelation)


31
32
33
34
# File 'lib/fresh_connection/extend/ar_relation.rb', line 31

def read_master_value=(value)
  raise ImmutableRelation if @loaded
  @values[:read_master] = value
end