taktsoft_liquid-rails 0.1.4
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/.coveralls.yml +2 -0
- data/.gitignore +24 -0
- data/.rspec +1 -0
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/.travis.yml +28 -0
- data/CHANGELOG.md +44 -0
- data/Gemfile +4 -0
- data/Guardfile +33 -0
- data/LICENSE.txt +22 -0
- data/README.md +152 -0
- data/Rakefile +25 -0
- data/gemfiles/rails_32.gemfile +9 -0
- data/gemfiles/rails_40.gemfile +8 -0
- data/gemfiles/rails_41.gemfile +8 -0
- data/gemfiles/rails_42.gemfile +8 -0
- data/gemfiles/rails_50.gemfile +5 -0
- data/lib/liquid-rails/drops/collection_drop.rb +91 -0
- data/lib/liquid-rails/drops/drop.rb +114 -0
- data/lib/liquid-rails/drops/droppable.rb +22 -0
- data/lib/liquid-rails/file_system.rb +13 -0
- data/lib/liquid-rails/filters/asset_tag_filter.rb +25 -0
- data/lib/liquid-rails/filters/asset_url_filter.rb +37 -0
- data/lib/liquid-rails/filters/date_filter.rb +19 -0
- data/lib/liquid-rails/filters/google_static_map_url_filter.rb +30 -0
- data/lib/liquid-rails/filters/misc_filter.rb +29 -0
- data/lib/liquid-rails/filters/number_filter.rb +24 -0
- data/lib/liquid-rails/filters/paginate_filter.rb +59 -0
- data/lib/liquid-rails/filters/sanitize_filter.rb +19 -0
- data/lib/liquid-rails/filters/text_filter.rb +46 -0
- data/lib/liquid-rails/filters/translate_filter.rb +14 -0
- data/lib/liquid-rails/filters/url_filter.rb +24 -0
- data/lib/liquid-rails/matchers.rb +5 -0
- data/lib/liquid-rails/railtie.rb +26 -0
- data/lib/liquid-rails/rspec/drop_example_group.rb +38 -0
- data/lib/liquid-rails/rspec/drop_matchers.rb +165 -0
- data/lib/liquid-rails/rspec/filter_example_group.rb +24 -0
- data/lib/liquid-rails/rspec/tag_example_group.rb +24 -0
- data/lib/liquid-rails/rspec/view_controller_context.rb +63 -0
- data/lib/liquid-rails/tags/content_for_tag.rb +77 -0
- data/lib/liquid-rails/tags/csrf_meta_tags.rb +11 -0
- data/lib/liquid-rails/tags/google_analytics_tag.rb +40 -0
- data/lib/liquid-rails/tags/javascript_tag.rb +22 -0
- data/lib/liquid-rails/tags/paginate_tag.rb +118 -0
- data/lib/liquid-rails/template_handler.rb +44 -0
- data/lib/liquid-rails/version.rb +5 -0
- data/lib/liquid-rails.rb +23 -0
- data/liquid-rails.gemspec +43 -0
- metadata +262 -0
@@ -0,0 +1,77 @@
|
|
1
|
+
# It works similar to Rails #content_for.
|
2
|
+
# Calling #content_for stores a block of markup in an identifier for later use.
|
3
|
+
# In order to access this stored content in other templates or the layout, you would pass the identifier as an argument to content_for.
|
4
|
+
#
|
5
|
+
# Usage:
|
6
|
+
#
|
7
|
+
# {% content_for not_authorized %}
|
8
|
+
# alert('You are not authorized to do that!');
|
9
|
+
# {% endcontent_for %}
|
10
|
+
#
|
11
|
+
# You can then use content_for :not_authorized anywhere in your templates.
|
12
|
+
# {% if current_user.nil? %}
|
13
|
+
# {% yield not_authorized %}
|
14
|
+
# {% endif %}
|
15
|
+
|
16
|
+
module Liquid
|
17
|
+
module Rails
|
18
|
+
class ContentForTag < ::Liquid::Block
|
19
|
+
Syntax = /(#{::Liquid::QuotedFragment}+)\s*(flush\s*(true|false))?/
|
20
|
+
|
21
|
+
def initialize(tag_name, markup, context)
|
22
|
+
super
|
23
|
+
|
24
|
+
if markup =~ Syntax
|
25
|
+
@flush = $3
|
26
|
+
@identifier = $1.gsub('\'', '')
|
27
|
+
else
|
28
|
+
raise SyntaxError.new("Syntax Error - Valid syntax: {% content_for [name] %}")
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
def render(context)
|
33
|
+
@context = context
|
34
|
+
content = super.html_safe
|
35
|
+
|
36
|
+
if ::Rails::VERSION::MAJOR == 3 && ::Rails::VERSION::MINOR == 2
|
37
|
+
if @flush == 'true'
|
38
|
+
@context.registers[:view].view_flow.set(@identifier, content) if content
|
39
|
+
else
|
40
|
+
@context.registers[:view].view_flow.append(@identifier, content) if content
|
41
|
+
end
|
42
|
+
else
|
43
|
+
options = @flush == 'true' ? { flush: true } : {}
|
44
|
+
@context.registers[:view].content_for(@identifier, content, options)
|
45
|
+
end
|
46
|
+
''
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
module Liquid
|
53
|
+
module Rails
|
54
|
+
class YieldTag < ::Liquid::Tag
|
55
|
+
Syntax = /(#{::Liquid::QuotedFragment}+)/
|
56
|
+
|
57
|
+
def initialize(tag_name, markup, context)
|
58
|
+
super
|
59
|
+
|
60
|
+
if markup =~ Syntax
|
61
|
+
@identifier = $1.gsub('\'', '')
|
62
|
+
else
|
63
|
+
raise SyntaxError.new("Syntax Error - Valid syntax: {% yield [name] %}")
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
def render(context)
|
68
|
+
@context = context
|
69
|
+
|
70
|
+
@context.registers[:view].content_for(@identifier).try(:html_safe)
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
Liquid::Template.register_tag('content_for', Liquid::Rails::ContentForTag)
|
77
|
+
Liquid::Template.register_tag('yield', Liquid::Rails::YieldTag)
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# Returns a Google Analytics tag.
|
2
|
+
#
|
3
|
+
# Usage:
|
4
|
+
#
|
5
|
+
# {% google_analytics_tag 'UA-XXXXX-X' %}
|
6
|
+
|
7
|
+
module Liquid
|
8
|
+
module Rails
|
9
|
+
class GoogleAnalyticsTag < ::Liquid::Tag
|
10
|
+
Syntax = /(#{::Liquid::QuotedFragment}+)?/
|
11
|
+
|
12
|
+
def initialize(tag_name, markup, tokens)
|
13
|
+
if markup =~ Syntax
|
14
|
+
@account_id = $1.gsub('\'', '')
|
15
|
+
else
|
16
|
+
raise ::Liquid::SyntaxError.new("Syntax Error in 'google_analytics_tag' - Valid syntax: google_analytics_tag <account_id>")
|
17
|
+
end
|
18
|
+
|
19
|
+
super
|
20
|
+
end
|
21
|
+
|
22
|
+
def render(context)
|
23
|
+
%{
|
24
|
+
<script type="text/javascript">
|
25
|
+
|
26
|
+
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
27
|
+
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
28
|
+
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
29
|
+
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
30
|
+
ga('create', '#{@account_id}', 'auto');
|
31
|
+
ga('send', 'pageview');
|
32
|
+
|
33
|
+
</script>
|
34
|
+
}
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
Liquid::Template.register_tag('google_analytics_tag', Liquid::Rails::GoogleAnalyticsTag)
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# Returns a JavaScript tag with the content inside.
|
2
|
+
#
|
3
|
+
# Usage:
|
4
|
+
#
|
5
|
+
# {% javascript_tag %}
|
6
|
+
# alert('Hello Liquid Rails!');
|
7
|
+
# {% endjavascript_tag %}
|
8
|
+
|
9
|
+
module Liquid
|
10
|
+
module Rails
|
11
|
+
class JavascriptTag < ::Liquid::Block
|
12
|
+
include ActionView::Helpers::JavaScriptHelper
|
13
|
+
include ActionView::Helpers::TagHelper
|
14
|
+
|
15
|
+
def render(context)
|
16
|
+
javascript_tag(super, type: 'text/javascript')
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
Liquid::Template.register_tag('javascript_tag', Liquid::Rails::JavascriptTag)
|
@@ -0,0 +1,118 @@
|
|
1
|
+
# Paginate a collection
|
2
|
+
#
|
3
|
+
# Usage:
|
4
|
+
#
|
5
|
+
# {% paginate listing.photos by 5 %}
|
6
|
+
# {% for photo in paginate.collection %}
|
7
|
+
# {{ photo.caption }}
|
8
|
+
# {% endfor %}
|
9
|
+
# {% endpaginate %}
|
10
|
+
#
|
11
|
+
module Liquid
|
12
|
+
module Rails
|
13
|
+
class PaginateTag < ::Liquid::Block
|
14
|
+
Syntax = /(#{::Liquid::QuotedFragment})\s*(by\s*(\d+))?/
|
15
|
+
|
16
|
+
def initialize(tag_name, markup, context)
|
17
|
+
super
|
18
|
+
|
19
|
+
if markup =~ Syntax
|
20
|
+
@collection_name = $1
|
21
|
+
@page_size = if $2
|
22
|
+
$3.to_i
|
23
|
+
else
|
24
|
+
25
|
25
|
+
end
|
26
|
+
|
27
|
+
@attributes = { 'window_size' => 3 }
|
28
|
+
markup.scan(Liquid::TagAttributes) do |key, value|
|
29
|
+
@attributes[key] = value
|
30
|
+
end
|
31
|
+
else
|
32
|
+
raise SyntaxError.new("Syntax Error in tag 'paginate' - Valid syntax: paginate [collection] by number")
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def render(context)
|
37
|
+
@context = context
|
38
|
+
|
39
|
+
context.stack do
|
40
|
+
collection = @context[@collection_name].presence || @context.environments[0][@collection_name]
|
41
|
+
raise ::Liquid::ArgumentError.new("Cannot paginate collection '#{@collection_name}'. Not found.") if collection.nil?
|
42
|
+
|
43
|
+
if collection.is_a? Array
|
44
|
+
paginated_collection = Kaminari.paginate_array(collection.to_a).page(current_page).per(@page_size)
|
45
|
+
elsif collection.respond_to?(:page)
|
46
|
+
paginated_collection = collection.page(current_page).per(@page_size)
|
47
|
+
end
|
48
|
+
|
49
|
+
page_count = paginated_collection.total_pages
|
50
|
+
pagination = {}
|
51
|
+
pagination['collection'] = paginated_collection
|
52
|
+
pagination['current_offset'] = (current_page-1) * @page_size
|
53
|
+
pagination['current_page'] = current_page
|
54
|
+
pagination['page_size'] = @page_size
|
55
|
+
pagination['pages'] = page_count
|
56
|
+
pagination['items'] = paginated_collection.total_count
|
57
|
+
pagination['previous'] = link('« Previous'.html_safe, current_page-1 ) unless 1 >= current_page
|
58
|
+
pagination['next'] = link('Next »'.html_safe, current_page+1 ) unless page_count < current_page+1
|
59
|
+
pagination['parts'] = []
|
60
|
+
|
61
|
+
hellip_break = false
|
62
|
+
if page_count > 1
|
63
|
+
1.upto(page_count) do |page|
|
64
|
+
|
65
|
+
if current_page == page
|
66
|
+
pagination['parts'] << no_link(page)
|
67
|
+
elsif page == 1
|
68
|
+
pagination['parts'] << link(page, page)
|
69
|
+
elsif page == page_count - 1
|
70
|
+
pagination['parts'] << link(page, page)
|
71
|
+
elsif page <= current_page - window_size or page >= current_page + window_size
|
72
|
+
next if hellip_break
|
73
|
+
pagination['parts'] << no_link('…')
|
74
|
+
hellip_break = true
|
75
|
+
next
|
76
|
+
else
|
77
|
+
pagination['parts'] << link(page, page)
|
78
|
+
end
|
79
|
+
|
80
|
+
hellip_break = false
|
81
|
+
end
|
82
|
+
end
|
83
|
+
context['paginate'] = pagination
|
84
|
+
|
85
|
+
super
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
private
|
90
|
+
|
91
|
+
def current_page
|
92
|
+
_current_page = @context.registers[:controller].params[:page]
|
93
|
+
_current_page.nil? ? 1 : _current_page.to_i
|
94
|
+
end
|
95
|
+
|
96
|
+
def current_url
|
97
|
+
current_url = @context.registers[:controller].request.fullpath.gsub(/page=[0-9]+&?/, '')
|
98
|
+
current_url = current_url.slice(0..-2) if current_url.last == '?' || current_url.last == '&'
|
99
|
+
current_url
|
100
|
+
end
|
101
|
+
|
102
|
+
def window_size
|
103
|
+
@attributes['window_size']
|
104
|
+
end
|
105
|
+
|
106
|
+
def no_link(title)
|
107
|
+
{ 'title' => title, 'is_link' => false, 'hellip_break' => (title == '…') }
|
108
|
+
end
|
109
|
+
|
110
|
+
def link(title, page)
|
111
|
+
_current_url = %(#{current_url}#{current_url.include?('?') ? '&' : '?'}page=#{page})
|
112
|
+
{ 'title' => title, 'url' => _current_url, 'is_link' => true }
|
113
|
+
end
|
114
|
+
end
|
115
|
+
end
|
116
|
+
end
|
117
|
+
|
118
|
+
Liquid::Template.register_tag('paginate', Liquid::Rails::PaginateTag)
|
@@ -0,0 +1,44 @@
|
|
1
|
+
module Liquid
|
2
|
+
module Rails
|
3
|
+
class TemplateHandler
|
4
|
+
|
5
|
+
def self.call(template)
|
6
|
+
"Liquid::Rails::TemplateHandler.new(self).render(#{template.source.inspect}, local_assigns)"
|
7
|
+
end
|
8
|
+
|
9
|
+
def initialize(view)
|
10
|
+
@view = view
|
11
|
+
@controller = @view.controller
|
12
|
+
@helper = ActionController::Base.helpers
|
13
|
+
end
|
14
|
+
|
15
|
+
def render(template, local_assigns={})
|
16
|
+
@view.controller.headers['Content-Type'] ||= 'text/html; charset=utf-8'
|
17
|
+
|
18
|
+
assigns = if @controller.respond_to?(:liquid_assigns, true)
|
19
|
+
@controller.send(:liquid_assigns)
|
20
|
+
else
|
21
|
+
@view.assigns
|
22
|
+
end
|
23
|
+
assigns['content_for_layout'] = @view.content_for(:layout) if @view.content_for?(:layout)
|
24
|
+
assigns.merge!(local_assigns.stringify_keys)
|
25
|
+
|
26
|
+
liquid = Liquid::Template.parse(template)
|
27
|
+
render_method = (::Rails.env.development? || ::Rails.env.test?) ? :render! : :render
|
28
|
+
liquid.send(render_method, assigns, filters: filters, registers: { view: @view, controller: @controller, helper: @helper }).html_safe
|
29
|
+
end
|
30
|
+
|
31
|
+
def filters
|
32
|
+
if @controller.respond_to?(:liquid_filters, true)
|
33
|
+
@controller.send(:liquid_filters)
|
34
|
+
else
|
35
|
+
[@controller._helpers]
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def compilable?
|
40
|
+
false
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
data/lib/liquid-rails.rb
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'liquid-rails/version'
|
2
|
+
require 'liquid'
|
3
|
+
require 'kaminari'
|
4
|
+
require 'active_support/concern'
|
5
|
+
|
6
|
+
module Liquid
|
7
|
+
module Rails
|
8
|
+
autoload :TemplateHandler, 'liquid-rails/template_handler'
|
9
|
+
autoload :FileSystem, 'liquid-rails/file_system'
|
10
|
+
|
11
|
+
autoload :Drop, 'liquid-rails/drops/drop'
|
12
|
+
autoload :CollectionDrop, 'liquid-rails/drops/collection_drop'
|
13
|
+
|
14
|
+
def self.setup_drop(base)
|
15
|
+
base.class_eval do
|
16
|
+
include Liquid::Rails::Droppable
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
require 'liquid-rails/railtie' if defined?(Rails)
|
23
|
+
Dir[File.dirname(__FILE__) + '/liquid-rails/{filters,tags,drops}/*.rb'].each { |f| require f }
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'liquid-rails/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = 'taktsoft_liquid-rails'
|
8
|
+
spec.version = Liquid::Rails::VERSION
|
9
|
+
spec.authors = ['Chamnap Chhorn', 'Taktsoft Developers']
|
10
|
+
spec.email = ['chamnapchhorn@gmail.com', 'developers@taktsoft.com']
|
11
|
+
spec.summary = %q{Renders liquid templates with layout and partial support}
|
12
|
+
spec.description = %q{It allows you to render .liquid templates with layout and partial support. It also provides filters, tags, drops class to be used inside your liquid template.}
|
13
|
+
spec.homepage = 'https://github.com/taktsoft/liquid-rails'
|
14
|
+
spec.license = 'MIT'
|
15
|
+
spec.required_ruby_version = '>= 2.0.0'
|
16
|
+
spec.required_rubygems_version = '>= 1.8.11'
|
17
|
+
|
18
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
19
|
+
spec.bindir = "exe"
|
20
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
21
|
+
spec.require_paths = ["lib"]
|
22
|
+
|
23
|
+
# Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
|
24
|
+
# to allow pushing to a single host or delete this section to allow pushing to any host.
|
25
|
+
if spec.respond_to?(:metadata)
|
26
|
+
spec.metadata['allowed_push_host'] = "https://rubygems.org"
|
27
|
+
else
|
28
|
+
raise "RubyGems 2.0 or newer is required to protect against public gem pushes."
|
29
|
+
end
|
30
|
+
|
31
|
+
spec.add_dependency 'rails', '>= 3.2', '< 5.1'
|
32
|
+
spec.add_dependency 'liquid', '>= 3.0.0', '< 4.0'
|
33
|
+
spec.add_dependency 'kaminari', '>= 0.16.1'
|
34
|
+
|
35
|
+
spec.add_development_dependency 'bundler', '>= 1.0.0'
|
36
|
+
spec.add_development_dependency 'rake', '>= 0'
|
37
|
+
spec.add_development_dependency 'rspec-rails', '>= 0'
|
38
|
+
spec.add_development_dependency 'guard-rspec', '>= 0'
|
39
|
+
spec.add_development_dependency 'pry-rails', '>= 0'
|
40
|
+
spec.add_development_dependency 'capybara', '>= 0'
|
41
|
+
spec.add_development_dependency 'coveralls', '>= 0'
|
42
|
+
spec.add_development_dependency 'simplecov', '>= 0'
|
43
|
+
end
|
metadata
ADDED
@@ -0,0 +1,262 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: taktsoft_liquid-rails
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.4
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Chamnap Chhorn
|
8
|
+
- Taktsoft Developers
|
9
|
+
autorequire:
|
10
|
+
bindir: exe
|
11
|
+
cert_chain: []
|
12
|
+
date: 2016-08-29 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: rails
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - ">="
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: '3.2'
|
21
|
+
- - "<"
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: '5.1'
|
24
|
+
type: :runtime
|
25
|
+
prerelease: false
|
26
|
+
version_requirements: !ruby/object:Gem::Requirement
|
27
|
+
requirements:
|
28
|
+
- - ">="
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
version: '3.2'
|
31
|
+
- - "<"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '5.1'
|
34
|
+
- !ruby/object:Gem::Dependency
|
35
|
+
name: liquid
|
36
|
+
requirement: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 3.0.0
|
41
|
+
- - "<"
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '4.0'
|
44
|
+
type: :runtime
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: !ruby/object:Gem::Requirement
|
47
|
+
requirements:
|
48
|
+
- - ">="
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: 3.0.0
|
51
|
+
- - "<"
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '4.0'
|
54
|
+
- !ruby/object:Gem::Dependency
|
55
|
+
name: kaminari
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - ">="
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: 0.16.1
|
61
|
+
type: :runtime
|
62
|
+
prerelease: false
|
63
|
+
version_requirements: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - ">="
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: 0.16.1
|
68
|
+
- !ruby/object:Gem::Dependency
|
69
|
+
name: bundler
|
70
|
+
requirement: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - ">="
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: 1.0.0
|
75
|
+
type: :development
|
76
|
+
prerelease: false
|
77
|
+
version_requirements: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - ">="
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: 1.0.0
|
82
|
+
- !ruby/object:Gem::Dependency
|
83
|
+
name: rake
|
84
|
+
requirement: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - ">="
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '0'
|
89
|
+
type: :development
|
90
|
+
prerelease: false
|
91
|
+
version_requirements: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - ">="
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '0'
|
96
|
+
- !ruby/object:Gem::Dependency
|
97
|
+
name: rspec-rails
|
98
|
+
requirement: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - ">="
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: '0'
|
103
|
+
type: :development
|
104
|
+
prerelease: false
|
105
|
+
version_requirements: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - ">="
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: guard-rspec
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
requirements:
|
114
|
+
- - ">="
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: '0'
|
117
|
+
type: :development
|
118
|
+
prerelease: false
|
119
|
+
version_requirements: !ruby/object:Gem::Requirement
|
120
|
+
requirements:
|
121
|
+
- - ">="
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: '0'
|
124
|
+
- !ruby/object:Gem::Dependency
|
125
|
+
name: pry-rails
|
126
|
+
requirement: !ruby/object:Gem::Requirement
|
127
|
+
requirements:
|
128
|
+
- - ">="
|
129
|
+
- !ruby/object:Gem::Version
|
130
|
+
version: '0'
|
131
|
+
type: :development
|
132
|
+
prerelease: false
|
133
|
+
version_requirements: !ruby/object:Gem::Requirement
|
134
|
+
requirements:
|
135
|
+
- - ">="
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
version: '0'
|
138
|
+
- !ruby/object:Gem::Dependency
|
139
|
+
name: capybara
|
140
|
+
requirement: !ruby/object:Gem::Requirement
|
141
|
+
requirements:
|
142
|
+
- - ">="
|
143
|
+
- !ruby/object:Gem::Version
|
144
|
+
version: '0'
|
145
|
+
type: :development
|
146
|
+
prerelease: false
|
147
|
+
version_requirements: !ruby/object:Gem::Requirement
|
148
|
+
requirements:
|
149
|
+
- - ">="
|
150
|
+
- !ruby/object:Gem::Version
|
151
|
+
version: '0'
|
152
|
+
- !ruby/object:Gem::Dependency
|
153
|
+
name: coveralls
|
154
|
+
requirement: !ruby/object:Gem::Requirement
|
155
|
+
requirements:
|
156
|
+
- - ">="
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: '0'
|
159
|
+
type: :development
|
160
|
+
prerelease: false
|
161
|
+
version_requirements: !ruby/object:Gem::Requirement
|
162
|
+
requirements:
|
163
|
+
- - ">="
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: '0'
|
166
|
+
- !ruby/object:Gem::Dependency
|
167
|
+
name: simplecov
|
168
|
+
requirement: !ruby/object:Gem::Requirement
|
169
|
+
requirements:
|
170
|
+
- - ">="
|
171
|
+
- !ruby/object:Gem::Version
|
172
|
+
version: '0'
|
173
|
+
type: :development
|
174
|
+
prerelease: false
|
175
|
+
version_requirements: !ruby/object:Gem::Requirement
|
176
|
+
requirements:
|
177
|
+
- - ">="
|
178
|
+
- !ruby/object:Gem::Version
|
179
|
+
version: '0'
|
180
|
+
description: It allows you to render .liquid templates with layout and partial support.
|
181
|
+
It also provides filters, tags, drops class to be used inside your liquid template.
|
182
|
+
email:
|
183
|
+
- chamnapchhorn@gmail.com
|
184
|
+
- developers@taktsoft.com
|
185
|
+
executables: []
|
186
|
+
extensions: []
|
187
|
+
extra_rdoc_files: []
|
188
|
+
files:
|
189
|
+
- ".coveralls.yml"
|
190
|
+
- ".gitignore"
|
191
|
+
- ".rspec"
|
192
|
+
- ".ruby-gemset"
|
193
|
+
- ".ruby-version"
|
194
|
+
- ".travis.yml"
|
195
|
+
- CHANGELOG.md
|
196
|
+
- Gemfile
|
197
|
+
- Guardfile
|
198
|
+
- LICENSE.txt
|
199
|
+
- README.md
|
200
|
+
- Rakefile
|
201
|
+
- gemfiles/rails_32.gemfile
|
202
|
+
- gemfiles/rails_40.gemfile
|
203
|
+
- gemfiles/rails_41.gemfile
|
204
|
+
- gemfiles/rails_42.gemfile
|
205
|
+
- gemfiles/rails_50.gemfile
|
206
|
+
- lib/liquid-rails.rb
|
207
|
+
- lib/liquid-rails/drops/collection_drop.rb
|
208
|
+
- lib/liquid-rails/drops/drop.rb
|
209
|
+
- lib/liquid-rails/drops/droppable.rb
|
210
|
+
- lib/liquid-rails/file_system.rb
|
211
|
+
- lib/liquid-rails/filters/asset_tag_filter.rb
|
212
|
+
- lib/liquid-rails/filters/asset_url_filter.rb
|
213
|
+
- lib/liquid-rails/filters/date_filter.rb
|
214
|
+
- lib/liquid-rails/filters/google_static_map_url_filter.rb
|
215
|
+
- lib/liquid-rails/filters/misc_filter.rb
|
216
|
+
- lib/liquid-rails/filters/number_filter.rb
|
217
|
+
- lib/liquid-rails/filters/paginate_filter.rb
|
218
|
+
- lib/liquid-rails/filters/sanitize_filter.rb
|
219
|
+
- lib/liquid-rails/filters/text_filter.rb
|
220
|
+
- lib/liquid-rails/filters/translate_filter.rb
|
221
|
+
- lib/liquid-rails/filters/url_filter.rb
|
222
|
+
- lib/liquid-rails/matchers.rb
|
223
|
+
- lib/liquid-rails/railtie.rb
|
224
|
+
- lib/liquid-rails/rspec/drop_example_group.rb
|
225
|
+
- lib/liquid-rails/rspec/drop_matchers.rb
|
226
|
+
- lib/liquid-rails/rspec/filter_example_group.rb
|
227
|
+
- lib/liquid-rails/rspec/tag_example_group.rb
|
228
|
+
- lib/liquid-rails/rspec/view_controller_context.rb
|
229
|
+
- lib/liquid-rails/tags/content_for_tag.rb
|
230
|
+
- lib/liquid-rails/tags/csrf_meta_tags.rb
|
231
|
+
- lib/liquid-rails/tags/google_analytics_tag.rb
|
232
|
+
- lib/liquid-rails/tags/javascript_tag.rb
|
233
|
+
- lib/liquid-rails/tags/paginate_tag.rb
|
234
|
+
- lib/liquid-rails/template_handler.rb
|
235
|
+
- lib/liquid-rails/version.rb
|
236
|
+
- liquid-rails.gemspec
|
237
|
+
homepage: https://github.com/taktsoft/liquid-rails
|
238
|
+
licenses:
|
239
|
+
- MIT
|
240
|
+
metadata:
|
241
|
+
allowed_push_host: https://rubygems.org
|
242
|
+
post_install_message:
|
243
|
+
rdoc_options: []
|
244
|
+
require_paths:
|
245
|
+
- lib
|
246
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
247
|
+
requirements:
|
248
|
+
- - ">="
|
249
|
+
- !ruby/object:Gem::Version
|
250
|
+
version: 2.0.0
|
251
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
252
|
+
requirements:
|
253
|
+
- - ">="
|
254
|
+
- !ruby/object:Gem::Version
|
255
|
+
version: 1.8.11
|
256
|
+
requirements: []
|
257
|
+
rubyforge_project:
|
258
|
+
rubygems_version: 2.4.8
|
259
|
+
signing_key:
|
260
|
+
specification_version: 4
|
261
|
+
summary: Renders liquid templates with layout and partial support
|
262
|
+
test_files: []
|