autocomplete_zipcode 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +9 -0
- data/.rspec +2 -0
- data/.travis.yml +3 -0
- data/Gemfile +4 -0
- data/README.md +0 -0
- data/Rakefile +2 -0
- data/autocomplete_zipcode.gemspec +22 -0
- data/bin/console +14 -0
- data/bin/setup +7 -0
- data/example/.gitignore +21 -0
- data/example/Gemfile +55 -0
- data/example/Gemfile.lock +184 -0
- data/example/README.md +24 -0
- data/example/Rakefile +6 -0
- data/example/app/assets/config/manifest.js +3 -0
- data/example/app/assets/images/.keep +0 -0
- data/example/app/assets/javascripts/addresses.coffee +3 -0
- data/example/app/assets/javascripts/application.js +17 -0
- data/example/app/assets/javascripts/cable.js +13 -0
- data/example/app/assets/javascripts/channels/.keep +0 -0
- data/example/app/assets/stylesheets/addresses.scss +3 -0
- data/example/app/assets/stylesheets/application.css +15 -0
- data/example/app/assets/stylesheets/scaffolds.scss +89 -0
- data/example/app/channels/application_cable/channel.rb +4 -0
- data/example/app/channels/application_cable/connection.rb +4 -0
- data/example/app/controllers/addresses_controller.rb +74 -0
- data/example/app/controllers/application_controller.rb +3 -0
- data/example/app/controllers/concerns/.keep +0 -0
- data/example/app/helpers/addresses_helper.rb +2 -0
- data/example/app/helpers/application_helper.rb +2 -0
- data/example/app/jobs/application_job.rb +2 -0
- data/example/app/mailers/application_mailer.rb +4 -0
- data/example/app/models/address.rb +2 -0
- data/example/app/models/application_record.rb +3 -0
- data/example/app/models/concerns/.keep +0 -0
- data/example/app/views/addresses/_address.json.jbuilder +2 -0
- data/example/app/views/addresses/_form.html.erb +17 -0
- data/example/app/views/addresses/edit.html.erb +6 -0
- data/example/app/views/addresses/index.html.erb +33 -0
- data/example/app/views/addresses/index.json.jbuilder +1 -0
- data/example/app/views/addresses/new.html.erb +5 -0
- data/example/app/views/addresses/show.html.erb +24 -0
- data/example/app/views/addresses/show.json.jbuilder +1 -0
- data/example/app/views/layouts/application.html.erb +14 -0
- data/example/app/views/layouts/mailer.html.erb +13 -0
- data/example/app/views/layouts/mailer.text.erb +1 -0
- data/example/bin/bundle +3 -0
- data/example/bin/rails +9 -0
- data/example/bin/rake +9 -0
- data/example/bin/setup +34 -0
- data/example/bin/spring +17 -0
- data/example/bin/update +29 -0
- data/example/config.ru +5 -0
- data/example/config/application.rb +15 -0
- data/example/config/boot.rb +3 -0
- data/example/config/cable.yml +9 -0
- data/example/config/database.yml +25 -0
- data/example/config/environment.rb +5 -0
- data/example/config/environments/development.rb +54 -0
- data/example/config/environments/production.rb +86 -0
- data/example/config/environments/test.rb +42 -0
- data/example/config/initializers/application_controller_renderer.rb +6 -0
- data/example/config/initializers/assets.rb +11 -0
- data/example/config/initializers/backtrace_silencers.rb +7 -0
- data/example/config/initializers/cookies_serializer.rb +5 -0
- data/example/config/initializers/filter_parameter_logging.rb +4 -0
- data/example/config/initializers/inflections.rb +16 -0
- data/example/config/initializers/mime_types.rb +4 -0
- data/example/config/initializers/new_framework_defaults.rb +24 -0
- data/example/config/initializers/session_store.rb +3 -0
- data/example/config/initializers/simple_form.rb +169 -0
- data/example/config/initializers/wrap_parameters.rb +14 -0
- data/example/config/locales/en.yml +23 -0
- data/example/config/locales/simple_form.en.yml +31 -0
- data/example/config/puma.rb +47 -0
- data/example/config/routes.rb +4 -0
- data/example/config/secrets.yml +22 -0
- data/example/config/spring.rb +6 -0
- data/example/db/migrate/20170425234824_create_addresses.rb +13 -0
- data/example/db/schema.rb +25 -0
- data/example/db/seeds.rb +7 -0
- data/example/lib/assets/.keep +0 -0
- data/example/lib/tasks/.keep +0 -0
- data/example/lib/templates/erb/scaffold/_form.html.erb +13 -0
- data/example/log/.keep +0 -0
- data/example/public/404.html +67 -0
- data/example/public/422.html +67 -0
- data/example/public/500.html +66 -0
- data/example/public/apple-touch-icon-precomposed.png +0 -0
- data/example/public/apple-touch-icon.png +0 -0
- data/example/public/favicon.ico +0 -0
- data/example/public/robots.txt +5 -0
- data/example/test/controllers/.keep +0 -0
- data/example/test/controllers/addresses_controller_test.rb +48 -0
- data/example/test/fixtures/.keep +0 -0
- data/example/test/fixtures/addresses.yml +13 -0
- data/example/test/fixtures/files/.keep +0 -0
- data/example/test/helpers/.keep +0 -0
- data/example/test/integration/.keep +0 -0
- data/example/test/mailers/.keep +0 -0
- data/example/test/models/.keep +0 -0
- data/example/test/models/address_test.rb +7 -0
- data/example/test/test_helper.rb +10 -0
- data/example/tmp/.keep +0 -0
- data/example/vendor/assets/javascripts/.keep +0 -0
- data/example/vendor/assets/stylesheets/.keep +0 -0
- data/lib/autocomplete_zipcode.rb +9 -0
- data/lib/autocomplete_zipcode/simple_form/city_input.rb +7 -0
- data/lib/autocomplete_zipcode/simple_form/neighborhood_input.rb +7 -0
- data/lib/autocomplete_zipcode/simple_form/state_input.rb +7 -0
- data/lib/autocomplete_zipcode/simple_form/street_input.rb +7 -0
- data/lib/autocomplete_zipcode/simple_form/zipcode_input.rb +7 -0
- data/lib/autocomplete_zipcode/version.rb +3 -0
- data/vendor/assets/javascripts/.keep +0 -0
- data/vendor/assets/javascripts/autocomplete_zipcode.js +24 -0
- metadata +186 -0
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
body {
|
|
2
|
+
background-color: #fff;
|
|
3
|
+
color: #333;
|
|
4
|
+
font-family: verdana, arial, helvetica, sans-serif;
|
|
5
|
+
font-size: 13px;
|
|
6
|
+
line-height: 18px;
|
|
7
|
+
margin: 33px;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
p, ol, ul, td {
|
|
11
|
+
font-family: verdana, arial, helvetica, sans-serif;
|
|
12
|
+
font-size: 13px;
|
|
13
|
+
line-height: 18px;
|
|
14
|
+
margin: 33px;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
pre {
|
|
18
|
+
background-color: #eee;
|
|
19
|
+
padding: 10px;
|
|
20
|
+
font-size: 11px;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
a {
|
|
24
|
+
color: #000;
|
|
25
|
+
|
|
26
|
+
&:visited {
|
|
27
|
+
color: #666;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
&:hover {
|
|
31
|
+
color: #fff;
|
|
32
|
+
background-color: #000;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
th {
|
|
37
|
+
padding-bottom: 5px;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
td {
|
|
41
|
+
padding-bottom: 7px;
|
|
42
|
+
padding-left: 5px;
|
|
43
|
+
padding-right: 5px;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
div {
|
|
47
|
+
&.field, &.actions {
|
|
48
|
+
margin-bottom: 10px;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
#notice {
|
|
53
|
+
color: green;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.field_with_errors {
|
|
57
|
+
padding: 2px;
|
|
58
|
+
background-color: red;
|
|
59
|
+
display: table;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
#error_explanation {
|
|
63
|
+
width: 450px;
|
|
64
|
+
border: 2px solid red;
|
|
65
|
+
padding: 7px;
|
|
66
|
+
padding-bottom: 0;
|
|
67
|
+
margin-bottom: 20px;
|
|
68
|
+
background-color: #f0f0f0;
|
|
69
|
+
|
|
70
|
+
h2 {
|
|
71
|
+
text-align: left;
|
|
72
|
+
font-weight: bold;
|
|
73
|
+
padding: 5px 5px 5px 15px;
|
|
74
|
+
font-size: 12px;
|
|
75
|
+
margin: -7px;
|
|
76
|
+
margin-bottom: 0;
|
|
77
|
+
background-color: #c00;
|
|
78
|
+
color: #fff;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
ul li {
|
|
82
|
+
font-size: 12px;
|
|
83
|
+
list-style: square;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
label {
|
|
88
|
+
display: block;
|
|
89
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
class AddressesController < ApplicationController
|
|
2
|
+
before_action :set_address, only: [:show, :edit, :update, :destroy]
|
|
3
|
+
|
|
4
|
+
# GET /addresses
|
|
5
|
+
# GET /addresses.json
|
|
6
|
+
def index
|
|
7
|
+
@addresses = Address.all
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
# GET /addresses/1
|
|
11
|
+
# GET /addresses/1.json
|
|
12
|
+
def show
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# GET /addresses/new
|
|
16
|
+
def new
|
|
17
|
+
@address = Address.new
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# GET /addresses/1/edit
|
|
21
|
+
def edit
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# POST /addresses
|
|
25
|
+
# POST /addresses.json
|
|
26
|
+
def create
|
|
27
|
+
@address = Address.new(address_params)
|
|
28
|
+
|
|
29
|
+
respond_to do |format|
|
|
30
|
+
if @address.save
|
|
31
|
+
format.html { redirect_to @address, notice: 'Address was successfully created.' }
|
|
32
|
+
format.json { render :show, status: :created, location: @address }
|
|
33
|
+
else
|
|
34
|
+
format.html { render :new }
|
|
35
|
+
format.json { render json: @address.errors, status: :unprocessable_entity }
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# PATCH/PUT /addresses/1
|
|
41
|
+
# PATCH/PUT /addresses/1.json
|
|
42
|
+
def update
|
|
43
|
+
respond_to do |format|
|
|
44
|
+
if @address.update(address_params)
|
|
45
|
+
format.html { redirect_to @address, notice: 'Address was successfully updated.' }
|
|
46
|
+
format.json { render :show, status: :ok, location: @address }
|
|
47
|
+
else
|
|
48
|
+
format.html { render :edit }
|
|
49
|
+
format.json { render json: @address.errors, status: :unprocessable_entity }
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
# DELETE /addresses/1
|
|
55
|
+
# DELETE /addresses/1.json
|
|
56
|
+
def destroy
|
|
57
|
+
@address.destroy
|
|
58
|
+
respond_to do |format|
|
|
59
|
+
format.html { redirect_to addresses_url, notice: 'Address was successfully destroyed.' }
|
|
60
|
+
format.json { head :no_content }
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
private
|
|
65
|
+
# Use callbacks to share common setup or constraints between actions.
|
|
66
|
+
def set_address
|
|
67
|
+
@address = Address.find(params[:id])
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
# Never trust parameters from the scary internet, only allow the white list through.
|
|
71
|
+
def address_params
|
|
72
|
+
params.require(:address).permit(:zipcode, :neighborhood, :city, :state)
|
|
73
|
+
end
|
|
74
|
+
end
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<h2>Simple Form</h2>
|
|
2
|
+
|
|
3
|
+
<%= simple_form_for(@address) do |f| %>
|
|
4
|
+
<%= f.error_notification %>
|
|
5
|
+
|
|
6
|
+
<div class="form-inputs">
|
|
7
|
+
<%= f.input :zipcode, as: :zipcode %>
|
|
8
|
+
<%= f.input :street, as: :street %>
|
|
9
|
+
<%= f.input :neighborhood, as: :neighborhood %>
|
|
10
|
+
<%= f.input :city, as: :city %>
|
|
11
|
+
<%= f.input :state, as: :state %>
|
|
12
|
+
</div>
|
|
13
|
+
|
|
14
|
+
<div class="form-actions">
|
|
15
|
+
<%= f.button :submit %>
|
|
16
|
+
</div>
|
|
17
|
+
<% end %>
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<p id="notice"><%= notice %></p>
|
|
2
|
+
|
|
3
|
+
<h1>Addresses</h1>
|
|
4
|
+
|
|
5
|
+
<table>
|
|
6
|
+
<thead>
|
|
7
|
+
<tr>
|
|
8
|
+
<th>Zipcode</th>
|
|
9
|
+
<th>Neighborhood</th>
|
|
10
|
+
<th>City</th>
|
|
11
|
+
<th>State</th>
|
|
12
|
+
<th colspan="3"></th>
|
|
13
|
+
</tr>
|
|
14
|
+
</thead>
|
|
15
|
+
|
|
16
|
+
<tbody>
|
|
17
|
+
<% @addresses.each do |address| %>
|
|
18
|
+
<tr>
|
|
19
|
+
<td><%= address.zipcode %></td>
|
|
20
|
+
<td><%= address.neighborhood %></td>
|
|
21
|
+
<td><%= address.city %></td>
|
|
22
|
+
<td><%= address.state %></td>
|
|
23
|
+
<td><%= link_to 'Show', address %></td>
|
|
24
|
+
<td><%= link_to 'Edit', edit_address_path(address) %></td>
|
|
25
|
+
<td><%= link_to 'Destroy', address, method: :delete, data: { confirm: 'Are you sure?' } %></td>
|
|
26
|
+
</tr>
|
|
27
|
+
<% end %>
|
|
28
|
+
</tbody>
|
|
29
|
+
</table>
|
|
30
|
+
|
|
31
|
+
<br>
|
|
32
|
+
|
|
33
|
+
<%= link_to 'New Address', new_address_path %>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
json.array! @addresses, partial: 'addresses/address', as: :address
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<p id="notice"><%= notice %></p>
|
|
2
|
+
|
|
3
|
+
<p>
|
|
4
|
+
<strong>Zipcode:</strong>
|
|
5
|
+
<%= @address.zipcode %>
|
|
6
|
+
</p>
|
|
7
|
+
|
|
8
|
+
<p>
|
|
9
|
+
<strong>Neighborhood:</strong>
|
|
10
|
+
<%= @address.neighborhood %>
|
|
11
|
+
</p>
|
|
12
|
+
|
|
13
|
+
<p>
|
|
14
|
+
<strong>City:</strong>
|
|
15
|
+
<%= @address.city %>
|
|
16
|
+
</p>
|
|
17
|
+
|
|
18
|
+
<p>
|
|
19
|
+
<strong>State:</strong>
|
|
20
|
+
<%= @address.state %>
|
|
21
|
+
</p>
|
|
22
|
+
|
|
23
|
+
<%= link_to 'Edit', edit_address_path(@address) %> |
|
|
24
|
+
<%= link_to 'Back', addresses_path %>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
json.partial! "addresses/address", address: @address
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<title>Example</title>
|
|
5
|
+
<%= csrf_meta_tags %>
|
|
6
|
+
|
|
7
|
+
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
|
|
8
|
+
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
|
|
9
|
+
</head>
|
|
10
|
+
|
|
11
|
+
<body>
|
|
12
|
+
<%= yield %>
|
|
13
|
+
</body>
|
|
14
|
+
</html>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<%= yield %>
|
data/example/bin/bundle
ADDED
data/example/bin/rails
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
begin
|
|
3
|
+
load File.expand_path('../spring', __FILE__)
|
|
4
|
+
rescue LoadError => e
|
|
5
|
+
raise unless e.message.include?('spring')
|
|
6
|
+
end
|
|
7
|
+
APP_PATH = File.expand_path('../config/application', __dir__)
|
|
8
|
+
require_relative '../config/boot'
|
|
9
|
+
require 'rails/commands'
|
data/example/bin/rake
ADDED
data/example/bin/setup
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
require 'pathname'
|
|
3
|
+
require 'fileutils'
|
|
4
|
+
include FileUtils
|
|
5
|
+
|
|
6
|
+
# path to your application root.
|
|
7
|
+
APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
|
|
8
|
+
|
|
9
|
+
def system!(*args)
|
|
10
|
+
system(*args) || abort("\n== Command #{args} failed ==")
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
chdir APP_ROOT do
|
|
14
|
+
# This script is a starting point to setup your application.
|
|
15
|
+
# Add necessary setup steps to this file.
|
|
16
|
+
|
|
17
|
+
puts '== Installing dependencies =='
|
|
18
|
+
system! 'gem install bundler --conservative'
|
|
19
|
+
system('bundle check') || system!('bundle install')
|
|
20
|
+
|
|
21
|
+
# puts "\n== Copying sample files =="
|
|
22
|
+
# unless File.exist?('config/database.yml')
|
|
23
|
+
# cp 'config/database.yml.sample', 'config/database.yml'
|
|
24
|
+
# end
|
|
25
|
+
|
|
26
|
+
puts "\n== Preparing database =="
|
|
27
|
+
system! 'bin/rails db:setup'
|
|
28
|
+
|
|
29
|
+
puts "\n== Removing old logs and tempfiles =="
|
|
30
|
+
system! 'bin/rails log:clear tmp:clear'
|
|
31
|
+
|
|
32
|
+
puts "\n== Restarting application server =="
|
|
33
|
+
system! 'bin/rails restart'
|
|
34
|
+
end
|
data/example/bin/spring
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
|
|
3
|
+
# This file loads spring without using Bundler, in order to be fast.
|
|
4
|
+
# It gets overwritten when you run the `spring binstub` command.
|
|
5
|
+
|
|
6
|
+
unless defined?(Spring)
|
|
7
|
+
require 'rubygems'
|
|
8
|
+
require 'bundler'
|
|
9
|
+
|
|
10
|
+
lockfile = Bundler::LockfileParser.new(Bundler.default_lockfile.read)
|
|
11
|
+
spring = lockfile.specs.detect { |spec| spec.name == "spring" }
|
|
12
|
+
if spring
|
|
13
|
+
Gem.use_paths Gem.dir, Bundler.bundle_path.to_s, *Gem.path
|
|
14
|
+
gem 'spring', spring.version
|
|
15
|
+
require 'spring/binstub'
|
|
16
|
+
end
|
|
17
|
+
end
|
data/example/bin/update
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
require 'pathname'
|
|
3
|
+
require 'fileutils'
|
|
4
|
+
include FileUtils
|
|
5
|
+
|
|
6
|
+
# path to your application root.
|
|
7
|
+
APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
|
|
8
|
+
|
|
9
|
+
def system!(*args)
|
|
10
|
+
system(*args) || abort("\n== Command #{args} failed ==")
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
chdir APP_ROOT do
|
|
14
|
+
# This script is a way to update your development environment automatically.
|
|
15
|
+
# Add necessary update steps to this file.
|
|
16
|
+
|
|
17
|
+
puts '== Installing dependencies =='
|
|
18
|
+
system! 'gem install bundler --conservative'
|
|
19
|
+
system('bundle check') || system!('bundle install')
|
|
20
|
+
|
|
21
|
+
puts "\n== Updating database =="
|
|
22
|
+
system! 'bin/rails db:migrate'
|
|
23
|
+
|
|
24
|
+
puts "\n== Removing old logs and tempfiles =="
|
|
25
|
+
system! 'bin/rails log:clear tmp:clear'
|
|
26
|
+
|
|
27
|
+
puts "\n== Restarting application server =="
|
|
28
|
+
system! 'bin/rails restart'
|
|
29
|
+
end
|