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.
Files changed (117) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +9 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +3 -0
  5. data/Gemfile +4 -0
  6. data/README.md +0 -0
  7. data/Rakefile +2 -0
  8. data/autocomplete_zipcode.gemspec +22 -0
  9. data/bin/console +14 -0
  10. data/bin/setup +7 -0
  11. data/example/.gitignore +21 -0
  12. data/example/Gemfile +55 -0
  13. data/example/Gemfile.lock +184 -0
  14. data/example/README.md +24 -0
  15. data/example/Rakefile +6 -0
  16. data/example/app/assets/config/manifest.js +3 -0
  17. data/example/app/assets/images/.keep +0 -0
  18. data/example/app/assets/javascripts/addresses.coffee +3 -0
  19. data/example/app/assets/javascripts/application.js +17 -0
  20. data/example/app/assets/javascripts/cable.js +13 -0
  21. data/example/app/assets/javascripts/channels/.keep +0 -0
  22. data/example/app/assets/stylesheets/addresses.scss +3 -0
  23. data/example/app/assets/stylesheets/application.css +15 -0
  24. data/example/app/assets/stylesheets/scaffolds.scss +89 -0
  25. data/example/app/channels/application_cable/channel.rb +4 -0
  26. data/example/app/channels/application_cable/connection.rb +4 -0
  27. data/example/app/controllers/addresses_controller.rb +74 -0
  28. data/example/app/controllers/application_controller.rb +3 -0
  29. data/example/app/controllers/concerns/.keep +0 -0
  30. data/example/app/helpers/addresses_helper.rb +2 -0
  31. data/example/app/helpers/application_helper.rb +2 -0
  32. data/example/app/jobs/application_job.rb +2 -0
  33. data/example/app/mailers/application_mailer.rb +4 -0
  34. data/example/app/models/address.rb +2 -0
  35. data/example/app/models/application_record.rb +3 -0
  36. data/example/app/models/concerns/.keep +0 -0
  37. data/example/app/views/addresses/_address.json.jbuilder +2 -0
  38. data/example/app/views/addresses/_form.html.erb +17 -0
  39. data/example/app/views/addresses/edit.html.erb +6 -0
  40. data/example/app/views/addresses/index.html.erb +33 -0
  41. data/example/app/views/addresses/index.json.jbuilder +1 -0
  42. data/example/app/views/addresses/new.html.erb +5 -0
  43. data/example/app/views/addresses/show.html.erb +24 -0
  44. data/example/app/views/addresses/show.json.jbuilder +1 -0
  45. data/example/app/views/layouts/application.html.erb +14 -0
  46. data/example/app/views/layouts/mailer.html.erb +13 -0
  47. data/example/app/views/layouts/mailer.text.erb +1 -0
  48. data/example/bin/bundle +3 -0
  49. data/example/bin/rails +9 -0
  50. data/example/bin/rake +9 -0
  51. data/example/bin/setup +34 -0
  52. data/example/bin/spring +17 -0
  53. data/example/bin/update +29 -0
  54. data/example/config.ru +5 -0
  55. data/example/config/application.rb +15 -0
  56. data/example/config/boot.rb +3 -0
  57. data/example/config/cable.yml +9 -0
  58. data/example/config/database.yml +25 -0
  59. data/example/config/environment.rb +5 -0
  60. data/example/config/environments/development.rb +54 -0
  61. data/example/config/environments/production.rb +86 -0
  62. data/example/config/environments/test.rb +42 -0
  63. data/example/config/initializers/application_controller_renderer.rb +6 -0
  64. data/example/config/initializers/assets.rb +11 -0
  65. data/example/config/initializers/backtrace_silencers.rb +7 -0
  66. data/example/config/initializers/cookies_serializer.rb +5 -0
  67. data/example/config/initializers/filter_parameter_logging.rb +4 -0
  68. data/example/config/initializers/inflections.rb +16 -0
  69. data/example/config/initializers/mime_types.rb +4 -0
  70. data/example/config/initializers/new_framework_defaults.rb +24 -0
  71. data/example/config/initializers/session_store.rb +3 -0
  72. data/example/config/initializers/simple_form.rb +169 -0
  73. data/example/config/initializers/wrap_parameters.rb +14 -0
  74. data/example/config/locales/en.yml +23 -0
  75. data/example/config/locales/simple_form.en.yml +31 -0
  76. data/example/config/puma.rb +47 -0
  77. data/example/config/routes.rb +4 -0
  78. data/example/config/secrets.yml +22 -0
  79. data/example/config/spring.rb +6 -0
  80. data/example/db/migrate/20170425234824_create_addresses.rb +13 -0
  81. data/example/db/schema.rb +25 -0
  82. data/example/db/seeds.rb +7 -0
  83. data/example/lib/assets/.keep +0 -0
  84. data/example/lib/tasks/.keep +0 -0
  85. data/example/lib/templates/erb/scaffold/_form.html.erb +13 -0
  86. data/example/log/.keep +0 -0
  87. data/example/public/404.html +67 -0
  88. data/example/public/422.html +67 -0
  89. data/example/public/500.html +66 -0
  90. data/example/public/apple-touch-icon-precomposed.png +0 -0
  91. data/example/public/apple-touch-icon.png +0 -0
  92. data/example/public/favicon.ico +0 -0
  93. data/example/public/robots.txt +5 -0
  94. data/example/test/controllers/.keep +0 -0
  95. data/example/test/controllers/addresses_controller_test.rb +48 -0
  96. data/example/test/fixtures/.keep +0 -0
  97. data/example/test/fixtures/addresses.yml +13 -0
  98. data/example/test/fixtures/files/.keep +0 -0
  99. data/example/test/helpers/.keep +0 -0
  100. data/example/test/integration/.keep +0 -0
  101. data/example/test/mailers/.keep +0 -0
  102. data/example/test/models/.keep +0 -0
  103. data/example/test/models/address_test.rb +7 -0
  104. data/example/test/test_helper.rb +10 -0
  105. data/example/tmp/.keep +0 -0
  106. data/example/vendor/assets/javascripts/.keep +0 -0
  107. data/example/vendor/assets/stylesheets/.keep +0 -0
  108. data/lib/autocomplete_zipcode.rb +9 -0
  109. data/lib/autocomplete_zipcode/simple_form/city_input.rb +7 -0
  110. data/lib/autocomplete_zipcode/simple_form/neighborhood_input.rb +7 -0
  111. data/lib/autocomplete_zipcode/simple_form/state_input.rb +7 -0
  112. data/lib/autocomplete_zipcode/simple_form/street_input.rb +7 -0
  113. data/lib/autocomplete_zipcode/simple_form/zipcode_input.rb +7 -0
  114. data/lib/autocomplete_zipcode/version.rb +3 -0
  115. data/vendor/assets/javascripts/.keep +0 -0
  116. data/vendor/assets/javascripts/autocomplete_zipcode.js +24 -0
  117. 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,4 @@
1
+ module ApplicationCable
2
+ class Channel < ActionCable::Channel::Base
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module ApplicationCable
2
+ class Connection < ActionCable::Connection::Base
3
+ end
4
+ end
@@ -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
@@ -0,0 +1,3 @@
1
+ class ApplicationController < ActionController::Base
2
+ protect_from_forgery with: :exception
3
+ end
File without changes
@@ -0,0 +1,2 @@
1
+ module AddressesHelper
2
+ end
@@ -0,0 +1,2 @@
1
+ module ApplicationHelper
2
+ end
@@ -0,0 +1,2 @@
1
+ class ApplicationJob < ActiveJob::Base
2
+ end
@@ -0,0 +1,4 @@
1
+ class ApplicationMailer < ActionMailer::Base
2
+ default from: 'from@example.com'
3
+ layout 'mailer'
4
+ end
@@ -0,0 +1,2 @@
1
+ class Address < ApplicationRecord
2
+ end
@@ -0,0 +1,3 @@
1
+ class ApplicationRecord < ActiveRecord::Base
2
+ self.abstract_class = true
3
+ end
File without changes
@@ -0,0 +1,2 @@
1
+ json.extract! address, :id, :zipcode, :neighborhood, :city, :state, :created_at, :updated_at
2
+ json.url address_url(address, format: :json)
@@ -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,6 @@
1
+ <h1>Editing Address</h1>
2
+
3
+ <%= render 'form', address: @address %>
4
+
5
+ <%= link_to 'Show', @address %> |
6
+ <%= link_to 'Back', addresses_path %>
@@ -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,5 @@
1
+ <h1>New Address</h1>
2
+
3
+ <%= render 'form', address: @address %>
4
+
5
+ <%= link_to 'Back', addresses_path %>
@@ -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,13 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5
+ <style>
6
+ /* Email styles need to be inline */
7
+ </style>
8
+ </head>
9
+
10
+ <body>
11
+ <%= yield %>
12
+ </body>
13
+ </html>
@@ -0,0 +1 @@
1
+ <%= yield %>
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
3
+ load Gem.bin_path('bundler', 'bundle')
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
@@ -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
+ require_relative '../config/boot'
8
+ require 'rake'
9
+ Rake.application.run
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
@@ -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
@@ -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