Module: BTech::Rest::Actions

Included in:
BTech::Rest
Defined in:
lib/actions.rb

Instance Method Summary collapse

Instance Method Details

#createObject

Default create action. Feel free to override.



39
40
41
42
43
44
45
46
# File 'lib/actions.rb', line 39

def create
  build_resources
  if get_record.update_attributes params[get_model_symbol]
    redirect_to build_resource_url(@resources)
  else
    render_new_or_edit
  end
end

#destroyObject

Default destroy action. Feel free to override.



59
60
61
62
63
64
# File 'lib/actions.rb', line 59

def destroy
  build_resources
  get_record.destroy
  @resources.last.delete :record
  redirect_to build_resource_url(@resources)
end

#editObject

Default edit action. Feel free to override.



33
34
35
36
# File 'lib/actions.rb', line 33

def edit
  build_resources
  render_new_or_edit
end

#indexObject

Default index action. Feel free to override.



5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/actions.rb', line 5

def index
  build_resources
  if @resources.size > 1
    # Records for a nested resource (act on the second-to-last parent).
    parent = @resources[@resources.size - 2][:record]
records_name = parent.class.name.underscore.pluralize
records = parent.instance_eval("#{@resources.last[:parent_resource_method] || @resources.last[:name]}").paginate :page => params[:page], :per_page => 10
  else
    # Records for single resource.
records_name = get_model_name.pluralize
records = @resources.last[:model].all.paginate(:page => params[:page], :per_page => 10)
  end
				instance_variable_set "@#{records_name}", records
end

#newObject

Default new action. Feel free to override.



27
28
29
30
# File 'lib/actions.rb', line 27

def new
  build_resources
  render_new_or_edit
end

#showObject

Default show action. Feel free to override.



21
22
23
24
# File 'lib/actions.rb', line 21

def show
  build_resources
  render :partial => @resources.last[:show_partial], :layout => true, :locals => {get_model_symbol => get_record, :resources => @resources}
end

#updateObject

Default update action. Feel free to override.



49
50
51
52
53
54
55
56
# File 'lib/actions.rb', line 49

def update
  build_resources
  if get_record.update_attributes params[get_model_symbol]
    redirect_to build_resource_url(@resources)
  else
    render_new_or_edit
  end  
end