Module: Pagy::Configurable

Included in:
Pagy
Defined in:
lib/pagy/modules/abilities/configurable.rb

Overview

Add configuration methods

Instance Method Summary collapse

Instance Method Details

#dev_tools(wand_scale: 1) ⇒ Object

Generate the script and style tags to help development



15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/pagy/modules/abilities/configurable.rb', line 15

def dev_tools(wand_scale: 1)
  "    <script id=\"pagy-ai-widget\">\n      \#{ROOT.join('javascripts/ai_widget.js').read}\n    </script>\n    <script id=\"pagy-wand\" data-scale=\"\#{wand_scale}\">\n      \#{ROOT.join('javascripts/wand.js').read}\n    </script>\n    <style id=\"pagy-wand-default\">\n      \#{ROOT.join('stylesheets/pagy.css').read}\n    </style>\n  HTML\nend\n"

#sync_javascript(destination, *targets) ⇒ Object

Sync the pagy javascript targets



7
8
9
10
11
12
# File 'lib/pagy/modules/abilities/configurable.rb', line 7

def sync_javascript(destination, *targets)
  names   = %w[pagy.mjs pagy.js pagy.js.map pagy.min.js]
  targets = names if targets.empty?
  targets.each { |filename| FileUtils.cp(ROOT.join('javascripts', filename), destination) }
  (names - targets).each { |filename| FileUtils.rm_f(File.join(destination, filename)) }
end

#translate_with_the_slower_i18n_gem!Object

Setup pagy for using the i18n gem



30
31
32
33
34
# File 'lib/pagy/modules/abilities/configurable.rb', line 30

def translate_with_the_slower_i18n_gem!
  send(:remove_const, :I18n)
  send(:const_set, :I18n, ::I18n)
  ::I18n.load_path += Dir[ROOT.join('locales/*.yml')]
end