module Rows::Resources

Public Instance Methods

resource() click to toggle source
# File lib/rows/resources.rb, line 4
def resource
  @_resource || set_resource
end
resources() click to toggle source
# File lib/rows/resources.rb, line 8
def resources
  @_resources || set_resources
end
set_resource(row = nil) click to toggle source
# File lib/rows/resources.rb, line 12
def set_resource(row = nil)
  row ||= model_class.find_by_id(params[:id].to_i)
  instance_variable_set(:"@#{model_symbol}", row)
  @_resource = row
  @row = row
end
set_resources(rows = nil) click to toggle source
# File lib/rows/resources.rb, line 19
def set_resources(rows = nil)
  rows ||= model_class.all
  instance_variable_set(:"@#{model_symbol_plural}", rows)
  @_resources = rows
  @rows = rows
end

Private Instance Methods

resource_columns() click to toggle source
# File lib/rows/resources.rb, line 28
def resource_columns
  return model_class.column_headers if model_class.respond_to?(:column_headers)
  return ["to_s"] unless model_class.respond_to?(:content_columns)

  ["id"] + model_class.content_columns.collect(&:name)
end
resource_params() click to toggle source

Never trust parameters from the scary internet, only allow the white list through.

# File lib/rows/resources.rb, line 41
def resource_params
  permits = resource_whitelist
  params.require(model_symbol).permit(permits)
end
resource_whitelist() click to toggle source
# File lib/rows/resources.rb, line 35
def resource_whitelist
  raise "TurbocController requires private method 'resource_whitelist' in controller <#{params[:controller]}>"
end