bullet_train-themes 1.0.23 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/views/themes/base/attributes/_image.html.erb +3 -1
- data/app/views/themes/base/attributes/_options.html.erb +2 -1
- data/lib/bullet_train/themes/version.rb +1 -1
- data/lib/bullet_train/themes.rb +9 -2
- data/lib/tasks/application.rb +41 -0
- data/lib/tasks/bullet_train/themes_tasks.rake +9 -4
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f0a8a68b456d834d2bb372fd3ae037d66379621a09f3b4f17b5c7be760470ab9
|
4
|
+
data.tar.gz: 39ca624a3df73105989dd12ed57fc87e76bcc8c1820913cf19e6aac0eccbb7e1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e461584901f5e75902dbca0a434456128297383aff160e8a1bc4d0cdd78a2538053d8e54a4ad316337a7aaadd859ed11687199835352203987e25b835c9c497e
|
7
|
+
data.tar.gz: ef9f8a3ab9d210111cab82d87fa38d5662a530090412abce954381e4294ba4724fcb6b8fe67eefe62174108b5c9c5e9cb96436d9c6b0f99cc709a0dba6357e4f
|
@@ -1,5 +1,7 @@
|
|
1
1
|
<% object ||= current_attributes_object %>
|
2
2
|
<% strategy ||= current_attributes_strategy || :none %>
|
3
3
|
<% url ||= nil %>
|
4
|
+
<% options ||= {} %>
|
5
|
+
<% options[:height] ||= 200 %>
|
4
6
|
|
5
|
-
<%= cloudinary_image_tag object.send(attribute),
|
7
|
+
<%= cloudinary_image_tag object.send(attribute), options %>
|
@@ -4,7 +4,8 @@
|
|
4
4
|
|
5
5
|
<% if object.send(attribute).any? %>
|
6
6
|
<%= render 'shared/attributes/attribute', object: object, attribute: attribute, strategy: strategy, url: url do %>
|
7
|
-
|
7
|
+
<%# TODO: Multiple option partials return arrays with blank characters in them. Is this expected? %>
|
8
|
+
<%= object.send(attribute).reject(&:blank?).map do |value| %>
|
8
9
|
<% t("#{object.class.name.underscore.pluralize}.fields.#{attribute}.options.#{value}") %>
|
9
10
|
<% end.map(&:strip).to_sentence %>
|
10
11
|
<% end %>
|
data/lib/bullet_train/themes.rb
CHANGED
@@ -32,12 +32,19 @@ module BulletTrain
|
|
32
32
|
end
|
33
33
|
|
34
34
|
def resolved_partial_path_for(lookup_context, path, locals)
|
35
|
-
#
|
35
|
+
# We disable partial path caching in development so new templates are taken into account without restarting the server.
|
36
|
+
partial_paths = {}
|
37
|
+
|
36
38
|
BulletTrain::Themes.partial_paths.fetch(path) do
|
37
39
|
if (theme_path = BulletTrain::Themes.theme_invocation_path_for(path))
|
38
40
|
# TODO directory_order should probably come from the `Current` model.
|
39
41
|
if (partial = lookup_context.find_all(theme_path, directory_order.map { "themes/#{_1}" }, true, locals.keys).first)
|
40
|
-
|
42
|
+
resolved_partial = partial.virtual_path.gsub("/_", "/")
|
43
|
+
if Rails.env.development?
|
44
|
+
partial_paths[path] = resolved_partial
|
45
|
+
else
|
46
|
+
BulletTrain::Themes.partial_paths[path] = resolved_partial
|
47
|
+
end
|
41
48
|
end
|
42
49
|
end
|
43
50
|
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
module BulletTrain
|
2
|
+
module Themes
|
3
|
+
module Application
|
4
|
+
def self.install_theme(theme_name)
|
5
|
+
unless theme_name == "light" || Dir.exist?("app/views/themes/#{theme_name}")
|
6
|
+
raise "We could not find '#{theme_name}'. Please eject Bullet Train's standard views to your main application first by using `rake bullet_train:themes:light:eject[custom_theme_name_here]`".red
|
7
|
+
end
|
8
|
+
|
9
|
+
# Grabs the current theme from
|
10
|
+
# def current_theme
|
11
|
+
# :theme_name
|
12
|
+
# end
|
13
|
+
current_theme_regexp = /(^ :)(.*)/
|
14
|
+
current_theme = nil
|
15
|
+
|
16
|
+
new_lines = []
|
17
|
+
[
|
18
|
+
"./app/helpers/application_helper.rb",
|
19
|
+
"./Procfile.dev",
|
20
|
+
"./package.json"
|
21
|
+
].each do |file|
|
22
|
+
File.open(file, "r") do |f|
|
23
|
+
new_lines = f.readlines
|
24
|
+
new_lines = new_lines.map do |line|
|
25
|
+
# Make sure we get the current theme before trying to replace it in any of the files.
|
26
|
+
# We grab it from the first file in the array above.
|
27
|
+
current_theme = line.scan(current_theme_regexp).flatten.last if line.match?(current_theme_regexp)
|
28
|
+
|
29
|
+
line.gsub!(/#{current_theme}/, theme_name) unless current_theme.nil?
|
30
|
+
line
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
File.open(file, "w") do |f|
|
35
|
+
f.puts new_lines.join
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -1,4 +1,9 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
require_relative "../application"
|
2
|
+
|
3
|
+
namespace :bullet_train do
|
4
|
+
namespace :themes do
|
5
|
+
task :install, [:theme_name] => :environment do |task, args|
|
6
|
+
BulletTrain::Themes::Application.install_theme(args[:theme_name])
|
7
|
+
end
|
8
|
+
end
|
9
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bullet_train-themes
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Culver
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-12-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: standard
|
@@ -80,6 +80,7 @@ files:
|
|
80
80
|
- lib/bullet_train/themes.rb
|
81
81
|
- lib/bullet_train/themes/engine.rb
|
82
82
|
- lib/bullet_train/themes/version.rb
|
83
|
+
- lib/tasks/application.rb
|
83
84
|
- lib/tasks/bullet_train/themes_tasks.rake
|
84
85
|
homepage: https://github.com/bullet-train-co/bullet_train-themes
|
85
86
|
licenses:
|