vinsol_spree_themes 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 +36 -0
- data/.ruby-version +1 -0
- data/Appraisals +16 -0
- data/Gemfile +9 -0
- data/Gemfile.lock +386 -0
- data/LICENSE +26 -0
- data/README.md +250 -0
- data/Rakefile +21 -0
- data/app/assets/javascripts/spree/backend/codemirror/codemirror.js +9351 -0
- data/app/assets/javascripts/spree/backend/codemirror/css-hint.js +60 -0
- data/app/assets/javascripts/spree/backend/codemirror/fullscreen.js +41 -0
- data/app/assets/javascripts/spree/backend/codemirror/html-hint.js +348 -0
- data/app/assets/javascripts/spree/backend/codemirror/javascript-hint.js +155 -0
- data/app/assets/javascripts/spree/backend/codemirror/javascript.js +813 -0
- data/app/assets/javascripts/spree/backend/codemirror/markdown.js +796 -0
- data/app/assets/javascripts/spree/backend/codemirror/ruby.js +295 -0
- data/app/assets/javascripts/spree/backend/codemirror/show-hint.js +438 -0
- data/app/assets/javascripts/spree/backend/editor.js +11 -0
- data/app/assets/javascripts/spree/backend/jquery.treemenu.js +87 -0
- data/app/assets/javascripts/spree/backend/main.js +26 -0
- data/app/assets/javascripts/spree/backend/spree_themes.js +2 -0
- data/app/assets/javascripts/spree/backend/template.js +51 -0
- data/app/assets/javascripts/spree/backend/theme.js +17 -0
- data/app/assets/javascripts/spree/frontend/spree_themes.js +2 -0
- data/app/assets/stylesheets/spree/backend/codemirror/codemirror.css +340 -0
- data/app/assets/stylesheets/spree/backend/codemirror/fullscreen.css +6 -0
- data/app/assets/stylesheets/spree/backend/codemirror/show-hint.css +36 -0
- data/app/assets/stylesheets/spree/backend/editor.css +7 -0
- data/app/assets/stylesheets/spree/backend/jquery.treemenu.css +8 -0
- data/app/assets/stylesheets/spree/backend/spree_themes.css +7 -0
- data/app/assets/stylesheets/spree/backend/style.css +239 -0
- data/app/assets/stylesheets/spree/backend/template_editor.css +39 -0
- data/app/assets/stylesheets/spree/frontend/spree_themes.css +6 -0
- data/app/assets/stylesheets/spree/frontend/theme_preview.css +9 -0
- data/app/controllers/spree/admin/themes_controller.rb +80 -0
- data/app/controllers/spree/admin/themes_preview_controller.rb +30 -0
- data/app/controllers/spree/admin/themes_templates_controller.rb +60 -0
- data/app/controllers/spree/fragment_cache_controller.rb +13 -0
- data/app/controllers/spree/store_controller_decorator.rb +37 -0
- data/app/helpers/spree/base_helper_decorator.rb +45 -0
- data/app/models/spree/theme.rb +153 -0
- data/app/models/spree/themes_template.rb +67 -0
- data/app/models/spree/themes_template/cache_resolver.rb +37 -0
- data/app/overrides/spree/add_preview_bar_to_store.html.rb +6 -0
- data/app/overrides/spree/add_theme_meta_details_to_store.html.rb +6 -0
- data/app/overrides/spree/admin/add_themes_tab.html.rb +6 -0
- data/app/services/assets_precompiler_service.rb +86 -0
- data/app/services/file_generator_service.rb +29 -0
- data/app/services/template_generator_service.rb +101 -0
- data/app/services/zip_file_builder.rb +87 -0
- data/app/services/zip_file_extractor.rb +52 -0
- data/app/views/spree/admin/shared/_theme_menu_button.html.erb +5 -0
- data/app/views/spree/admin/themes/_themes.html.erb +44 -0
- data/app/views/spree/admin/themes/_upload.html.erb +17 -0
- data/app/views/spree/admin/themes/index.html.erb +50 -0
- data/app/views/spree/admin/themes_templates/_editor.html.erb +29 -0
- data/app/views/spree/admin/themes_templates/_template.html.erb +12 -0
- data/app/views/spree/admin/themes_templates/edit.html.erb +13 -0
- data/app/views/spree/admin/themes_templates/edit.js.erb +1 -0
- data/app/views/spree/admin/themes_templates/index.html.erb +27 -0
- data/app/views/spree/admin/themes_templates/new.html.erb +56 -0
- data/app/views/spree/shared/_preview_bar.html.erb +7 -0
- data/app/views/spree/shared/_theme_metadata.html.erb +9 -0
- data/bin/rails +7 -0
- data/config/initializers/assets.rb +24 -0
- data/config/initializers/sprockets.rb +85 -0
- data/config/locales/en.yml +52 -0
- data/config/routes.rb +22 -0
- data/db/migrate/20170628072452_vinsol_spree_themes_create_themes_and_themes_templates_table.rb +24 -0
- data/gemfiles/spree_3_1.gemfile +8 -0
- data/gemfiles/spree_3_2.gemfile +9 -0
- data/gemfiles/spree_master.gemfile +9 -0
- data/lib/generators/themes/default.zip +0 -0
- data/lib/generators/vinsol_spree_themes/install/install_generator.rb +50 -0
- data/lib/tasks/sync_templates.rake +47 -0
- data/lib/vinsol_spree_themes.rb +3 -0
- data/lib/vinsol_spree_themes/engine.rb +22 -0
- data/lib/vinsol_spree_themes/factories.rb +6 -0
- data/lib/vinsol_spree_themes/version.rb +18 -0
- data/spec/spec_helper.rb +93 -0
- data/vinsol_spree_themes.gemspec +43 -0
- metadata +374 -0
@@ -0,0 +1,9 @@
|
|
1
|
+
# This file was generated by Appraisal
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
gem "spree", :github => "spree/spree", :branch => "master"
|
6
|
+
gem "spree_auth_devise", :github => "spree/spree_auth_devise", :branch => "master"
|
7
|
+
gem "rails-controller-testing"
|
8
|
+
|
9
|
+
gemspec :path => "../"
|
Binary file
|
@@ -0,0 +1,50 @@
|
|
1
|
+
module VinsolSpreeThemes
|
2
|
+
module Generators
|
3
|
+
class InstallGenerator < Rails::Generators::Base
|
4
|
+
|
5
|
+
class_option :auto_run_migrations, type: :boolean, default: false
|
6
|
+
|
7
|
+
def add_javascripts
|
8
|
+
append_file 'vendor/assets/javascripts/spree/frontend/all.js', "//= require spree/frontend/spree_themes\n"
|
9
|
+
append_file 'vendor/assets/javascripts/spree/backend/all.js', "//= require spree/backend/spree_themes\n"
|
10
|
+
end
|
11
|
+
|
12
|
+
def add_stylesheets
|
13
|
+
inject_into_file 'vendor/assets/stylesheets/spree/frontend/all.css', " *= require spree/frontend/spree_themes\n", before: /\*\//, verbose: true
|
14
|
+
inject_into_file 'vendor/assets/stylesheets/spree/backend/all.css', " *= require spree/backend/spree_themes\n", before: /\*\//, verbose: true
|
15
|
+
end
|
16
|
+
|
17
|
+
def add_migrations
|
18
|
+
run 'bundle exec rake railties:install:migrations FROM=vinsol_spree_themes'
|
19
|
+
end
|
20
|
+
|
21
|
+
def run_migrations
|
22
|
+
run_migrations = options[:auto_run_migrations] || ['', 'y', 'Y'].include?(ask 'Would you like to run the migrations now? [Y/n]')
|
23
|
+
if run_migrations
|
24
|
+
run 'bundle exec rake db:migrate'
|
25
|
+
else
|
26
|
+
puts 'Skipping rake db:migrate, don\'t forget to run it!'
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def load_default_theme
|
31
|
+
puts 'Loading and applying default spree theme...'
|
32
|
+
|
33
|
+
filepath = "#{ ::VinsolSpreeThemes::Engine.root }/lib/generators/themes/default.zip"
|
34
|
+
|
35
|
+
# creating theme object.
|
36
|
+
theme = Spree::Theme.new(state: 'drafted', name: 'default')
|
37
|
+
theme.template_file = File.open(filepath)
|
38
|
+
theme.save(validate: false)
|
39
|
+
|
40
|
+
# extracting the zip file.
|
41
|
+
ZipFileExtractor.new(filepath, theme)
|
42
|
+
|
43
|
+
# publishing theme.
|
44
|
+
theme.compile
|
45
|
+
theme.publish
|
46
|
+
end
|
47
|
+
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
namespace :db do
|
2
|
+
|
3
|
+
desc 'Sync theme templates with database. Need to pass theme name to sync as environment variable THEME_NAME.'
|
4
|
+
task sync_templates: :environment do
|
5
|
+
|
6
|
+
begin
|
7
|
+
|
8
|
+
raise puts 'Environment variable THEME_NAME not found, pass theme name as environment variable.' unless ENV['THEME_NAME']
|
9
|
+
|
10
|
+
INVALID_DIRECTORIES = ['.', '..', 'precompiled_assets']
|
11
|
+
|
12
|
+
theme = Spree::Theme.where(name: ENV['THEME_NAME']).first
|
13
|
+
THEME_PATH = File.join('public', 'vinsol_spree_themes', theme.name)
|
14
|
+
|
15
|
+
@filepaths_arr = []
|
16
|
+
|
17
|
+
def get_filepaths(path, name=nil)
|
18
|
+
Dir.foreach(path) do |entry|
|
19
|
+
next if INVALID_DIRECTORIES.include? entry
|
20
|
+
|
21
|
+
full_path = File.join(path, entry)
|
22
|
+
|
23
|
+
if File.directory?(full_path)
|
24
|
+
get_filepaths(full_path, entry)
|
25
|
+
else
|
26
|
+
@filepaths_arr << full_path
|
27
|
+
end
|
28
|
+
end
|
29
|
+
return @filepaths_arr
|
30
|
+
end
|
31
|
+
|
32
|
+
get_filepaths(THEME_PATH)
|
33
|
+
|
34
|
+
puts "############################## DB Sync started for theme #{ theme.name } ##############################"
|
35
|
+
|
36
|
+
@filepaths_arr.each do |filepath|
|
37
|
+
begin
|
38
|
+
puts "*************************** Syncing file #{ filepath } ***************************"
|
39
|
+
TemplateGeneratorService.new(filepath, theme).generate
|
40
|
+
rescue Exception => e
|
41
|
+
puts "#{ e.message }"
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module VinsolSpreeThemes
|
2
|
+
class Engine < Rails::Engine
|
3
|
+
require 'spree/core'
|
4
|
+
isolate_namespace Spree
|
5
|
+
engine_name 'vinsol_spree_themes'
|
6
|
+
|
7
|
+
# use rspec for tests
|
8
|
+
config.generators do |g|
|
9
|
+
g.test_framework :rspec
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.activate
|
13
|
+
Dir.glob(File.join(File.dirname(__FILE__), '../../app/**/*_decorator*.rb')) do |c|
|
14
|
+
Rails.configuration.cache_classes ? require(c) : load(c)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
config.to_prepare &method(:activate).to_proc
|
19
|
+
|
20
|
+
Devise.parent_controller = 'Spree::StoreController'
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,6 @@
|
|
1
|
+
FactoryGirl.define do
|
2
|
+
# Define your Spree extensions Factories within this file to enable applications, and other extensions to use and override them.
|
3
|
+
#
|
4
|
+
# Example adding this to your spec_helper will load these Factories for use:
|
5
|
+
# require 'vinsol_spree_themes/factories'
|
6
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module VinsolSpreeThemes
|
2
|
+
module_function
|
3
|
+
|
4
|
+
# Returns the version of the currently loaded VinsolSpreeThemes as a
|
5
|
+
# <tt>Gem::Version</tt>.
|
6
|
+
def version
|
7
|
+
Gem::Version.new VERSION::STRING
|
8
|
+
end
|
9
|
+
|
10
|
+
module VERSION
|
11
|
+
MAJOR = 0
|
12
|
+
MINOR = 0
|
13
|
+
TINY = 1
|
14
|
+
|
15
|
+
|
16
|
+
STRING = [MAJOR, MINOR, TINY].compact.join('.')
|
17
|
+
end
|
18
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,93 @@
|
|
1
|
+
# Run Coverage report
|
2
|
+
require 'simplecov'
|
3
|
+
SimpleCov.start do
|
4
|
+
add_filter 'spec/dummy'
|
5
|
+
add_group 'Controllers', 'app/controllers'
|
6
|
+
add_group 'Helpers', 'app/helpers'
|
7
|
+
add_group 'Mailers', 'app/mailers'
|
8
|
+
add_group 'Models', 'app/models'
|
9
|
+
add_group 'Views', 'app/views'
|
10
|
+
add_group 'Libraries', 'lib'
|
11
|
+
end
|
12
|
+
|
13
|
+
# Configure Rails Environment
|
14
|
+
ENV['RAILS_ENV'] = 'test'
|
15
|
+
|
16
|
+
require File.expand_path('../dummy/config/environment.rb', __FILE__)
|
17
|
+
|
18
|
+
require 'rspec/rails'
|
19
|
+
require 'database_cleaner'
|
20
|
+
require 'ffaker'
|
21
|
+
|
22
|
+
# Requires supporting ruby files with custom matchers and macros, etc,
|
23
|
+
# in spec/support/ and its subdirectories.
|
24
|
+
Dir[File.join(File.dirname(__FILE__), 'support/**/*.rb')].each { |f| require f }
|
25
|
+
|
26
|
+
# Requires factories and other useful helpers defined in spree_core.
|
27
|
+
require 'spree/testing_support/authorization_helpers'
|
28
|
+
require 'spree/testing_support/capybara_ext'
|
29
|
+
require 'spree/testing_support/controller_requests'
|
30
|
+
require 'spree/testing_support/factories'
|
31
|
+
require 'spree/testing_support/url_helpers'
|
32
|
+
|
33
|
+
# Requires factories defined in lib/vinsol_spree_themes/factories.rb
|
34
|
+
require 'vinsol_spree_themes/factories'
|
35
|
+
|
36
|
+
RSpec.configure do |config|
|
37
|
+
config.include FactoryGirl::Syntax::Methods
|
38
|
+
|
39
|
+
# Infer an example group's spec type from the file location.
|
40
|
+
config.infer_spec_type_from_file_location!
|
41
|
+
|
42
|
+
# == URL Helpers
|
43
|
+
#
|
44
|
+
# Allows access to Spree's routes in specs:
|
45
|
+
#
|
46
|
+
# visit spree.admin_path
|
47
|
+
# current_path.should eql(spree.products_path)
|
48
|
+
config.include Spree::TestingSupport::UrlHelpers
|
49
|
+
|
50
|
+
# == Requests support
|
51
|
+
#
|
52
|
+
# Adds convenient methods to request Spree's controllers
|
53
|
+
# spree_get :index
|
54
|
+
config.include Spree::TestingSupport::ControllerRequests, type: :controller
|
55
|
+
|
56
|
+
# == Mock Framework
|
57
|
+
#
|
58
|
+
# If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
|
59
|
+
#
|
60
|
+
# config.mock_with :mocha
|
61
|
+
# config.mock_with :flexmock
|
62
|
+
# config.mock_with :rr
|
63
|
+
config.mock_with :rspec
|
64
|
+
config.color = true
|
65
|
+
|
66
|
+
# Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
|
67
|
+
config.fixture_path = "#{::Rails.root}/spec/fixtures"
|
68
|
+
|
69
|
+
# Capybara javascript drivers require transactional fixtures set to false, and we use DatabaseCleaner
|
70
|
+
# to cleanup after each test instead. Without transactional fixtures set to false the records created
|
71
|
+
# to setup a test will be unavailable to the browser, which runs under a separate server instance.
|
72
|
+
config.use_transactional_fixtures = false
|
73
|
+
|
74
|
+
# Ensure Suite is set to use transactions for speed.
|
75
|
+
config.before :suite do
|
76
|
+
DatabaseCleaner.strategy = :transaction
|
77
|
+
DatabaseCleaner.clean_with :truncation
|
78
|
+
end
|
79
|
+
|
80
|
+
# Before each spec check if it is a Javascript test and switch between using database transactions or not where necessary.
|
81
|
+
config.before :each do
|
82
|
+
DatabaseCleaner.strategy = RSpec.current_example.metadata[:js] ? :truncation : :transaction
|
83
|
+
DatabaseCleaner.start
|
84
|
+
end
|
85
|
+
|
86
|
+
# After each spec clean the database.
|
87
|
+
config.after :each do
|
88
|
+
DatabaseCleaner.clean
|
89
|
+
end
|
90
|
+
|
91
|
+
config.fail_fast = ENV['FAIL_FAST'] || false
|
92
|
+
config.order = "random"
|
93
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
lib = File.expand_path('../lib/', __FILE__)
|
3
|
+
$LOAD_PATH.unshift lib unless $LOAD_PATH.include?(lib)
|
4
|
+
|
5
|
+
require 'vinsol_spree_themes/version'
|
6
|
+
|
7
|
+
Gem::Specification.new do |s|
|
8
|
+
s.platform = Gem::Platform::RUBY
|
9
|
+
s.name = 'vinsol_spree_themes'
|
10
|
+
s.version = VinsolSpreeThemes.version
|
11
|
+
s.summary = 'This extension creates a flexible system where admin can upload, modify the themes and publish it to spree store.'
|
12
|
+
s.description = 'This extension provides an interface for the admin to upload new themes, publish it to the spree store, modify the theme layout accordingly and later download it.'
|
13
|
+
s.required_ruby_version = '>= 2.2.2'
|
14
|
+
|
15
|
+
s.author = ['Paresh Gupta', 'Nimish Mehta']
|
16
|
+
s.email = 'info@vinsol.com'
|
17
|
+
s.homepage = 'http://vinsol.com'
|
18
|
+
s.license = 'BSD-3-Clause'
|
19
|
+
|
20
|
+
s.files = `git ls-files`.split("\n")
|
21
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
22
|
+
s.require_path = 'lib'
|
23
|
+
s.requirements << 'none'
|
24
|
+
|
25
|
+
s.add_dependency 'spree_core', '>= 3.2.0', '< 4.0'
|
26
|
+
s.add_dependency 'rubyzip', '~> 1.2.1'
|
27
|
+
s.add_dependency 'state_machine', '~> 1.2.0'
|
28
|
+
s.add_dependency 'sprockets-helpers', '~> 1.2.1'
|
29
|
+
|
30
|
+
s.add_development_dependency 'capybara'
|
31
|
+
s.add_development_dependency 'capybara-screenshot'
|
32
|
+
s.add_development_dependency 'coffee-rails'
|
33
|
+
s.add_development_dependency 'database_cleaner'
|
34
|
+
s.add_development_dependency 'factory_girl'
|
35
|
+
s.add_development_dependency 'ffaker'
|
36
|
+
s.add_development_dependency 'rspec-rails'
|
37
|
+
s.add_development_dependency 'sass-rails'
|
38
|
+
s.add_development_dependency 'selenium-webdriver'
|
39
|
+
s.add_development_dependency 'simplecov'
|
40
|
+
s.add_development_dependency 'pg'
|
41
|
+
s.add_development_dependency 'mysql2'
|
42
|
+
s.add_development_dependency 'appraisal'
|
43
|
+
end
|
metadata
ADDED
@@ -0,0 +1,374 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: vinsol_spree_themes
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Paresh Gupta
|
8
|
+
- Nimish Mehta
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2017-07-26 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: spree_core
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - ">="
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: 3.2.0
|
21
|
+
- - "<"
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: '4.0'
|
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.0
|
31
|
+
- - "<"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '4.0'
|
34
|
+
- !ruby/object:Gem::Dependency
|
35
|
+
name: rubyzip
|
36
|
+
requirement: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 1.2.1
|
41
|
+
type: :runtime
|
42
|
+
prerelease: false
|
43
|
+
version_requirements: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 1.2.1
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
name: state_machine
|
50
|
+
requirement: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 1.2.0
|
55
|
+
type: :runtime
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 1.2.0
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: sprockets-helpers
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 1.2.1
|
69
|
+
type: :runtime
|
70
|
+
prerelease: false
|
71
|
+
version_requirements: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 1.2.1
|
76
|
+
- !ruby/object:Gem::Dependency
|
77
|
+
name: capybara
|
78
|
+
requirement: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
type: :development
|
84
|
+
prerelease: false
|
85
|
+
version_requirements: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
- !ruby/object:Gem::Dependency
|
91
|
+
name: capybara-screenshot
|
92
|
+
requirement: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
type: :development
|
98
|
+
prerelease: false
|
99
|
+
version_requirements: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
- !ruby/object:Gem::Dependency
|
105
|
+
name: coffee-rails
|
106
|
+
requirement: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
type: :development
|
112
|
+
prerelease: false
|
113
|
+
version_requirements: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
- !ruby/object:Gem::Dependency
|
119
|
+
name: database_cleaner
|
120
|
+
requirement: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
type: :development
|
126
|
+
prerelease: false
|
127
|
+
version_requirements: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
- !ruby/object:Gem::Dependency
|
133
|
+
name: factory_girl
|
134
|
+
requirement: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
type: :development
|
140
|
+
prerelease: false
|
141
|
+
version_requirements: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
- !ruby/object:Gem::Dependency
|
147
|
+
name: ffaker
|
148
|
+
requirement: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
153
|
+
type: :development
|
154
|
+
prerelease: false
|
155
|
+
version_requirements: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ">="
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
160
|
+
- !ruby/object:Gem::Dependency
|
161
|
+
name: rspec-rails
|
162
|
+
requirement: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ">="
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
167
|
+
type: :development
|
168
|
+
prerelease: false
|
169
|
+
version_requirements: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - ">="
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
174
|
+
- !ruby/object:Gem::Dependency
|
175
|
+
name: sass-rails
|
176
|
+
requirement: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - ">="
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '0'
|
181
|
+
type: :development
|
182
|
+
prerelease: false
|
183
|
+
version_requirements: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - ">="
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: '0'
|
188
|
+
- !ruby/object:Gem::Dependency
|
189
|
+
name: selenium-webdriver
|
190
|
+
requirement: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - ">="
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: '0'
|
195
|
+
type: :development
|
196
|
+
prerelease: false
|
197
|
+
version_requirements: !ruby/object:Gem::Requirement
|
198
|
+
requirements:
|
199
|
+
- - ">="
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
version: '0'
|
202
|
+
- !ruby/object:Gem::Dependency
|
203
|
+
name: simplecov
|
204
|
+
requirement: !ruby/object:Gem::Requirement
|
205
|
+
requirements:
|
206
|
+
- - ">="
|
207
|
+
- !ruby/object:Gem::Version
|
208
|
+
version: '0'
|
209
|
+
type: :development
|
210
|
+
prerelease: false
|
211
|
+
version_requirements: !ruby/object:Gem::Requirement
|
212
|
+
requirements:
|
213
|
+
- - ">="
|
214
|
+
- !ruby/object:Gem::Version
|
215
|
+
version: '0'
|
216
|
+
- !ruby/object:Gem::Dependency
|
217
|
+
name: pg
|
218
|
+
requirement: !ruby/object:Gem::Requirement
|
219
|
+
requirements:
|
220
|
+
- - ">="
|
221
|
+
- !ruby/object:Gem::Version
|
222
|
+
version: '0'
|
223
|
+
type: :development
|
224
|
+
prerelease: false
|
225
|
+
version_requirements: !ruby/object:Gem::Requirement
|
226
|
+
requirements:
|
227
|
+
- - ">="
|
228
|
+
- !ruby/object:Gem::Version
|
229
|
+
version: '0'
|
230
|
+
- !ruby/object:Gem::Dependency
|
231
|
+
name: mysql2
|
232
|
+
requirement: !ruby/object:Gem::Requirement
|
233
|
+
requirements:
|
234
|
+
- - ">="
|
235
|
+
- !ruby/object:Gem::Version
|
236
|
+
version: '0'
|
237
|
+
type: :development
|
238
|
+
prerelease: false
|
239
|
+
version_requirements: !ruby/object:Gem::Requirement
|
240
|
+
requirements:
|
241
|
+
- - ">="
|
242
|
+
- !ruby/object:Gem::Version
|
243
|
+
version: '0'
|
244
|
+
- !ruby/object:Gem::Dependency
|
245
|
+
name: appraisal
|
246
|
+
requirement: !ruby/object:Gem::Requirement
|
247
|
+
requirements:
|
248
|
+
- - ">="
|
249
|
+
- !ruby/object:Gem::Version
|
250
|
+
version: '0'
|
251
|
+
type: :development
|
252
|
+
prerelease: false
|
253
|
+
version_requirements: !ruby/object:Gem::Requirement
|
254
|
+
requirements:
|
255
|
+
- - ">="
|
256
|
+
- !ruby/object:Gem::Version
|
257
|
+
version: '0'
|
258
|
+
description: This extension provides an interface for the admin to upload new themes,
|
259
|
+
publish it to the spree store, modify the theme layout accordingly and later download
|
260
|
+
it.
|
261
|
+
email: info@vinsol.com
|
262
|
+
executables: []
|
263
|
+
extensions: []
|
264
|
+
extra_rdoc_files: []
|
265
|
+
files:
|
266
|
+
- ".gitignore"
|
267
|
+
- ".ruby-version"
|
268
|
+
- Appraisals
|
269
|
+
- Gemfile
|
270
|
+
- Gemfile.lock
|
271
|
+
- LICENSE
|
272
|
+
- README.md
|
273
|
+
- Rakefile
|
274
|
+
- app/assets/javascripts/spree/backend/codemirror/codemirror.js
|
275
|
+
- app/assets/javascripts/spree/backend/codemirror/css-hint.js
|
276
|
+
- app/assets/javascripts/spree/backend/codemirror/fullscreen.js
|
277
|
+
- app/assets/javascripts/spree/backend/codemirror/html-hint.js
|
278
|
+
- app/assets/javascripts/spree/backend/codemirror/javascript-hint.js
|
279
|
+
- app/assets/javascripts/spree/backend/codemirror/javascript.js
|
280
|
+
- app/assets/javascripts/spree/backend/codemirror/markdown.js
|
281
|
+
- app/assets/javascripts/spree/backend/codemirror/ruby.js
|
282
|
+
- app/assets/javascripts/spree/backend/codemirror/show-hint.js
|
283
|
+
- app/assets/javascripts/spree/backend/editor.js
|
284
|
+
- app/assets/javascripts/spree/backend/jquery.treemenu.js
|
285
|
+
- app/assets/javascripts/spree/backend/main.js
|
286
|
+
- app/assets/javascripts/spree/backend/spree_themes.js
|
287
|
+
- app/assets/javascripts/spree/backend/template.js
|
288
|
+
- app/assets/javascripts/spree/backend/theme.js
|
289
|
+
- app/assets/javascripts/spree/frontend/spree_themes.js
|
290
|
+
- app/assets/stylesheets/spree/backend/codemirror/codemirror.css
|
291
|
+
- app/assets/stylesheets/spree/backend/codemirror/fullscreen.css
|
292
|
+
- app/assets/stylesheets/spree/backend/codemirror/show-hint.css
|
293
|
+
- app/assets/stylesheets/spree/backend/editor.css
|
294
|
+
- app/assets/stylesheets/spree/backend/jquery.treemenu.css
|
295
|
+
- app/assets/stylesheets/spree/backend/spree_themes.css
|
296
|
+
- app/assets/stylesheets/spree/backend/style.css
|
297
|
+
- app/assets/stylesheets/spree/backend/template_editor.css
|
298
|
+
- app/assets/stylesheets/spree/frontend/spree_themes.css
|
299
|
+
- app/assets/stylesheets/spree/frontend/theme_preview.css
|
300
|
+
- app/controllers/spree/admin/themes_controller.rb
|
301
|
+
- app/controllers/spree/admin/themes_preview_controller.rb
|
302
|
+
- app/controllers/spree/admin/themes_templates_controller.rb
|
303
|
+
- app/controllers/spree/fragment_cache_controller.rb
|
304
|
+
- app/controllers/spree/store_controller_decorator.rb
|
305
|
+
- app/helpers/spree/base_helper_decorator.rb
|
306
|
+
- app/models/spree/theme.rb
|
307
|
+
- app/models/spree/themes_template.rb
|
308
|
+
- app/models/spree/themes_template/cache_resolver.rb
|
309
|
+
- app/overrides/spree/add_preview_bar_to_store.html.rb
|
310
|
+
- app/overrides/spree/add_theme_meta_details_to_store.html.rb
|
311
|
+
- app/overrides/spree/admin/add_themes_tab.html.rb
|
312
|
+
- app/services/assets_precompiler_service.rb
|
313
|
+
- app/services/file_generator_service.rb
|
314
|
+
- app/services/template_generator_service.rb
|
315
|
+
- app/services/zip_file_builder.rb
|
316
|
+
- app/services/zip_file_extractor.rb
|
317
|
+
- app/views/spree/admin/shared/_theme_menu_button.html.erb
|
318
|
+
- app/views/spree/admin/themes/_themes.html.erb
|
319
|
+
- app/views/spree/admin/themes/_upload.html.erb
|
320
|
+
- app/views/spree/admin/themes/index.html.erb
|
321
|
+
- app/views/spree/admin/themes_templates/_editor.html.erb
|
322
|
+
- app/views/spree/admin/themes_templates/_template.html.erb
|
323
|
+
- app/views/spree/admin/themes_templates/edit.html.erb
|
324
|
+
- app/views/spree/admin/themes_templates/edit.js.erb
|
325
|
+
- app/views/spree/admin/themes_templates/index.html.erb
|
326
|
+
- app/views/spree/admin/themes_templates/new.html.erb
|
327
|
+
- app/views/spree/shared/_preview_bar.html.erb
|
328
|
+
- app/views/spree/shared/_theme_metadata.html.erb
|
329
|
+
- bin/rails
|
330
|
+
- config/initializers/assets.rb
|
331
|
+
- config/initializers/sprockets.rb
|
332
|
+
- config/locales/en.yml
|
333
|
+
- config/routes.rb
|
334
|
+
- db/migrate/20170628072452_vinsol_spree_themes_create_themes_and_themes_templates_table.rb
|
335
|
+
- gemfiles/spree_3_1.gemfile
|
336
|
+
- gemfiles/spree_3_2.gemfile
|
337
|
+
- gemfiles/spree_master.gemfile
|
338
|
+
- lib/generators/themes/default.zip
|
339
|
+
- lib/generators/vinsol_spree_themes/install/install_generator.rb
|
340
|
+
- lib/tasks/sync_templates.rake
|
341
|
+
- lib/vinsol_spree_themes.rb
|
342
|
+
- lib/vinsol_spree_themes/engine.rb
|
343
|
+
- lib/vinsol_spree_themes/factories.rb
|
344
|
+
- lib/vinsol_spree_themes/version.rb
|
345
|
+
- spec/spec_helper.rb
|
346
|
+
- vinsol_spree_themes.gemspec
|
347
|
+
homepage: http://vinsol.com
|
348
|
+
licenses:
|
349
|
+
- BSD-3-Clause
|
350
|
+
metadata: {}
|
351
|
+
post_install_message:
|
352
|
+
rdoc_options: []
|
353
|
+
require_paths:
|
354
|
+
- lib
|
355
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
356
|
+
requirements:
|
357
|
+
- - ">="
|
358
|
+
- !ruby/object:Gem::Version
|
359
|
+
version: 2.2.2
|
360
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
361
|
+
requirements:
|
362
|
+
- - ">="
|
363
|
+
- !ruby/object:Gem::Version
|
364
|
+
version: '0'
|
365
|
+
requirements:
|
366
|
+
- none
|
367
|
+
rubyforge_project:
|
368
|
+
rubygems_version: 2.6.12
|
369
|
+
signing_key:
|
370
|
+
specification_version: 4
|
371
|
+
summary: This extension creates a flexible system where admin can upload, modify the
|
372
|
+
themes and publish it to spree store.
|
373
|
+
test_files:
|
374
|
+
- spec/spec_helper.rb
|