Class: ActiveRecord::Base
- Inherits:
-
Object
- Object
- ActiveRecord::Base
show all
- Defined in:
- lib/activerecord/utils/alias.rb,
lib/activerecord/utils/comp3.rb,
lib/activerecord/utils/random.rb
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.alias_attr(new, old) ⇒ Object
35
36
37
38
|
# File 'lib/activerecord/utils/alias.rb', line 35
def self.alias_attr( new, old )
alias_attr_reader( new, old )
alias_attr_writer( new, old )
end
|
.alias_attr_reader(new, old) ⇒ Object
todo: add opts={} e.g. lets us add, for example, depreciated: true ??
- will issue a warning
20
21
22
23
24
25
26
27
|
# File 'lib/activerecord/utils/alias.rb', line 20
def self.alias_attr_reader( new, old )
define_method( new ) do
send( old )
end
end
|
.alias_attr_writer(new, old) ⇒ Object
29
30
31
32
33
|
# File 'lib/activerecord/utils/alias.rb', line 29
def self.alias_attr_writer( new, old )
define_method( "#{new}=" ) do |value|
send( "#{old}=", value )
end
end
|
.attr_reader_w_fallbacks(*keys) ⇒ Object
54
55
56
57
58
|
# File 'lib/activerecord/utils/alias.rb', line 54
def self.attr_reader_w_fallbacks( *keys )
define_method( keys[0] ) do
read_attribute_w_fallbacks( keys )
end
end
|
.find_by(hash) ⇒ Object
lets us use ActiveRecord 4-style find_by and find_by! in ActiveRecord 3.x
12
13
14
|
# File 'lib/activerecord/utils/comp3.rb', line 12
def self.find_by( hash )
self.where( hash ).first
end
|
.find_by!(hash) ⇒ Object
16
17
18
|
# File 'lib/activerecord/utils/comp3.rb', line 16
def self.find_by!( hash )
self.where( hash ).first!
end
|
.rnd ⇒ Object
random
e.g. use like:
beer_of_the_week = Beer.rnd
14
15
16
17
18
19
20
21
22
23
|
# File 'lib/activerecord/utils/random.rb', line 14
def self.rnd
rnd_offset = rand( self.count )
self.offset( rnd_offset ).limit( 1 ).first
end
|
Instance Method Details
#read_attribute_w_fallbacks(*keys) ⇒ Object
60
61
62
63
64
65
66
67
68
69
70
|
# File 'lib/activerecord/utils/alias.rb', line 60
def read_attribute_w_fallbacks( *keys )
value = nil
keys.each do |key|
value = read_attribute( key )
break unless value.nil?
end
value
end
|