Class: SimpleRecord::Activerecordtosdb_subrecord_array

Inherits:
Object
  • Object
show all
Defined in:
lib/simple_record.rb

Instance Method Summary collapse

Constructor Details

#initialize(subname, referencename, referencevalue) ⇒ Activerecordtosdb_subrecord_array

Returns a new instance of Activerecordtosdb_subrecord_array.



1112
1113
1114
1115
1116
# File 'lib/simple_record.rb', line 1112

def initialize(subname, referencename, referencevalue)
  @subname       =subname.classify
  @referencename =referencename.tableize.singularize + "_id"
  @referencevalue=referencevalue
end

Instance Method Details

#<<(ob) ⇒ Object



1139
1140
1141
# File 'lib/simple_record.rb', line 1139

def <<(ob)
  return load << ob
end

#[](key) ⇒ Object



1131
1132
1133
# File 'lib/simple_record.rb', line 1131

def [](key)
  return load[key]
end

#build(*params) ⇒ Object



1163
1164
1165
1166
# File 'lib/simple_record.rb', line 1163

def build(*params)
  params[0][@referencename]=@referencevalue
  eval(@subname).new(*params)
end

#countObject



1143
1144
1145
# File 'lib/simple_record.rb', line 1143

def count
  return load.count
end

#create(*params) ⇒ Object



1168
1169
1170
1171
1172
# File 'lib/simple_record.rb', line 1168

def create(*params)
  params[0][@referencename]=@referencevalue
  record                   = eval(@subname).new(*params)
  record.save
end

#each(*params, &block) ⇒ Object



1151
1152
1153
# File 'lib/simple_record.rb', line 1151

def each(*params, &block)
  return load.each(*params) { |record| block.call(record) }
end

#empty?Boolean

Returns:

  • (Boolean)


1159
1160
1161
# File 'lib/simple_record.rb', line 1159

def empty?
  return load.empty?
end

#find(*params) ⇒ Object



1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
# File 'lib/simple_record.rb', line 1174

def find(*params)
  query=[:first, {}]
  #{:conditions=>"id=>1"}
  if params[0]
    if params[0]==:all
      query[0]=:all
    end
  end

  if params[1]
    query[1]=params[1]
    if query[1][:conditions]
      query[1][:conditions]=SimpleRecord::Base.sanitize_sql(query[1][:conditions])+" AND "+ SimpleRecord::Base.sanitize_sql(["#{@referencename} = ?", @referencevalue])
      #query[1][:conditions]=Activerecordtosdb.sanitize_sql(query[1][:conditions])+" AND id='#{@id}'"
    else
      query[1][:conditions]=["#{@referencename} = ?", @referencevalue]
      #query[1][:conditions]="id='#{@id}'"
    end
  else
    query[1][:conditions]=["#{@referencename} = ?", @referencevalue]
    #query[1][:conditions]="id='#{@id}'"
  end

  return eval(@subname).find(*query)
end

#find_all(*params) ⇒ Object



1155
1156
1157
# File 'lib/simple_record.rb', line 1155

def find_all(*params)
  find(:all, *params)
end

#firstObject



1135
1136
1137
# File 'lib/simple_record.rb', line 1135

def first
  load[0]
end

#init_emptyObject

Performance optimization if you know the array should be empty



1120
1121
1122
# File 'lib/simple_record.rb', line 1120

def init_empty
  @records = []
end

#loadObject



1124
1125
1126
1127
1128
1129
# File 'lib/simple_record.rb', line 1124

def load
  if @records.nil?
    @records = find_all
  end
  return @records
end

#sizeObject



1147
1148
1149
# File 'lib/simple_record.rb', line 1147

def size
  return count
end