Class: Calagator::VenuesController

Inherits:
ApplicationController show all
Includes:
DuplicateChecking::ControllerActions
Defined in:
app/controllers/calagator/venues_controller.rb

Defined Under Namespace

Classes: CreateOrUpdate, Destroy, Show

Instance Method Summary collapse

Methods included from DuplicateChecking::ControllerActions

#duplicates, #squash_many_duplicates

Instance Method Details

#autocompleteObject

GET /autocomplete via AJAX



38
39
40
41
42
43
44
45
46
# File 'app/controllers/calagator/venues_controller.rb', line 38

def autocomplete
  @venues = Venue
    .non_duplicates
    .in_business
    .where(["LOWER(title) LIKE ?", "%#{params[:term]}%".downcase])
    .order('LOWER(title)')

  render json: @venues
end

#createObject Also known as: update

POST /venues, # PUT /venues/1



106
107
108
# File 'app/controllers/calagator/venues_controller.rb', line 106

def create
  CreateOrUpdate.new(self).call
end

#destroyObject

DELETE /venues/1



149
150
151
# File 'app/controllers/calagator/venues_controller.rb', line 149

def destroy
  Destroy.new(self).call
end

#editObject

GET /venues/1/edit



100
101
102
# File 'app/controllers/calagator/venues_controller.rb', line 100

def edit
  venue
end

#indexObject

GET /venues



16
17
18
19
20
21
22
23
# File 'app/controllers/calagator/venues_controller.rb', line 16

def index
  @search = Venue::Search.new(params.permit!)
  @venues = @search.venues

  flash[:failure] = @search.failure_message
  return redirect_to venues_path if @search.hard_failure?
  render_venues @venues
end

#mapObject

GET /venues/map



50
51
52
# File 'app/controllers/calagator/venues_controller.rb', line 50

def map
  @venues = Venue.non_duplicates.in_business
end

#newObject

GET /venues/new



93
94
95
96
# File 'app/controllers/calagator/venues_controller.rb', line 93

def new
  venue
  render layout: params[:layout] != "false"
end

#showObject

GET /venues/1



56
57
58
# File 'app/controllers/calagator/venues_controller.rb', line 56

def show
  Show.new(self).call
end

#venueObject



10
11
12
# File 'app/controllers/calagator/venues_controller.rb', line 10

def venue
  @venue ||= params[:id] ? Venue.find(params[:id]) : Venue.new
end