booties 0.1.0 → 0.2.0

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 (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>