shoperb_liquid 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.
- checksums.yaml +7 -0
- data/.gitignore +23 -0
- data/.rubocop.yml +131 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +143 -0
- data/Rakefile +4 -0
- data/lib/shoperb_liquid/configuration.rb +169 -0
- data/lib/shoperb_liquid/drops/account_drop.rb +9 -0
- data/lib/shoperb_liquid/drops/address_drop.rb +121 -0
- data/lib/shoperb_liquid/drops/array_drop.rb +18 -0
- data/lib/shoperb_liquid/drops/attribute_drop.rb +21 -0
- data/lib/shoperb_liquid/drops/base.rb +65 -0
- data/lib/shoperb_liquid/drops/blog_category_drop.rb +56 -0
- data/lib/shoperb_liquid/drops/blog_post_drop.rb +46 -0
- data/lib/shoperb_liquid/drops/cart_drop.rb +42 -0
- data/lib/shoperb_liquid/drops/cart_item_drop.rb +111 -0
- data/lib/shoperb_liquid/drops/categories_drop.rb +13 -0
- data/lib/shoperb_liquid/drops/category_drop.rb +110 -0
- data/lib/shoperb_liquid/drops/collection_drop.rb +117 -0
- data/lib/shoperb_liquid/drops/country_drop.rb +37 -0
- data/lib/shoperb_liquid/drops/currency_drop.rb +17 -0
- data/lib/shoperb_liquid/drops/customer_credit_drop.rb +23 -0
- data/lib/shoperb_liquid/drops/customer_credits_drop.rb +18 -0
- data/lib/shoperb_liquid/drops/customer_drop.rb +108 -0
- data/lib/shoperb_liquid/drops/customer_group_drop.rb +17 -0
- data/lib/shoperb_liquid/drops/gift_card_drop.rb +34 -0
- data/lib/shoperb_liquid/drops/image_drop.rb +27 -0
- data/lib/shoperb_liquid/drops/integration_drop.rb +25 -0
- data/lib/shoperb_liquid/drops/integrations_drop.rb +17 -0
- data/lib/shoperb_liquid/drops/language_drop.rb +17 -0
- data/lib/shoperb_liquid/drops/link_drop.rb +53 -0
- data/lib/shoperb_liquid/drops/media_file_drop.rb +29 -0
- data/lib/shoperb_liquid/drops/menu_drop.rb +25 -0
- data/lib/shoperb_liquid/drops/menus_drop.rb +16 -0
- data/lib/shoperb_liquid/drops/meta_drop.rb +21 -0
- data/lib/shoperb_liquid/drops/order_drop.rb +148 -0
- data/lib/shoperb_liquid/drops/order_item_attribute_drop.rb +8 -0
- data/lib/shoperb_liquid/drops/order_item_attributes_drop.rb +19 -0
- data/lib/shoperb_liquid/drops/order_item_drop.rb +159 -0
- data/lib/shoperb_liquid/drops/order_return_drop.rb +43 -0
- data/lib/shoperb_liquid/drops/order_return_item_drop.rb +30 -0
- data/lib/shoperb_liquid/drops/order_return_item_entity_drop.rb +13 -0
- data/lib/shoperb_liquid/drops/order_return_parcel_drop.rb +29 -0
- data/lib/shoperb_liquid/drops/order_returns_drop.rb +13 -0
- data/lib/shoperb_liquid/drops/orders_drop.rb +14 -0
- data/lib/shoperb_liquid/drops/page_drop.rb +26 -0
- data/lib/shoperb_liquid/drops/pages_drop.rb +12 -0
- data/lib/shoperb_liquid/drops/payment_card_drop.rb +29 -0
- data/lib/shoperb_liquid/drops/payment_method_drop.rb +41 -0
- data/lib/shoperb_liquid/drops/payment_provider_drop.rb +23 -0
- data/lib/shoperb_liquid/drops/product_attribute_drop.rb +14 -0
- data/lib/shoperb_liquid/drops/product_collection_drop.rb +41 -0
- data/lib/shoperb_liquid/drops/product_collections_drop.rb +12 -0
- data/lib/shoperb_liquid/drops/product_drop.rb +195 -0
- data/lib/shoperb_liquid/drops/product_type_drop.rb +25 -0
- data/lib/shoperb_liquid/drops/product_types_drop.rb +15 -0
- data/lib/shoperb_liquid/drops/products_drop.rb +44 -0
- data/lib/shoperb_liquid/drops/refund_drop.rb +22 -0
- data/lib/shoperb_liquid/drops/refund_item_drop.rb +18 -0
- data/lib/shoperb_liquid/drops/review_drop.rb +37 -0
- data/lib/shoperb_liquid/drops/search_drop.rb +45 -0
- data/lib/shoperb_liquid/drops/shipping_item_drop.rb +29 -0
- data/lib/shoperb_liquid/drops/shipping_method_drop.rb +25 -0
- data/lib/shoperb_liquid/drops/shipping_parcel_drop.rb +25 -0
- data/lib/shoperb_liquid/drops/shop_drop.rb +81 -0
- data/lib/shoperb_liquid/drops/subscription_drop.rb +51 -0
- data/lib/shoperb_liquid/drops/subscription_plan_drop.rb +63 -0
- data/lib/shoperb_liquid/drops/theme_section_blocks_drop.rb +19 -0
- data/lib/shoperb_liquid/drops/theme_section_drop.rb +30 -0
- data/lib/shoperb_liquid/drops/theme_section_image_drop.rb +11 -0
- data/lib/shoperb_liquid/drops/theme_section_settings_drop.rb +40 -0
- data/lib/shoperb_liquid/drops/theme_settings_drop.rb +60 -0
- data/lib/shoperb_liquid/drops/url_drop.rb +218 -0
- data/lib/shoperb_liquid/drops/variant_attribute_drop.rb +8 -0
- data/lib/shoperb_liquid/drops/variant_drop.rb +206 -0
- data/lib/shoperb_liquid/drops/variants_drop.rb +13 -0
- data/lib/shoperb_liquid/drops/vendor_drop.rb +77 -0
- data/lib/shoperb_liquid/drops/vendors_drop.rb +13 -0
- data/lib/shoperb_liquid/errors.rb +6 -0
- data/lib/shoperb_liquid/ext/array.rb +7 -0
- data/lib/shoperb_liquid/ext/context.rb +12 -0
- data/lib/shoperb_liquid/ext/models.rb +55 -0
- data/lib/shoperb_liquid/ext/template.rb +13 -0
- data/lib/shoperb_liquid/filters/asset_filters.rb +57 -0
- data/lib/shoperb_liquid/filters/collection_filters.rb +26 -0
- data/lib/shoperb_liquid/filters/datum_filters.rb +150 -0
- data/lib/shoperb_liquid/filters/extension_filters.rb +35 -0
- data/lib/shoperb_liquid/filters/html_filters.rb +46 -0
- data/lib/shoperb_liquid/filters/theme_filters.rb +22 -0
- data/lib/shoperb_liquid/filters/translate_filters.rb +16 -0
- data/lib/shoperb_liquid/filters/url_filters.rb +60 -0
- data/lib/shoperb_liquid/registers.rb +76 -0
- data/lib/shoperb_liquid/tags/cache_tag.rb +45 -0
- data/lib/shoperb_liquid/tags/form_tag.rb +47 -0
- data/lib/shoperb_liquid/tags/layout_tag.rb +21 -0
- data/lib/shoperb_liquid/tags/paginate_tag.rb +134 -0
- data/lib/shoperb_liquid/tags/products_filter_tag.rb +106 -0
- data/lib/shoperb_liquid/tags/section_tag.rb +113 -0
- data/lib/shoperb_liquid.rb +46 -0
- data/shoperb_liquid.gemspec +24 -0
- metadata +223 -0
@@ -0,0 +1,106 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module ShoperbLiquid
|
4
|
+
# Generates faceted/aggregated
|
5
|
+
# search markup data
|
6
|
+
#
|
7
|
+
# Usage:
|
8
|
+
#
|
9
|
+
# {% products_filter %}
|
10
|
+
# {% for search_group in groups %}
|
11
|
+
# {%assign param_name=search_group[0]%}
|
12
|
+
# {%assign param_conf=search_group[1]%}
|
13
|
+
# <span class="title">{{param_conf.name}}</span>
|
14
|
+
# <select name="{{param_name}}" class="values" multiple>
|
15
|
+
# {% for value in param_conf.values %}
|
16
|
+
# <option value="{{value}}">{{value}}</option>
|
17
|
+
# {% endfor %}
|
18
|
+
# </select>
|
19
|
+
# {% endfor %}
|
20
|
+
# {% products_filter %}
|
21
|
+
#
|
22
|
+
# you can also use next variables like `products_filter, what: 'full'`:
|
23
|
+
# * what - one of ['full', 'labels'], default: 'full'
|
24
|
+
class ProductsFilterTag < ::Liquid::Block
|
25
|
+
FULL = 'full'
|
26
|
+
LABELS = 'labels'
|
27
|
+
def initialize(tag_name, markup, options)
|
28
|
+
@parse_context = options # mark for parser
|
29
|
+
@attributes = {}
|
30
|
+
markup.scan(Liquid::TagAttributes) do |key, value|
|
31
|
+
# define liquid 4 or 5. parse_expression is for 5
|
32
|
+
@attributes[key] = defined?(parse_expression) ? parse_expression(value) : Liquid::Expression.parse(value)
|
33
|
+
end
|
34
|
+
|
35
|
+
@attributes["what"] ||= FULL
|
36
|
+
|
37
|
+
super
|
38
|
+
end
|
39
|
+
|
40
|
+
def facets(context)
|
41
|
+
json = {}
|
42
|
+
row = {}
|
43
|
+
pr_idxs = {}
|
44
|
+
context["products"].to_a.each_with_index do |pr, product_idx|
|
45
|
+
pr.variants.each do |v|
|
46
|
+
v.attributes.each do |va|
|
47
|
+
pr_idxs["#{va.handle}:#{va.value}"] ||= Set.new
|
48
|
+
pr_idxs["#{va.handle}:#{va.value}"].add(product_idx)
|
49
|
+
json[va.handle] ||= { "name" => va.name, "values" => {}}
|
50
|
+
json[va.handle]["values"][va.value] ||= { "label" => va.value, "count" => 1 }
|
51
|
+
json[va.handle]["values"][va.value]["count"] = pr_idxs["#{va.handle}:#{va.value}"].size
|
52
|
+
end
|
53
|
+
|
54
|
+
row[:min] = v.price.to_d if row[:min].nil? || row[:min] > v.price.to_d
|
55
|
+
row[:max] = v.price.to_d if row[:max].nil? || row[:max] < v.price.to_d
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
set_prices(json, row)
|
60
|
+
json
|
61
|
+
end
|
62
|
+
|
63
|
+
def labels(context)
|
64
|
+
json = {}
|
65
|
+
row = {}
|
66
|
+
context["products"].to_a.each_with_index do |pr, product_idx|
|
67
|
+
pr.variants.each do |v|
|
68
|
+
v.attributes.each do |va|
|
69
|
+
json[va.handle] ||= { "name" => va.name, "values" => {}}
|
70
|
+
end
|
71
|
+
|
72
|
+
row[:min] = v.price.to_d if row[:min].nil? || row[:min] > v.price.to_d
|
73
|
+
row[:max] = v.price.to_d if row[:max].nil? || row[:max] < v.price.to_d
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
set_prices(json, row)
|
78
|
+
json
|
79
|
+
end
|
80
|
+
|
81
|
+
def set_prices(json, row)
|
82
|
+
json["price"] = {
|
83
|
+
"name" => "Price",
|
84
|
+
"values" => {
|
85
|
+
"min" => {"label"=>"Minimum", "count"=>row[:min]},
|
86
|
+
"max" => {"label"=>"Maximum", "count"=>row[:max]}
|
87
|
+
}
|
88
|
+
}
|
89
|
+
end
|
90
|
+
|
91
|
+
|
92
|
+
# liquid < 5.0
|
93
|
+
def render(context)
|
94
|
+
context.stack do
|
95
|
+
nodelist = []
|
96
|
+
context["groups"] = case @attributes["what"]
|
97
|
+
when FULL then facets(context).stringify_keys!
|
98
|
+
when LABELS then labels(context).stringify_keys!
|
99
|
+
else {}
|
100
|
+
end
|
101
|
+
nodelist << super # other part of html
|
102
|
+
nodelist.join("<br />")
|
103
|
+
end
|
104
|
+
end
|
105
|
+
end
|
106
|
+
end
|
@@ -0,0 +1,113 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module ShoperbLiquid
|
4
|
+
class SectionTag < ::Liquid::Include
|
5
|
+
# liquid >=5
|
6
|
+
class PartialCache
|
7
|
+
def self.load(template_name, context:, parse_context:)
|
8
|
+
cached_partials = (context.registers[:cached_partials] ||= {})
|
9
|
+
cached = cached_partials[template_name]
|
10
|
+
return cached if cached
|
11
|
+
|
12
|
+
file_system = (context.registers[:file_system] ||= Liquid::Template.file_system)
|
13
|
+
# source = file_system.read_template_file(template_name) # original
|
14
|
+
source = file_system.read_section_file(template_name) # new
|
15
|
+
|
16
|
+
parse_context.partial = true
|
17
|
+
|
18
|
+
template_factory = (context.registers[:template_factory] ||= Liquid::TemplateFactory.new)
|
19
|
+
template = template_factory.for(template_name)
|
20
|
+
|
21
|
+
partial = template.parse(source, parse_context)
|
22
|
+
cached_partials[template_name] = partial
|
23
|
+
ensure
|
24
|
+
parse_context.partial = false
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
# liquid >= 5.0
|
29
|
+
# taken from "include" tag, changed a call to file system
|
30
|
+
def render_to_output_buffer(context, output)
|
31
|
+
template_name = context.evaluate(@template_name_expr)
|
32
|
+
raise ArgumentError, options[:locale].t("errors.argument.include") unless template_name
|
33
|
+
|
34
|
+
# new code
|
35
|
+
unless settings = context.registers[:theme].settings_data
|
36
|
+
raise ShoperbLiquid::Error, "No settings data for theme"
|
37
|
+
end
|
38
|
+
|
39
|
+
section_id = context.evaluate(@template_name_expr)
|
40
|
+
section_data = settings.data["sections"][section_id]
|
41
|
+
section_data["updated_at"] = context.registers[:theme].updated_at.to_f
|
42
|
+
context["section"] = ThemeSectionDrop.new(section_id, section_data)
|
43
|
+
# end of new code
|
44
|
+
|
45
|
+
partial = PartialCache.load( # need this line here
|
46
|
+
template_name,
|
47
|
+
context: context,
|
48
|
+
parse_context: parse_context
|
49
|
+
)
|
50
|
+
|
51
|
+
context_variable_name = @alias_name || template_name.split('/').last
|
52
|
+
|
53
|
+
variable = if @variable_name_expr
|
54
|
+
context.evaluate(@variable_name_expr)
|
55
|
+
else
|
56
|
+
context.find_variable(template_name, raise_on_not_found: false)
|
57
|
+
end
|
58
|
+
|
59
|
+
old_template_name = context.template_name
|
60
|
+
old_partial = context.partial
|
61
|
+
begin
|
62
|
+
context.template_name = template_name
|
63
|
+
context.partial = true
|
64
|
+
context.stack do
|
65
|
+
@attributes.each do |key, value|
|
66
|
+
context[key] = context.evaluate(value)
|
67
|
+
end
|
68
|
+
|
69
|
+
if variable.is_a?(Array)
|
70
|
+
variable.each do |var|
|
71
|
+
context[context_variable_name] = var
|
72
|
+
partial.render_to_output_buffer(context, output)
|
73
|
+
end
|
74
|
+
else
|
75
|
+
context[context_variable_name] = variable
|
76
|
+
partial.render_to_output_buffer(context, output)
|
77
|
+
end
|
78
|
+
end
|
79
|
+
ensure
|
80
|
+
context.template_name = old_template_name
|
81
|
+
context.partial = old_partial
|
82
|
+
end
|
83
|
+
|
84
|
+
output
|
85
|
+
end
|
86
|
+
|
87
|
+
# liquid < 5.0
|
88
|
+
def render(context)
|
89
|
+
context.stack do
|
90
|
+
unless settings = context.registers[:theme].settings_data
|
91
|
+
raise ShoperbLiquid::Error, "No settings data for theme"
|
92
|
+
end
|
93
|
+
|
94
|
+
section_id = context.evaluate(@template_name_expr)
|
95
|
+
section_data = settings.data["sections"][section_id]
|
96
|
+
section_data["updated_at"] = context.registers[:theme].updated_at.to_f
|
97
|
+
context["section"] = ThemeSectionDrop.new(section_id, section_data)
|
98
|
+
|
99
|
+
super
|
100
|
+
end
|
101
|
+
end
|
102
|
+
|
103
|
+
private
|
104
|
+
|
105
|
+
# liquid < 5.0
|
106
|
+
# taken from "include" tag, changed a call to file system
|
107
|
+
def read_template_from_file_system(context)
|
108
|
+
Liquid::Environment.default.file_system.read_section_file(
|
109
|
+
context.evaluate(@template_name_expr)
|
110
|
+
)
|
111
|
+
end
|
112
|
+
end
|
113
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "liquid"
|
4
|
+
require "pagy"
|
5
|
+
require "active_support/all"
|
6
|
+
require "shoperb_liquid/configuration"
|
7
|
+
require "shoperb_liquid/registers"
|
8
|
+
require "shoperb_liquid/errors"
|
9
|
+
autoload :ActionView, "action_view"
|
10
|
+
|
11
|
+
module ShoperbLiquid
|
12
|
+
def self.configure
|
13
|
+
yield(config)
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.config
|
17
|
+
@config ||= ShoperbLiquid::Configuration.new
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.env
|
21
|
+
config.environment
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.autoload_all(mod, folder)
|
25
|
+
Gem.find_files("#{folder}/*.rb").each { |path| require path }
|
26
|
+
end
|
27
|
+
|
28
|
+
def self.options(context, **options)
|
29
|
+
Registers.options(context, **options)
|
30
|
+
end
|
31
|
+
|
32
|
+
ShoperbLiquid.autoload_all self, "shoperb_liquid/ext"
|
33
|
+
ShoperbLiquid.autoload_all self, "shoperb_liquid/filters"
|
34
|
+
ShoperbLiquid.autoload_all self, "shoperb_liquid/tags"
|
35
|
+
|
36
|
+
require "shoperb_liquid/drops/base"
|
37
|
+
require "shoperb_liquid/drops/collection_drop"
|
38
|
+
|
39
|
+
ShoperbLiquid.autoload_all self, "shoperb_liquid/drops"
|
40
|
+
|
41
|
+
Registers.register_filters
|
42
|
+
Registers.register_tags
|
43
|
+
|
44
|
+
class Template < Liquid::Template; end
|
45
|
+
|
46
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
# frozen_string_literal: true
|
3
|
+
Gem::Specification.new do |gem|
|
4
|
+
gem.name = "shoperb_liquid"
|
5
|
+
gem.version = "0.0.1"
|
6
|
+
gem.required_ruby_version = ">= 3.2.0"
|
7
|
+
|
8
|
+
gem.authors = ["Shoperb"]
|
9
|
+
gem.email = ["engineering@shoperb.com"]
|
10
|
+
gem.summary = "shoperb_liquid is a liquid drops, tags and filters for Shoperb"
|
11
|
+
gem.homepage = "https://shoperb.dev"
|
12
|
+
|
13
|
+
gem.files = `git ls-files`.split($/)
|
14
|
+
gem.executables = gem.files.grep(%r{^bin/}).map { |f| File.basename(f) }
|
15
|
+
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
16
|
+
gem.require_paths = ["lib", "liquid/lib"]
|
17
|
+
|
18
|
+
gem.add_dependency "liquid", "~> 4.0.0"
|
19
|
+
gem.add_dependency "activesupport", "~> 7.1.2"
|
20
|
+
gem.add_dependency "actionpack", "~> 7.1.2"
|
21
|
+
gem.add_dependency "pagy", "~> 9.3.5"
|
22
|
+
gem.add_dependency "i18n", "~> 1.9.0"
|
23
|
+
gem.add_dependency "request_store", "~> 1.7.0"
|
24
|
+
end
|
metadata
ADDED
@@ -0,0 +1,223 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: shoperb_liquid
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Shoperb
|
8
|
+
bindir: bin
|
9
|
+
cert_chain: []
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
11
|
+
dependencies:
|
12
|
+
- !ruby/object:Gem::Dependency
|
13
|
+
name: liquid
|
14
|
+
requirement: !ruby/object:Gem::Requirement
|
15
|
+
requirements:
|
16
|
+
- - "~>"
|
17
|
+
- !ruby/object:Gem::Version
|
18
|
+
version: 4.0.0
|
19
|
+
type: :runtime
|
20
|
+
prerelease: false
|
21
|
+
version_requirements: !ruby/object:Gem::Requirement
|
22
|
+
requirements:
|
23
|
+
- - "~>"
|
24
|
+
- !ruby/object:Gem::Version
|
25
|
+
version: 4.0.0
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: activesupport
|
28
|
+
requirement: !ruby/object:Gem::Requirement
|
29
|
+
requirements:
|
30
|
+
- - "~>"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 7.1.2
|
33
|
+
type: :runtime
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - "~>"
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: 7.1.2
|
40
|
+
- !ruby/object:Gem::Dependency
|
41
|
+
name: actionpack
|
42
|
+
requirement: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - "~>"
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: 7.1.2
|
47
|
+
type: :runtime
|
48
|
+
prerelease: false
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - "~>"
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 7.1.2
|
54
|
+
- !ruby/object:Gem::Dependency
|
55
|
+
name: pagy
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - "~>"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: 9.3.5
|
61
|
+
type: :runtime
|
62
|
+
prerelease: false
|
63
|
+
version_requirements: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - "~>"
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: 9.3.5
|
68
|
+
- !ruby/object:Gem::Dependency
|
69
|
+
name: i18n
|
70
|
+
requirement: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - "~>"
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: 1.9.0
|
75
|
+
type: :runtime
|
76
|
+
prerelease: false
|
77
|
+
version_requirements: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - "~>"
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: 1.9.0
|
82
|
+
- !ruby/object:Gem::Dependency
|
83
|
+
name: request_store
|
84
|
+
requirement: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - "~>"
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: 1.7.0
|
89
|
+
type: :runtime
|
90
|
+
prerelease: false
|
91
|
+
version_requirements: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - "~>"
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: 1.7.0
|
96
|
+
email:
|
97
|
+
- engineering@shoperb.com
|
98
|
+
executables: []
|
99
|
+
extensions: []
|
100
|
+
extra_rdoc_files: []
|
101
|
+
files:
|
102
|
+
- ".gitignore"
|
103
|
+
- ".rubocop.yml"
|
104
|
+
- Gemfile
|
105
|
+
- LICENSE.txt
|
106
|
+
- README.md
|
107
|
+
- Rakefile
|
108
|
+
- lib/shoperb_liquid.rb
|
109
|
+
- lib/shoperb_liquid/configuration.rb
|
110
|
+
- lib/shoperb_liquid/drops/account_drop.rb
|
111
|
+
- lib/shoperb_liquid/drops/address_drop.rb
|
112
|
+
- lib/shoperb_liquid/drops/array_drop.rb
|
113
|
+
- lib/shoperb_liquid/drops/attribute_drop.rb
|
114
|
+
- lib/shoperb_liquid/drops/base.rb
|
115
|
+
- lib/shoperb_liquid/drops/blog_category_drop.rb
|
116
|
+
- lib/shoperb_liquid/drops/blog_post_drop.rb
|
117
|
+
- lib/shoperb_liquid/drops/cart_drop.rb
|
118
|
+
- lib/shoperb_liquid/drops/cart_item_drop.rb
|
119
|
+
- lib/shoperb_liquid/drops/categories_drop.rb
|
120
|
+
- lib/shoperb_liquid/drops/category_drop.rb
|
121
|
+
- lib/shoperb_liquid/drops/collection_drop.rb
|
122
|
+
- lib/shoperb_liquid/drops/country_drop.rb
|
123
|
+
- lib/shoperb_liquid/drops/currency_drop.rb
|
124
|
+
- lib/shoperb_liquid/drops/customer_credit_drop.rb
|
125
|
+
- lib/shoperb_liquid/drops/customer_credits_drop.rb
|
126
|
+
- lib/shoperb_liquid/drops/customer_drop.rb
|
127
|
+
- lib/shoperb_liquid/drops/customer_group_drop.rb
|
128
|
+
- lib/shoperb_liquid/drops/gift_card_drop.rb
|
129
|
+
- lib/shoperb_liquid/drops/image_drop.rb
|
130
|
+
- lib/shoperb_liquid/drops/integration_drop.rb
|
131
|
+
- lib/shoperb_liquid/drops/integrations_drop.rb
|
132
|
+
- lib/shoperb_liquid/drops/language_drop.rb
|
133
|
+
- lib/shoperb_liquid/drops/link_drop.rb
|
134
|
+
- lib/shoperb_liquid/drops/media_file_drop.rb
|
135
|
+
- lib/shoperb_liquid/drops/menu_drop.rb
|
136
|
+
- lib/shoperb_liquid/drops/menus_drop.rb
|
137
|
+
- lib/shoperb_liquid/drops/meta_drop.rb
|
138
|
+
- lib/shoperb_liquid/drops/order_drop.rb
|
139
|
+
- lib/shoperb_liquid/drops/order_item_attribute_drop.rb
|
140
|
+
- lib/shoperb_liquid/drops/order_item_attributes_drop.rb
|
141
|
+
- lib/shoperb_liquid/drops/order_item_drop.rb
|
142
|
+
- lib/shoperb_liquid/drops/order_return_drop.rb
|
143
|
+
- lib/shoperb_liquid/drops/order_return_item_drop.rb
|
144
|
+
- lib/shoperb_liquid/drops/order_return_item_entity_drop.rb
|
145
|
+
- lib/shoperb_liquid/drops/order_return_parcel_drop.rb
|
146
|
+
- lib/shoperb_liquid/drops/order_returns_drop.rb
|
147
|
+
- lib/shoperb_liquid/drops/orders_drop.rb
|
148
|
+
- lib/shoperb_liquid/drops/page_drop.rb
|
149
|
+
- lib/shoperb_liquid/drops/pages_drop.rb
|
150
|
+
- lib/shoperb_liquid/drops/payment_card_drop.rb
|
151
|
+
- lib/shoperb_liquid/drops/payment_method_drop.rb
|
152
|
+
- lib/shoperb_liquid/drops/payment_provider_drop.rb
|
153
|
+
- lib/shoperb_liquid/drops/product_attribute_drop.rb
|
154
|
+
- lib/shoperb_liquid/drops/product_collection_drop.rb
|
155
|
+
- lib/shoperb_liquid/drops/product_collections_drop.rb
|
156
|
+
- lib/shoperb_liquid/drops/product_drop.rb
|
157
|
+
- lib/shoperb_liquid/drops/product_type_drop.rb
|
158
|
+
- lib/shoperb_liquid/drops/product_types_drop.rb
|
159
|
+
- lib/shoperb_liquid/drops/products_drop.rb
|
160
|
+
- lib/shoperb_liquid/drops/refund_drop.rb
|
161
|
+
- lib/shoperb_liquid/drops/refund_item_drop.rb
|
162
|
+
- lib/shoperb_liquid/drops/review_drop.rb
|
163
|
+
- lib/shoperb_liquid/drops/search_drop.rb
|
164
|
+
- lib/shoperb_liquid/drops/shipping_item_drop.rb
|
165
|
+
- lib/shoperb_liquid/drops/shipping_method_drop.rb
|
166
|
+
- lib/shoperb_liquid/drops/shipping_parcel_drop.rb
|
167
|
+
- lib/shoperb_liquid/drops/shop_drop.rb
|
168
|
+
- lib/shoperb_liquid/drops/subscription_drop.rb
|
169
|
+
- lib/shoperb_liquid/drops/subscription_plan_drop.rb
|
170
|
+
- lib/shoperb_liquid/drops/theme_section_blocks_drop.rb
|
171
|
+
- lib/shoperb_liquid/drops/theme_section_drop.rb
|
172
|
+
- lib/shoperb_liquid/drops/theme_section_image_drop.rb
|
173
|
+
- lib/shoperb_liquid/drops/theme_section_settings_drop.rb
|
174
|
+
- lib/shoperb_liquid/drops/theme_settings_drop.rb
|
175
|
+
- lib/shoperb_liquid/drops/url_drop.rb
|
176
|
+
- lib/shoperb_liquid/drops/variant_attribute_drop.rb
|
177
|
+
- lib/shoperb_liquid/drops/variant_drop.rb
|
178
|
+
- lib/shoperb_liquid/drops/variants_drop.rb
|
179
|
+
- lib/shoperb_liquid/drops/vendor_drop.rb
|
180
|
+
- lib/shoperb_liquid/drops/vendors_drop.rb
|
181
|
+
- lib/shoperb_liquid/errors.rb
|
182
|
+
- lib/shoperb_liquid/ext/array.rb
|
183
|
+
- lib/shoperb_liquid/ext/context.rb
|
184
|
+
- lib/shoperb_liquid/ext/models.rb
|
185
|
+
- lib/shoperb_liquid/ext/template.rb
|
186
|
+
- lib/shoperb_liquid/filters/asset_filters.rb
|
187
|
+
- lib/shoperb_liquid/filters/collection_filters.rb
|
188
|
+
- lib/shoperb_liquid/filters/datum_filters.rb
|
189
|
+
- lib/shoperb_liquid/filters/extension_filters.rb
|
190
|
+
- lib/shoperb_liquid/filters/html_filters.rb
|
191
|
+
- lib/shoperb_liquid/filters/theme_filters.rb
|
192
|
+
- lib/shoperb_liquid/filters/translate_filters.rb
|
193
|
+
- lib/shoperb_liquid/filters/url_filters.rb
|
194
|
+
- lib/shoperb_liquid/registers.rb
|
195
|
+
- lib/shoperb_liquid/tags/cache_tag.rb
|
196
|
+
- lib/shoperb_liquid/tags/form_tag.rb
|
197
|
+
- lib/shoperb_liquid/tags/layout_tag.rb
|
198
|
+
- lib/shoperb_liquid/tags/paginate_tag.rb
|
199
|
+
- lib/shoperb_liquid/tags/products_filter_tag.rb
|
200
|
+
- lib/shoperb_liquid/tags/section_tag.rb
|
201
|
+
- shoperb_liquid.gemspec
|
202
|
+
homepage: https://shoperb.dev
|
203
|
+
licenses: []
|
204
|
+
metadata: {}
|
205
|
+
rdoc_options: []
|
206
|
+
require_paths:
|
207
|
+
- lib
|
208
|
+
- liquid/lib
|
209
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
210
|
+
requirements:
|
211
|
+
- - ">="
|
212
|
+
- !ruby/object:Gem::Version
|
213
|
+
version: 3.2.0
|
214
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
215
|
+
requirements:
|
216
|
+
- - ">="
|
217
|
+
- !ruby/object:Gem::Version
|
218
|
+
version: '0'
|
219
|
+
requirements: []
|
220
|
+
rubygems_version: 3.6.7
|
221
|
+
specification_version: 4
|
222
|
+
summary: shoperb_liquid is a liquid drops, tags and filters for Shoperb
|
223
|
+
test_files: []
|