booties 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (123) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +172 -0
  3. data/Rakefile +5 -4
  4. data/app/controllers/booties/application_controller.rb +4 -1
  5. data/app/helpers/booties/application_helper.rb +3 -26
  6. data/app/helpers/booties/badge_helper.rb +6 -3
  7. data/app/helpers/booties/breadcrumb_helper.rb +29 -0
  8. data/app/helpers/booties/button_helper.rb +10 -8
  9. data/app/helpers/booties/dropdown_helper.rb +71 -0
  10. data/app/helpers/booties/flag_helper.rb +7 -4
  11. data/app/helpers/booties/modal_helper.rb +4 -1
  12. data/app/helpers/booties/panel_helper.rb +3 -1
  13. data/app/helpers/booties/popover_helper.rb +28 -19
  14. data/app/helpers/booties/tooltip_helper.rb +12 -8
  15. data/config/routes.rb +2 -0
  16. data/lib/booties.rb +3 -1
  17. data/lib/booties/engine.rb +7 -1
  18. data/lib/booties/modal.rb +13 -12
  19. data/lib/booties/panel.rb +21 -18
  20. data/lib/booties/utils.rb +8 -10
  21. data/lib/booties/version.rb +3 -1
  22. data/lib/tasks/booties_tasks.rake +2 -0
  23. data/test/dummy/Rakefile +1 -1
  24. data/test/dummy/app/assets/javascripts/application.js +0 -13
  25. data/test/dummy/app/assets/stylesheets/application.css +0 -15
  26. data/test/dummy/app/channels/application_cable/channel.rb +4 -0
  27. data/test/dummy/app/channels/application_cable/connection.rb +4 -0
  28. data/test/dummy/app/controllers/application_controller.rb +0 -4
  29. data/test/dummy/app/controllers/samples_controller.rb +28 -0
  30. data/test/dummy/app/jobs/application_job.rb +2 -0
  31. data/test/dummy/app/views/layouts/application.html.erb +9 -11
  32. data/test/dummy/app/views/samples/badges.html.erb +2 -0
  33. data/test/dummy/app/views/{home → samples}/breadcrumbs.html.erb +2 -1
  34. data/test/dummy/app/views/samples/buttons.html.erb +2 -0
  35. data/test/dummy/app/views/samples/dropdowns.html.erb +6 -0
  36. data/test/dummy/app/views/samples/flags.html.erb +2 -0
  37. data/test/dummy/app/views/samples/modals.html.erb +12 -0
  38. data/test/dummy/app/views/samples/panels.html.erb +14 -0
  39. data/test/dummy/app/views/samples/popovers.html.erb +9 -0
  40. data/test/dummy/app/views/samples/tooltips.html.erb +3 -0
  41. data/test/dummy/bin/bundle +1 -1
  42. data/test/dummy/bin/rails +1 -1
  43. data/test/dummy/bin/setup +17 -13
  44. data/test/dummy/bin/update +28 -0
  45. data/test/dummy/config.ru +2 -1
  46. data/test/dummy/config/application.rb +13 -12
  47. data/test/dummy/config/boot.rb +2 -2
  48. data/test/dummy/config/environment.rb +1 -1
  49. data/test/dummy/config/environments/development.rb +24 -16
  50. data/test/dummy/config/environments/production.rb +23 -28
  51. data/test/dummy/config/environments/test.rb +5 -11
  52. data/test/dummy/config/initializers/application_controller_renderer.rb +8 -0
  53. data/test/dummy/config/initializers/content_security_policy.rb +25 -0
  54. data/test/dummy/config/initializers/cookies_serializer.rb +2 -0
  55. data/test/dummy/config/initializers/wrap_parameters.rb +6 -1
  56. data/test/dummy/config/locales/en.yml +10 -0
  57. data/test/dummy/config/puma.rb +34 -0
  58. data/test/dummy/config/routes.rb +16 -8
  59. data/test/dummy/config/spring.rb +6 -0
  60. data/test/dummy/log/test.log +11202 -19551
  61. data/test/dummy/public/404.html +6 -6
  62. data/test/dummy/public/422.html +6 -6
  63. data/test/dummy/public/500.html +6 -6
  64. data/test/dummy/public/apple-touch-icon-precomposed.png +0 -0
  65. data/test/dummy/public/apple-touch-icon.png +0 -0
  66. data/test/dummy/tmp/cache/assets/sprockets/v3.0/33/33EUCQBNqL6TOaGyMFn9wz2v39pHMJ4LOUUFUteIHHM.cache +1 -0
  67. data/test/dummy/tmp/cache/assets/sprockets/v3.0/3N/3NnKgR2TsTI1qCXKZpts0uJzp2dRJcoYp3nnFU6YE4o.cache +2 -0
  68. data/test/dummy/tmp/cache/assets/sprockets/v3.0/7Q/7Q2gtOOyCVPFrfYz4KjmXJsM_m8Yra4MjgsQmfVGxZY.cache +1 -0
  69. data/test/dummy/tmp/cache/assets/sprockets/v3.0/8c/8cROjTzeZZQaOFNLPKGuMtXO7EHxNfiEa72qt65UoF4.cache +1 -0
  70. data/test/dummy/tmp/cache/assets/sprockets/v3.0/F6/F6RhC2MbCvVanNZZe44hqlJNKAdIrH4NUzRxj5N2_EQ.cache +1 -0
  71. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Fc/FcMeZRcfG4LrhIhl3xrAg3EhSZInU4efHmUrjIs4keE.cache +0 -0
  72. data/test/dummy/tmp/cache/assets/sprockets/v3.0/H3/H3dfPRbxbWIB6dQXrQ6xA9nDJqy4dOq1ujslocGVY9U.cache +1 -0
  73. data/test/dummy/tmp/cache/assets/sprockets/v3.0/LK/LKisVDbQmzgRQKdFoNH5tRbTr72CrlM_2q7MZczv2Pg.cache +1 -0
  74. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Mj/MjwYGG9GkHD1fwwH2bg66EBYl3zCA_mqeDF9otey4-U.cache +3 -0
  75. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Pc/Pce9HMZhc6XmsNfLUN84Enw7mySJ7ZYzys9mXmCVXqA.cache +0 -0
  76. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Po/PoftKmjB8lzW06EMKeru1CsqVtULc0MsiTysT2JNqvU.cache +0 -0
  77. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Su/SuILTE3Es0N_r-36Ddu2E6h49WcwH_-RsZyG4SPwKFQ.cache +0 -0
  78. data/test/dummy/tmp/cache/assets/sprockets/v3.0/cJ/cJG59MHf0x4qJKYES0pa0nLpOFpFF7YwrrvIVKIixyA.cache +0 -0
  79. data/test/dummy/tmp/cache/assets/sprockets/v3.0/fw/fwPYklzExHPpgeuv53ew_8OIpJVRyaHj2Jtj2JP9j5A.cache +0 -0
  80. data/test/dummy/tmp/cache/assets/sprockets/v3.0/jc/jc_TR7ZZTSFDDRKdgc-KnZskUESr2rLOqcYZej83LvU.cache +0 -0
  81. data/test/dummy/tmp/cache/assets/sprockets/v3.0/rV/rVy4-idUuK0Va9FLw3G8pYeZFwJAwmvs_bQcbq6_Cd0.cache +1 -0
  82. data/test/dummy/tmp/cache/assets/sprockets/v3.0/rY/rYyeRvy3oIuNfWeDhoriNlAlVjN4Wg4A3_9_OTDFin4.cache +1 -0
  83. data/test/dummy/tmp/cache/assets/sprockets/v3.0/tY/tYFbDrMNElXwgmisit50aNXJvRU2zlIFk5g-EJ1CQTc.cache +0 -0
  84. data/test/helpers/booties/badge_helper_test.rb +7 -5
  85. data/test/helpers/booties/breadcrumb_helper_test.rb +13 -0
  86. data/test/helpers/booties/button_helper_test.rb +14 -12
  87. data/test/helpers/booties/dropdown_helper_test.rb +43 -0
  88. data/test/helpers/booties/flag_helper_test.rb +7 -5
  89. data/test/helpers/booties/modal_helper_test.rb +9 -7
  90. data/test/helpers/booties/panel_helper_test.rb +4 -2
  91. data/test/helpers/booties/popover_helper_test.rb +33 -42
  92. data/test/helpers/booties/tooltip_helper_test.rb +19 -40
  93. data/test/integration/samples_test.rb +103 -0
  94. data/test/lib/booties/modal_test.rb +193 -0
  95. data/test/{booties → lib/booties}/panel_test.rb +40 -22
  96. data/test/lib/booties/utils_test.rb +41 -0
  97. data/test/stub_view.rb +14 -7
  98. data/test/test_helper.rb +10 -11
  99. metadata +124 -98
  100. data/app/assets/javascripts/booties/application.js +0 -13
  101. data/app/assets/stylesheets/booties/application.css +0 -15
  102. data/test/booties/modal_test.rb +0 -170
  103. data/test/booties/utils_test.rb +0 -26
  104. data/test/dummy/README.rdoc +0 -28
  105. data/test/dummy/app/assets/javascripts/home.js +0 -2
  106. data/test/dummy/app/assets/stylesheets/home.css +0 -4
  107. data/test/dummy/app/controllers/home_controller.rb +0 -25
  108. data/test/dummy/app/helpers/home_helper.rb +0 -2
  109. data/test/dummy/app/views/home/badge.html.erb +0 -3
  110. data/test/dummy/app/views/home/button.html.erb +0 -2
  111. data/test/dummy/app/views/home/flag.html.erb +0 -5
  112. data/test/dummy/app/views/home/modal.html.erb +0 -16
  113. data/test/dummy/app/views/home/panel.html.erb +0 -25
  114. data/test/dummy/app/views/home/popover.html.erb +0 -7
  115. data/test/dummy/app/views/home/tooltip.html.erb +0 -7
  116. data/test/dummy/config/initializers/assets.rb +0 -11
  117. data/test/dummy/config/initializers/session_store.rb +0 -3
  118. data/test/dummy/config/locales/booties.yml +0 -4
  119. data/test/dummy/config/secrets.yml +0 -22
  120. data/test/dummy/log/development.log +0 -420
  121. data/test/dummy/test/controllers/home_controller_test.rb +0 -108
  122. data/test/helpers/booties/application_helper_test.rb +0 -11
  123. data/test/integration/navigation_test.rb +0 -9
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Booties
2
- module PanelHelper
4
+ module PanelHelper # :nodoc:
3
5
  ##
4
6
  # Renders a panel. The defult panel context is +:default+ but can be
5
7
  # specified through +options+. The contents of the panel should be passed
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Booties
2
- module PopoverHelper
4
+ module PopoverHelper # :nodoc:
3
5
  include Utils
4
6
 
5
7
  ##
@@ -27,7 +29,7 @@ module Booties
27
29
  # snippet on the page:
28
30
  #
29
31
  # $(function() {
30
- # $('[data-toggler="popover"]').popover();
32
+ # $('[data-toggle="popover"]').popover();
31
33
  # }
32
34
  #
33
35
  # Examples:
@@ -39,25 +41,32 @@ module Booties
39
41
  # Link text
40
42
  # <% end %>
41
43
  # <button class="btn btn-default" type="button" data-toggle="popover" data-content="Lorem ipsum dolor sit amet." data-placement="top" data-container="body" data-trigger="focus" title="Lorem ipsum">Link text</button>
42
- def popover(text = nil, tag: :a, content:, title: nil, placement: nil, trigger: nil, **html_options, &block)
43
- data = { toggle: 'popover', content: content, }
44
-
45
- if placement
46
- validate_placement! placement
47
- data[:placement] = placement
48
- end
49
-
50
- if trigger
51
- data[:container] = 'body'
52
- data[:trigger] = 'focus'
53
- end
54
44
 
55
- role_or_type = tag == :button ? :type : :role
56
- html_options[role_or_type] ||= 'button'
57
- html_options[:data] ||= {}
58
- html_options[:data].update data
45
+ # rubocop:disable Metrics/MethodLength, Metrics/ParameterLists
46
+ def popover(text = nil,
47
+ tag: :a,
48
+ container: nil,
49
+ content:,
50
+ title: nil,
51
+ placement: nil,
52
+ trigger: nil,
53
+ **options,
54
+ &block)
55
+ data = {
56
+ toggle: 'popover',
57
+ content: content,
58
+ container: container,
59
+ placement: placement,
60
+ trigger: trigger,
61
+ }
62
+ options[tag == :button ? :type : :role] ||= 'button'
63
+ options[:title] = title
64
+ options[:tabindex] ||= 10 if trigger
65
+ options[:data] ||= {}
66
+ options[:data].update data
59
67
 
60
- content_tag tag, text, **html_options, title: title, &block
68
+ content_tag tag, text, options, &block
61
69
  end
70
+ # rubocop:enable Metrics/MethodLength, Metrics/ParameterLists
62
71
  end
63
72
  end
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Booties
2
- module TooltipHelper
4
+ module TooltipHelper # :nodoc:
3
5
  include Utils
4
6
 
5
7
  ##
@@ -40,15 +42,17 @@ module Booties
40
42
  # This has a tooltip.
41
43
  # <% end %>
42
44
  # <span data-toggle="tooltip" title="This is a tooltip" class="tooltip">This has a tooltip.</span>
43
- def tooltip(title:, placement: nil, wrapper_tag: :span, **options, &block)
44
- data = { toggle: 'tooltip', }
45
+ def tooltip(content = nil,
46
+ title:,
47
+ placement: nil,
48
+ wrapper_tag: :span,
49
+ **options,
50
+ &block)
45
51
 
46
- if placement
47
- validate_placement! placement
48
- data[:placement] = placement
49
- end
52
+ data = { toggle: 'tooltip', placement: placement }
53
+ options = { data: data, title: title, **options }
50
54
 
51
- content_tag wrapper_tag, data: data, title: title, **options, &block
55
+ content_tag wrapper_tag, content, options, &block
52
56
  end
53
57
  end
54
58
  end
@@ -1,2 +1,4 @@
1
+ # frozen_string_literal: true
2
+
1
3
  Booties::Engine.routes.draw do
2
4
  end
@@ -1,7 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'booties/engine'
2
4
  require 'booties/utils'
3
5
  require 'booties/modal'
4
6
  require 'booties/panel'
5
7
 
6
- module Booties
8
+ module Booties # :nodoc:
7
9
  end
@@ -1,5 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Booties
2
- class Engine < ::Rails::Engine
4
+ class Engine < ::Rails::Engine # :nodoc:
3
5
  isolate_namespace Booties
6
+
7
+ initializer 'booties.view_helpers' do
8
+ ActionView::Base.send :include, helpers
9
+ end
4
10
  end
5
11
  end
@@ -1,28 +1,29 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'forwardable'
2
4
 
3
5
  module Booties
4
- class Modal
6
+ class Modal # :nodoc:
5
7
  include Utils
6
8
  extend Forwardable
7
9
 
8
- DEFAULT_DISMISSAL = '&times;'.freeze
10
+ DEFAULT_DISMISSAL = '&times;'.html_safe
9
11
  MODAL_SIZE = { small: 'modal-sm', large: 'modal-lg' }.freeze
10
12
 
11
13
  ##
12
14
  # Instantiates a new Modal. Several helper methods like #content_tag will
13
- # be delegated to +view_context+. The required keyword +id+ will be used as
15
+ # be delegated to +template+. The required keyword +id+ will be used as
14
16
  # the DOM ID of the modal element. By default, the modal will exhibit
15
17
  # fading behavior, but this can be disabled by setting +fade+ to a falsey
16
18
  # value.
17
- def initialize(view_context, id:, fade: true, size: nil)
18
- @view_context = view_context
19
- @id = id
20
- @fade = fade ? 'fade' : nil
21
- @size = MODAL_SIZE[size]
19
+ def initialize(template, id:, fade: true, size: nil)
20
+ @template = template
21
+ @id = id
22
+ @fade = fade ? 'fade' : nil
23
+ @size = MODAL_SIZE[size]
22
24
  end
23
25
 
24
- def_delegators :@view_context, :button_tag, :capture, :content_tag,
25
- :raw, :t, :translate
26
+ delegate %i[button_tag capture content_tag t] => :@template
26
27
 
27
28
  ##
28
29
  # Renders the top-level div for the modal dialog. +block+ is passed to
@@ -70,8 +71,8 @@ module Booties
70
71
  content_tag :div, class: 'modal-header' do
71
72
  if close
72
73
  dismissal = t :'booties.modal.dismiss_html',
73
- default: [:'booties.modal.dismiss', raw(DEFAULT_DISMISSAL)]
74
- dismiss(dismissal) << title(&block)
74
+ default: [:'booties.modal.dismiss', DEFAULT_DISMISSAL]
75
+ dismiss(dismissal) + title(&block)
75
76
  else
76
77
  title(&block)
77
78
  end
@@ -1,20 +1,22 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'forwardable'
2
4
 
3
5
  module Booties
4
- class Panel
6
+ class Panel # :nodoc:
5
7
  include Utils
6
8
  extend Forwardable
7
9
 
8
10
  CSS_CLASSES = {
9
- heading: 'panel-heading'.freeze,
10
- title: 'panel-title'.freeze,
11
- body: 'panel-body'.freeze,
12
- footer: 'panel-footer'.freeze,
13
- }
11
+ heading: 'panel-heading',
12
+ title: 'panel-title',
13
+ body: 'panel-body',
14
+ footer: 'panel-footer',
15
+ }.freeze
14
16
 
15
17
  ##
16
18
  # Instantiates a new Panel. Several helper methods like #content_tag will
17
- # be delegated to +view_context+.
19
+ # be delegated to +template+.
18
20
  #
19
21
  # The optional +context+ argument can be passed in to specify the panel
20
22
  # context; otherwise, the context +:default+ is used.
@@ -26,15 +28,15 @@ module Booties
26
28
  #
27
29
  # Any additional options will be included as attributes on the top-level
28
30
  # panel container.
29
- def initialize(view_context, context: :default, wrapper_tag: 'div', **options)
30
- @view_context = view_context
31
- @wrapper_tag = wrapper_tag
32
- @context = context
31
+ def initialize(template, context: :default, wrapper_tag: 'div', **options)
32
+ @template = template
33
+ @wrapper_tag = wrapper_tag
34
+ @context = context
33
35
  # TODO: pass options to #render instead of constructor
34
- @options = options
36
+ @options = options
35
37
  end
36
38
 
37
- def_delegators :@view_context, :capture, :content_tag
39
+ delegate %i[capture content_tag] => :@template
38
40
 
39
41
  ##
40
42
  # Renders the top-level div for the panel. +@context+ is used to specify
@@ -42,7 +44,8 @@ module Booties
42
44
  # object will be passed as a parameter to +block+.
43
45
  def render(&block)
44
46
  options = @options.dup
45
- classes = merge_classes %W[panel panel-#@context], options.delete(:class)
47
+ classes = merge_classes %W[panel panel-#{@context}],
48
+ options.delete(:class)
46
49
  content_tag @wrapper_tag, class: classes, **options do
47
50
  capture self, &block
48
51
  end
@@ -56,7 +59,7 @@ module Booties
56
59
  def heading(content = nil, class: nil, **options, &block)
57
60
  content ||= capture(&block)
58
61
  classes = merge_classes CSS_CLASSES[:heading],
59
- binding.local_variable_get(:class)
62
+ binding.local_variable_get(:class)
60
63
  content_tag :div, content, class: classes, **options
61
64
  end
62
65
 
@@ -68,7 +71,7 @@ module Booties
68
71
  def title(content = nil, class: nil, **options, &block)
69
72
  content ||= capture(&block)
70
73
  classes = merge_classes CSS_CLASSES[:title],
71
- binding.local_variable_get(:class)
74
+ binding.local_variable_get(:class)
72
75
  content_tag :h3, content, class: classes, **options
73
76
  end
74
77
 
@@ -80,7 +83,7 @@ module Booties
80
83
  def body(content = nil, class: nil, **options, &block)
81
84
  content ||= capture(&block)
82
85
  classes = merge_classes CSS_CLASSES[:body],
83
- binding.local_variable_get(:class)
86
+ binding.local_variable_get(:class)
84
87
  content_tag :div, content, class: classes, **options
85
88
  end
86
89
 
@@ -92,7 +95,7 @@ module Booties
92
95
  def footer(content = nil, class: nil, **options, &block)
93
96
  content ||= capture(&block)
94
97
  classes = merge_classes CSS_CLASSES[:footer],
95
- binding.local_variable_get(:class)
98
+ binding.local_variable_get(:class)
96
99
  content_tag :div, content, class: classes, **options
97
100
  end
98
101
  end
@@ -1,15 +1,13 @@
1
- module Booties
2
- module Utils
3
- PLACEMENTS = [:left, :right, :top, :bottom, ]
1
+ # frozen_string_literal: true
4
2
 
5
- def validate_placement!(position)
6
- PLACEMENTS.include? position or raise ArgumentError,
7
- "invalid placement: #{position.inspect}, " \
8
- 'valid placements are :left, :right, :top, :bottom'
9
- end
3
+ module Booties
4
+ module Utils # :nodoc:
5
+ def merge_classes(*sets)
6
+ return nil if sets.all?(&:nil?)
10
7
 
11
- def merge_classes(a, b)
12
- Array(a).compact.flat_map(&:split) | Array(b).compact.flat_map(&:split)
8
+ sets.reduce([]) do |superset, subset|
9
+ superset | Array(subset).compact.flat_map(&:split)
10
+ end
13
11
  end
14
12
 
15
13
  module_function :merge_classes
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Booties
2
- VERSION = "0.1.0"
4
+ VERSION = '0.2.0'
3
5
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # desc "Explaining what the task does"
2
4
  # task :booties do
3
5
  # # Task goes here
@@ -1,6 +1,6 @@
1
1
  # Add your own tasks in files placed in lib/tasks ending in .rake,
2
2
  # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
3
 
4
- require File.expand_path('../config/application', __FILE__)
4
+ require_relative 'config/application'
5
5
 
6
6
  Rails.application.load_tasks
@@ -1,13 +0,0 @@
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.
9
- //
10
- // Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
11
- // about supported directives.
12
- //
13
- //= require_tree .
@@ -1,15 +0,0 @@
1
- /*
2
- * This is a manifest file that'll be compiled into application.css, which will include all the files
3
- * listed below.
4
- *
5
- * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
- * or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
7
- *
8
- * You're free to add application-wide styles to this file and they'll appear at the bottom of the
9
- * compiled file so the styles you add here take precedence over styles defined in any styles
10
- * defined in the other CSS/SCSS files in this directory. It is generally better to create a new
11
- * file per style scope.
12
- *
13
- *= require_tree .
14
- *= require_self
15
- */
@@ -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
@@ -1,7 +1,3 @@
1
1
  class ApplicationController < ActionController::Base
2
- # Prevent CSRF attacks by raising an exception.
3
- # For APIs, you may want to use :null_session instead.
4
2
  protect_from_forgery with: :exception
5
-
6
- helper Booties::Engine.helpers
7
3
  end
@@ -0,0 +1,28 @@
1
+ class SamplesController < ApplicationController
2
+ def badges
3
+ end
4
+
5
+ def breadcrumbs
6
+ end
7
+
8
+ def buttons
9
+ end
10
+
11
+ def dropdowns
12
+ end
13
+
14
+ def flags
15
+ end
16
+
17
+ def modals
18
+ end
19
+
20
+ def panels
21
+ end
22
+
23
+ def popovers
24
+ end
25
+
26
+ def tooltips
27
+ end
28
+ end
@@ -0,0 +1,2 @@
1
+ class ApplicationJob < ActiveJob::Base
2
+ end
@@ -1,16 +1,14 @@
1
1
  <!DOCTYPE html>
2
2
  <html>
3
- <head>
4
- <title>Dummy</title>
5
- <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
6
- <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
7
- <%= csrf_meta_tags %>
8
- </head>
9
- <body>
3
+ <head>
4
+ <title>Dummy</title>
5
+ <%= csrf_meta_tags %>
10
6
 
11
- <%= yield :breadcrumbs %>
7
+ <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
8
+ <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
9
+ </head>
12
10
 
13
- <%= yield %>
14
-
15
- </body>
11
+ <body>
12
+ <%= yield %>
13
+ </body>
16
14
  </html>