simple_form_custom_inputs 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 (113) 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 +3 -0
  6. data/README.md +78 -0
  7. data/Rakefile +2 -0
  8. data/example/.gitignore +21 -0
  9. data/example/Gemfile +61 -0
  10. data/example/Gemfile.lock +206 -0
  11. data/example/README.md +24 -0
  12. data/example/Rakefile +6 -0
  13. data/example/app/assets/config/manifest.js +3 -0
  14. data/example/app/assets/images/.keep +0 -0
  15. data/example/app/assets/javascripts/application.js +19 -0
  16. data/example/app/assets/javascripts/cable.js +13 -0
  17. data/example/app/assets/javascripts/channels/.keep +0 -0
  18. data/example/app/assets/javascripts/posts.coffee +3 -0
  19. data/example/app/assets/stylesheets/application.scss +7 -0
  20. data/example/app/assets/stylesheets/posts.scss +3 -0
  21. data/example/app/assets/stylesheets/scaffolds.scss +89 -0
  22. data/example/app/channels/application_cable/channel.rb +4 -0
  23. data/example/app/channels/application_cable/connection.rb +4 -0
  24. data/example/app/controllers/application_controller.rb +3 -0
  25. data/example/app/controllers/concerns/.keep +0 -0
  26. data/example/app/controllers/posts_controller.rb +74 -0
  27. data/example/app/helpers/application_helper.rb +2 -0
  28. data/example/app/helpers/posts_helper.rb +2 -0
  29. data/example/app/jobs/application_job.rb +2 -0
  30. data/example/app/mailers/application_mailer.rb +4 -0
  31. data/example/app/models/application_record.rb +3 -0
  32. data/example/app/models/concerns/.keep +0 -0
  33. data/example/app/models/post.rb +2 -0
  34. data/example/app/views/layouts/application.html.erb +14 -0
  35. data/example/app/views/layouts/mailer.html.erb +13 -0
  36. data/example/app/views/layouts/mailer.text.erb +1 -0
  37. data/example/app/views/posts/_form.html.erb +13 -0
  38. data/example/app/views/posts/_post.json.jbuilder +2 -0
  39. data/example/app/views/posts/edit.html.erb +6 -0
  40. data/example/app/views/posts/index.html.erb +31 -0
  41. data/example/app/views/posts/index.json.jbuilder +1 -0
  42. data/example/app/views/posts/new.html.erb +5 -0
  43. data/example/app/views/posts/show.html.erb +19 -0
  44. data/example/app/views/posts/show.json.jbuilder +1 -0
  45. data/example/bin/bundle +3 -0
  46. data/example/bin/rails +9 -0
  47. data/example/bin/rake +9 -0
  48. data/example/bin/setup +34 -0
  49. data/example/bin/spring +17 -0
  50. data/example/bin/update +29 -0
  51. data/example/config.ru +5 -0
  52. data/example/config/application.rb +15 -0
  53. data/example/config/boot.rb +3 -0
  54. data/example/config/cable.yml +9 -0
  55. data/example/config/database.yml +25 -0
  56. data/example/config/environment.rb +5 -0
  57. data/example/config/environments/development.rb +54 -0
  58. data/example/config/environments/production.rb +86 -0
  59. data/example/config/environments/test.rb +42 -0
  60. data/example/config/initializers/application_controller_renderer.rb +6 -0
  61. data/example/config/initializers/assets.rb +11 -0
  62. data/example/config/initializers/backtrace_silencers.rb +7 -0
  63. data/example/config/initializers/cookies_serializer.rb +5 -0
  64. data/example/config/initializers/filter_parameter_logging.rb +4 -0
  65. data/example/config/initializers/inflections.rb +16 -0
  66. data/example/config/initializers/mime_types.rb +4 -0
  67. data/example/config/initializers/new_framework_defaults.rb +24 -0
  68. data/example/config/initializers/session_store.rb +3 -0
  69. data/example/config/initializers/simple_form.rb +169 -0
  70. data/example/config/initializers/simple_form_bootstrap.rb +154 -0
  71. data/example/config/initializers/wrap_parameters.rb +14 -0
  72. data/example/config/locales/en.yml +23 -0
  73. data/example/config/locales/simple_form.en.yml +31 -0
  74. data/example/config/puma.rb +47 -0
  75. data/example/config/routes.rb +4 -0
  76. data/example/config/secrets.yml +22 -0
  77. data/example/config/spring.rb +6 -0
  78. data/example/db/migrate/20170427011041_create_posts.rb +11 -0
  79. data/example/db/schema.rb +23 -0
  80. data/example/db/seeds.rb +7 -0
  81. data/example/lib/assets/.keep +0 -0
  82. data/example/lib/tasks/.keep +0 -0
  83. data/example/lib/templates/erb/scaffold/_form.html.erb +13 -0
  84. data/example/log/.keep +0 -0
  85. data/example/public/404.html +67 -0
  86. data/example/public/422.html +67 -0
  87. data/example/public/500.html +66 -0
  88. data/example/public/apple-touch-icon-precomposed.png +0 -0
  89. data/example/public/apple-touch-icon.png +0 -0
  90. data/example/public/favicon.ico +0 -0
  91. data/example/public/robots.txt +5 -0
  92. data/example/test/controllers/.keep +0 -0
  93. data/example/test/controllers/posts_controller_test.rb +48 -0
  94. data/example/test/fixtures/.keep +0 -0
  95. data/example/test/fixtures/files/.keep +0 -0
  96. data/example/test/fixtures/posts.yml +11 -0
  97. data/example/test/helpers/.keep +0 -0
  98. data/example/test/integration/.keep +0 -0
  99. data/example/test/mailers/.keep +0 -0
  100. data/example/test/models/.keep +0 -0
  101. data/example/test/models/post_test.rb +7 -0
  102. data/example/test/test_helper.rb +10 -0
  103. data/example/tmp/.keep +0 -0
  104. data/example/vendor/assets/javascripts/.keep +0 -0
  105. data/example/vendor/assets/stylesheets/.keep +0 -0
  106. data/lib/simple_form_custom_inputs.rb +7 -0
  107. data/lib/simple_form_custom_inputs/simple_form/switch_input.rb +11 -0
  108. data/lib/simple_form_custom_inputs/version.rb +3 -0
  109. data/screenshot.png +0 -0
  110. data/simple_form_custom_inputs.gemspec +23 -0
  111. data/vendor/assets/javascripts/.keep +0 -0
  112. data/vendor/assets/javascripts/simple_form_custom_inputs.js +22 -0
  113. metadata +182 -0
File without changes
@@ -0,0 +1,19 @@
1
+ // This is a manifest file that'll be compiled into application.js, which will include all the files
2
+ // listed below.
3
+ //
4
+ // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
+ // or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
6
+ //
7
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
+ // compiled file. JavaScript code in this file should be added after the last require_* statement.
9
+ //
10
+ // Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
11
+ // about supported directives.
12
+ //
13
+ //= require jquery
14
+ //= require jquery_ujs
15
+ //= require bootstrap-sprockets
16
+ //= require turbolinks
17
+ //= require switchery
18
+ //= require simple_form_custom_inputs
19
+ //= require_tree .
@@ -0,0 +1,13 @@
1
+ // Action Cable provides the framework to deal with WebSockets in Rails.
2
+ // You can generate new channels where WebSocket features live using the rails generate channel command.
3
+ //
4
+ //= require action_cable
5
+ //= require_self
6
+ //= require_tree ./channels
7
+
8
+ (function() {
9
+ this.App || (this.App = {});
10
+
11
+ App.cable = ActionCable.createConsumer();
12
+
13
+ }).call(this);
File without changes
@@ -0,0 +1,3 @@
1
+ # Place all the behaviors and hooks related to the matching controller here.
2
+ # All this logic will automatically be available in application.js.
3
+ # You can use CoffeeScript in this file: http://coffeescript.org/
@@ -0,0 +1,7 @@
1
+ @import "bootstrap-sprockets";
2
+ @import "bootstrap";
3
+ @import "switchery";
4
+
5
+ body {
6
+ padding: 30px;
7
+ }
@@ -0,0 +1,3 @@
1
+ // Place all the styles related to the Posts controller here.
2
+ // They will automatically be included in application.css.
3
+ // You can use Sass (SCSS) here: http://sass-lang.com/
@@ -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,3 @@
1
+ class ApplicationController < ActionController::Base
2
+ protect_from_forgery with: :exception
3
+ end
File without changes
@@ -0,0 +1,74 @@
1
+ class PostsController < ApplicationController
2
+ before_action :set_post, only: [:show, :edit, :update, :destroy]
3
+
4
+ # GET /posts
5
+ # GET /posts.json
6
+ def index
7
+ @posts = Post.all
8
+ end
9
+
10
+ # GET /posts/1
11
+ # GET /posts/1.json
12
+ def show
13
+ end
14
+
15
+ # GET /posts/new
16
+ def new
17
+ @post = Post.new
18
+ end
19
+
20
+ # GET /posts/1/edit
21
+ def edit
22
+ end
23
+
24
+ # POST /posts
25
+ # POST /posts.json
26
+ def create
27
+ @post = Post.new(post_params)
28
+
29
+ respond_to do |format|
30
+ if @post.save
31
+ format.html { redirect_to @post, notice: 'Post was successfully created.' }
32
+ format.json { render :show, status: :created, location: @post }
33
+ else
34
+ format.html { render :new }
35
+ format.json { render json: @post.errors, status: :unprocessable_entity }
36
+ end
37
+ end
38
+ end
39
+
40
+ # PATCH/PUT /posts/1
41
+ # PATCH/PUT /posts/1.json
42
+ def update
43
+ respond_to do |format|
44
+ if @post.update(post_params)
45
+ format.html { redirect_to @post, notice: 'Post was successfully updated.' }
46
+ format.json { render :show, status: :ok, location: @post }
47
+ else
48
+ format.html { render :edit }
49
+ format.json { render json: @post.errors, status: :unprocessable_entity }
50
+ end
51
+ end
52
+ end
53
+
54
+ # DELETE /posts/1
55
+ # DELETE /posts/1.json
56
+ def destroy
57
+ @post.destroy
58
+ respond_to do |format|
59
+ format.html { redirect_to posts_url, notice: 'Post 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_post
67
+ @post = Post.find(params[:id])
68
+ end
69
+
70
+ # Never trust parameters from the scary internet, only allow the white list through.
71
+ def post_params
72
+ params.require(:post).permit(:title, :content, :active)
73
+ end
74
+ end
@@ -0,0 +1,2 @@
1
+ module ApplicationHelper
2
+ end
@@ -0,0 +1,2 @@
1
+ module PostsHelper
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,3 @@
1
+ class ApplicationRecord < ActiveRecord::Base
2
+ self.abstract_class = true
3
+ end
File without changes
@@ -0,0 +1,2 @@
1
+ class Post < ApplicationRecord
2
+ end
@@ -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,13 @@
1
+ <%= simple_form_for(@post) do |f| %>
2
+ <%= f.error_notification %>
3
+
4
+ <div class="form-inputs">
5
+ <%= f.input :title %>
6
+ <%= f.input :content %>
7
+ <%= f.input :active, as: :switch, label: false, inline_label: 'Active' %>
8
+ </div>
9
+
10
+ <div class="form-actions">
11
+ <%= f.button :submit %>
12
+ </div>
13
+ <% end %>
@@ -0,0 +1,2 @@
1
+ json.extract! post, :id, :title, :content, :active, :created_at, :updated_at
2
+ json.url post_url(post, format: :json)
@@ -0,0 +1,6 @@
1
+ <h1>Editing Post</h1>
2
+
3
+ <%= render 'form', post: @post %>
4
+
5
+ <%= link_to 'Show', @post %> |
6
+ <%= link_to 'Back', posts_path %>
@@ -0,0 +1,31 @@
1
+ <p id="notice"><%= notice %></p>
2
+
3
+ <h1>Posts</h1>
4
+
5
+ <table>
6
+ <thead>
7
+ <tr>
8
+ <th>Title</th>
9
+ <th>Content</th>
10
+ <th>Active</th>
11
+ <th colspan="3"></th>
12
+ </tr>
13
+ </thead>
14
+
15
+ <tbody>
16
+ <% @posts.each do |post| %>
17
+ <tr>
18
+ <td><%= post.title %></td>
19
+ <td><%= post.content %></td>
20
+ <td><%= post.active %></td>
21
+ <td><%= link_to 'Show', post %></td>
22
+ <td><%= link_to 'Edit', edit_post_path(post) %></td>
23
+ <td><%= link_to 'Destroy', post, method: :delete, data: { confirm: 'Are you sure?' } %></td>
24
+ </tr>
25
+ <% end %>
26
+ </tbody>
27
+ </table>
28
+
29
+ <br>
30
+
31
+ <%= link_to 'New Post', new_post_path %>
@@ -0,0 +1 @@
1
+ json.array! @posts, partial: 'posts/post', as: :post
@@ -0,0 +1,5 @@
1
+ <h1>New Post</h1>
2
+
3
+ <%= render 'form', post: @post %>
4
+
5
+ <%= link_to 'Back', posts_path %>
@@ -0,0 +1,19 @@
1
+ <p id="notice"><%= notice %></p>
2
+
3
+ <p>
4
+ <strong>Title:</strong>
5
+ <%= @post.title %>
6
+ </p>
7
+
8
+ <p>
9
+ <strong>Content:</strong>
10
+ <%= @post.content %>
11
+ </p>
12
+
13
+ <p>
14
+ <strong>Active:</strong>
15
+ <%= @post.active %>
16
+ </p>
17
+
18
+ <%= link_to 'Edit', edit_post_path(@post) %> |
19
+ <%= link_to 'Back', posts_path %>
@@ -0,0 +1 @@
1
+ json.partial! "posts/post", post: @post
@@ -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