spree_showcase 0.5.0 → 0.5.2
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.
- data/.gitignore +11 -0
- data/.rspec +1 -0
- data/Gemfile +9 -0
- data/Gemfile.lock +179 -0
- data/LICENSE +26 -0
- data/README.md +33 -0
- data/Rakefile +29 -0
- data/Versionfile +11 -0
- data/app/assets/images/store/bg_control_nav.png +0 -0
- data/app/assets/images/store/bg_direction_nav.png +0 -0
- data/app/assets/javascripts/admin/spree_showcase.js +1 -0
- data/app/assets/javascripts/store/spree_showcase.js +3 -0
- data/app/assets/stylesheets/admin/spree_showcase.css +3 -0
- data/app/assets/stylesheets/store/spree_showcase.css +4 -0
- data/app/controllers/spree/admin/showcase_settings_controller.rb +22 -0
- data/app/controllers/spree/admin/slides_controller.rb +25 -0
- data/app/models/spree/slide.rb +10 -0
- data/app/overrides/add_showcase_to_admin_configuration_menu.rb +9 -0
- data/app/overrides/add_showcase_to_admin_configurations_side_menu.rb +7 -0
- data/app/overrides/add_showcase_to_home_layout.rb +8 -0
- data/app/overrides/insert_slider_into_spree_application.rb +10 -0
- data/app/views/spree/admin/shared/_showcase_settings.html.erb +4 -0
- data/app/views/spree/admin/shared/_showcase_submenu.html.erb +6 -0
- data/app/views/spree/admin/showcase_settings/edit.html.erb +19 -0
- data/app/views/spree/admin/showcase_settings/show.html.erb +16 -0
- data/app/views/spree/admin/slides/_form.html.erb +28 -0
- data/app/views/spree/admin/slides/edit.html.erb +10 -0
- data/app/views/spree/admin/slides/index.html.erb +34 -0
- data/app/views/spree/admin/slides/new.html.erb +9 -0
- data/app/views/spree/admin/slides/show.html.erb +41 -0
- data/app/views/spree/slides/_content_insert.html.erb +5 -0
- data/app/views/spree/slides/_showcase.html.erb +28 -0
- data/config/locales/en.yml +5 -0
- data/config/routes.rb +14 -0
- data/db/migrate/20120506161852_create_slides.rb +17 -0
- data/db/migrate/20120507074922_add_position_to_slide.rb +9 -0
- data/lib/generators/spree_showcase/install/assets/javascripts/store/jquery.flexslider.js +563 -0
- data/lib/generators/spree_showcase/install/assets/javascripts/store/showcase.js +32 -0
- data/lib/generators/spree_showcase/install/assets/partials/_showcase.html.erb +28 -0
- data/lib/generators/spree_showcase/install/assets/stylesheets/store/flexslider.css +64 -0
- data/lib/generators/spree_showcase/install/assets/stylesheets/store/showcase.css.scss +26 -0
- data/lib/generators/spree_showcase/install/install_generator.rb +65 -0
- data/lib/spree/showcase_configuration.rb +8 -0
- data/lib/spree_showcase.rb +3 -0
- data/lib/spree_showcase/engine.rb +30 -0
- data/script/rails +7 -0
- data/spec/spec_helper.rb +43 -0
- data/spree_showcase-0.5.0.gem +0 -0
- data/spree_showcase-0.5.1.gem +0 -0
- data/spree_showcase.gemspec +26 -0
- metadata +118 -4
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
//= require store/jquery.flexslider
|
|
2
|
+
// Put your own showcase trigger here if you wish to use another JS Library. Remember to require it in all.js or this file.
|
|
3
|
+
|
|
4
|
+
$(window).load(function() {
|
|
5
|
+
$('.flexslider').flexslider({
|
|
6
|
+
animation: "slide", //String: Select your animation type, "fade" or "slide"
|
|
7
|
+
slideDirection: "horizontal", //String: Select the sliding direction, "horizontal" or "vertical"
|
|
8
|
+
slideshow: true, //Boolean: Animate slider automatically
|
|
9
|
+
slideshowSpeed: 12000, //Integer: Set the speed of the slideshow cycling, in milliseconds
|
|
10
|
+
animationDuration: 500, //Integer: Set the speed of animations, in milliseconds
|
|
11
|
+
directionNav: false, //Boolean: Create navigation for previous/next navigation? (true/false)
|
|
12
|
+
controlNav: true, //Boolean: Create navigation for paging control of each clide? Note: Leave true for manualControls usage
|
|
13
|
+
keyboardNav: true, //Boolean: Allow slider navigating via keyboard left/right keys
|
|
14
|
+
mousewheel: false, //Boolean: Allow slider navigating via mousewheel
|
|
15
|
+
prevText: "Previous", //String: Set the text for the "previous" directionNav item
|
|
16
|
+
nextText: "Next", //String: Set the text for the "next" directionNav item
|
|
17
|
+
pausePlay: false, //Boolean: Create pause/play dynamic element
|
|
18
|
+
pauseText: 'Pause', //String: Set the text for the "pause" pausePlay item
|
|
19
|
+
playText: 'Play', //String: Set the text for the "play" pausePlay item
|
|
20
|
+
randomize: false, //Boolean: Randomize slide order
|
|
21
|
+
slideToStart: 0, //Integer: The slide that the slider should start on. Array notation (0 = first slide)
|
|
22
|
+
animationLoop: true, //Boolean: Should the animation loop? If false, directionNav will received "disable" classes at either end
|
|
23
|
+
pauseOnAction: true, //Boolean: Pause the slideshow when interacting with control elements, highly recommended.
|
|
24
|
+
pauseOnHover: true, //Boolean: Pause the slideshow when hovering over slider, then resume when no longer hovering
|
|
25
|
+
controlsContainer: ".flex-container", //Selector: Declare which container the navigation elements should be appended too. Default container is the flexSlider element. Example use would be ".flexslider-container", "#container", etc. If the given element is not found, the default action will be taken.
|
|
26
|
+
manualControls: ".custom-controls li a", //Selector: Declare custom control navigation. Example would be ".flex-control-nav li" or "#tabs-nav li img", etc. The number of elements in your controlNav should match the number of slides/tabs.
|
|
27
|
+
start: function(){}, //Callback: function(slider) - Fires when the slider loads the first slide
|
|
28
|
+
before: function(){}, //Callback: function(slider) - Fires asynchronously with each slider animation
|
|
29
|
+
after: function(){}, //Callback: function(slider) - Fires after each slider animation completes
|
|
30
|
+
end: function(){} //Callback: function(slider) - Fires when the slider reaches the last slide (asynchronous)
|
|
31
|
+
});
|
|
32
|
+
});
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<div class="flex-container">
|
|
2
|
+
<div class="row">
|
|
3
|
+
<div class="flexslider alpha omega sixteen columns">
|
|
4
|
+
<ul class="slides">
|
|
5
|
+
<% Spree::Slide.published.no_slides(SpreeShowcase::Config.number_of_slides_to_show).each do |slide| %>
|
|
6
|
+
<li>
|
|
7
|
+
<%= link_to(slide.target_url.present? ? slide.target_url : "#") do %>
|
|
8
|
+
<%= slide.image.present? ? image_tag(slide.image) : image_tag("http://www.placehold.it/#{SpreeShowcase::Config.preferences[:showcase_style].match(/\d{2,}x\d{2,}/)}&text=Spree%20Showcase%20by%20@daemonsy") %>
|
|
9
|
+
<% end %>
|
|
10
|
+
</li>
|
|
11
|
+
<% end %>
|
|
12
|
+
</ul>
|
|
13
|
+
</div>
|
|
14
|
+
</div>
|
|
15
|
+
<div class="row">
|
|
16
|
+
<div class="sixteen columns alpha omega">
|
|
17
|
+
<ul class="custom-controls">
|
|
18
|
+
<% Spree::Slide.published.no_slides(SpreeShowcase::Config.number_of_slides_to_show).each do |slide| %>
|
|
19
|
+
<li>
|
|
20
|
+
<%= link_to "#" do %>
|
|
21
|
+
<%=slide.image.present? ? image_tag(slide.image.url(:thumb),:class=>"alpha four columns") : image_tag("http://www.placehold.it/#{SpreeShowcase::Config.preferences[:thumbnail_style].match(/\d{2,}x\d{2,}/)}",:class=>"alpha four columns") %>
|
|
22
|
+
<% end %>
|
|
23
|
+
</li>
|
|
24
|
+
<% end %>
|
|
25
|
+
</ul>
|
|
26
|
+
</div>
|
|
27
|
+
</div>
|
|
28
|
+
</div>
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* jQuery FlexSlider v1.8
|
|
3
|
+
* http://www.woothemes.com/flexslider/
|
|
4
|
+
*
|
|
5
|
+
* Copyright 2012 WooThemes
|
|
6
|
+
* Free to use under the MIT license.
|
|
7
|
+
* http://www.opensource.org/licenses/mit-license.php
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
/* Browser Resets */
|
|
11
|
+
.flex-container a:active,
|
|
12
|
+
.flexslider a:active,
|
|
13
|
+
.flex-container a:focus,
|
|
14
|
+
.flexslider a:focus {outline: none;}
|
|
15
|
+
.slides,
|
|
16
|
+
.flex-control-nav,
|
|
17
|
+
.flex-direction-nav {margin: 0; padding: 0; list-style: none;}
|
|
18
|
+
|
|
19
|
+
/* FlexSlider Necessary Styles
|
|
20
|
+
*********************************/
|
|
21
|
+
.flexslider {margin: 0; padding: 0;}
|
|
22
|
+
.flexslider .slides > li {display: none; -webkit-backface-visibility: hidden;} /* Hide the slides before the JS is loaded. Avoids image jumping */
|
|
23
|
+
.flexslider .slides img {max-width: 100%; display: block;}
|
|
24
|
+
.flex-pauseplay span {text-transform: capitalize;}
|
|
25
|
+
|
|
26
|
+
/* Clearfix for the .slides element */
|
|
27
|
+
.slides:after {content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0;}
|
|
28
|
+
html[xmlns] .slides {display: block;}
|
|
29
|
+
* html .slides {height: 1%;}
|
|
30
|
+
|
|
31
|
+
/* No JavaScript Fallback */
|
|
32
|
+
/* If you are not using another script, such as Modernizr, make sure you
|
|
33
|
+
* include js that eliminates this class on page load */
|
|
34
|
+
.no-js .slides > li:first-child {display: block;}
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
/* FlexSlider Default Theme
|
|
38
|
+
*********************************/
|
|
39
|
+
/*.flexslider {background: #fff; border: 4px solid #fff; position: relative; -webkit-border-radius: 5px; -moz-border-radius: 5px; -o-border-radius: 5px; border-radius: 5px; zoom: 1;}*/
|
|
40
|
+
.flexslider .slides {zoom: 1;}
|
|
41
|
+
.flexslider .slides > li {position: relative;}
|
|
42
|
+
/* Suggested container for "Slide" animation setups. Can replace this with your own, if you wish */
|
|
43
|
+
.flex-container {zoom: 1; position: relative;}
|
|
44
|
+
|
|
45
|
+
/* Caption style */
|
|
46
|
+
/* IE rgba() hack */
|
|
47
|
+
.flex-caption {background:none; -ms-filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#4C000000,endColorstr=#4C000000);
|
|
48
|
+
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#4C000000,endColorstr=#4C000000); zoom: 1;}
|
|
49
|
+
.flex-caption {width: 96%; padding: 2%; margin: 0; position: absolute; left: 0; bottom: 0; background: rgba(0,0,0,.3); color: #fff; text-shadow: 0 -1px 0 rgba(0,0,0,.3); font-size: 14px; line-height: 18px;}
|
|
50
|
+
|
|
51
|
+
/* Direction Nav */
|
|
52
|
+
.flex-direction-nav { height: 0; }
|
|
53
|
+
.flex-direction-nav li a {width: 52px; height: 52px; margin: -13px 0 0; display: block; background: url(theme/bg_direction_nav.png) no-repeat; position: absolute; top: 50%; cursor: pointer; text-indent: -999em;}
|
|
54
|
+
.flex-direction-nav li .next {background-position: -52px 0; right: -21px;}
|
|
55
|
+
.flex-direction-nav li .prev {left: -20px;}
|
|
56
|
+
.flex-direction-nav li .disabled {opacity: .3; filter:alpha(opacity=30); cursor: default;}
|
|
57
|
+
|
|
58
|
+
/* Control Nav */
|
|
59
|
+
.flex-control-nav {width: 100%; position: absolute; bottom: -30px; text-align: center;}
|
|
60
|
+
.flex-control-nav li {margin: 0 0 0 5px; display: inline-block; zoom: 1; *display: inline;}
|
|
61
|
+
.flex-control-nav li:first-child {margin: 0;}
|
|
62
|
+
.flex-control-nav li a {width: 13px; height: 13px; display: block; background: url(theme/bg_control_nav.png) no-repeat; cursor: pointer; text-indent: -999em;}
|
|
63
|
+
.flex-control-nav li a:hover {background-position: 0 -13px;}
|
|
64
|
+
.flex-control-nav li a.active {background-position: 0 -26px; cursor: default;}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/*
|
|
2
|
+
*= require store/flexslider
|
|
3
|
+
*/
|
|
4
|
+
@media only screen and (max-width: 479px) {
|
|
5
|
+
.custom-controls {
|
|
6
|
+
.four.columns {
|
|
7
|
+
width:150px;
|
|
8
|
+
margin-right:0px!important;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
@media only screen and (min-width: 768px) and (max-width: 959px) {
|
|
14
|
+
.custom-controls {
|
|
15
|
+
.four.columns {
|
|
16
|
+
margin-right:15px!important; /* Sigh, to counter the quickfix below?*/
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.custom-controls {
|
|
22
|
+
ul, li {
|
|
23
|
+
display:inline;
|
|
24
|
+
}
|
|
25
|
+
li {margin-right:20px!important;} /* TODO - This is a quick fix. I don't know why my alpha four columns don't balance.*/
|
|
26
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
module SpreeShowcase
|
|
2
|
+
module Generators
|
|
3
|
+
class InstallGenerator < Rails::Generators::Base
|
|
4
|
+
source_root File.expand_path("../assets", __FILE__)
|
|
5
|
+
|
|
6
|
+
def add_javascripts
|
|
7
|
+
append_file 'app/assets/javascripts/store/all.js', "//= require store/spree_showcase\n"
|
|
8
|
+
if copy_file "javascripts/store/showcase.js", "app/assets/javascripts/store/showcase.js"
|
|
9
|
+
puts "Copied showcase.js into app/assets/javascripts/store/showcase.js\n"
|
|
10
|
+
else
|
|
11
|
+
puts "[Failed] File copying showcase.js => app/assets/javascripts/store/showcase.js\n"
|
|
12
|
+
end
|
|
13
|
+
if copy_file "javascripts/store/jquery.flexslider.js", "app/assets/javascripts/store/jquery.flexslider.js"
|
|
14
|
+
puts "Copied jquery.flexslider.js into app/assets/javascripts/store/jquery.flexslider.js\n"
|
|
15
|
+
else
|
|
16
|
+
puts "[Failed] File copying jquery.flexslider.js => app/assets/javascripts/store/jquery.flexslider.js\n"
|
|
17
|
+
end
|
|
18
|
+
puts "Copying JS assets into your app's javascripts/store directory. The file showcase.js is required by the extension and is used to activate slideshow.\n"
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def add_stylesheets
|
|
22
|
+
inject_into_file 'app/assets/stylesheets/store/all.css', " *= require store/spree_showcase\n", :before => /\*\//, :verbose => true
|
|
23
|
+
if copy_file "stylesheets/store/showcase.css.scss", "app/assets/stylesheets/store/showcase.css.scss"
|
|
24
|
+
puts "Copied showcase.css.scss into app/assets/stylesheets/store/showcase.css.scss\n"
|
|
25
|
+
else
|
|
26
|
+
puts "[Failed] File copying showcase.css.scss => app/assets/stylesheets/store/showcase.css.scss\n"
|
|
27
|
+
end
|
|
28
|
+
if copy_file "stylesheets/store/flexslider.css", "app/assets/stylesheets/store/flexslider.css"
|
|
29
|
+
puts "Copied flexslider into app/assets/stylesheets/store/flexslider.css. This is used for the default flexslider slider.\n"
|
|
30
|
+
else
|
|
31
|
+
puts "[Failed] File copying flexslider.css => app/assets/stylesheets/store/flexslider.css\n"
|
|
32
|
+
end
|
|
33
|
+
puts "showcase.css styles are required by the extension and can be changed in anyway to fit your own _showcase.html.erb\n"
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def add_partials
|
|
39
|
+
puts %q{This partial is the template structure for displaying the slideshow.}
|
|
40
|
+
if copy_file "partials/_showcase.html.erb", "app/views/spree/slides/_showcase.html.erb"
|
|
41
|
+
puts "Copied Partial _showcase.html.erb into app/views/spree/slides/_showcase.html.erb\n"
|
|
42
|
+
else
|
|
43
|
+
puts "[Failed] File copying _showcase.html.erb => app/views/spree/slides/_showcase.html.erb\n"
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def add_migrations
|
|
48
|
+
run 'bundle exec rake railties:install:migrations FROM=spree_showcase'
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def run_migrations
|
|
52
|
+
res = ask 'Would you like to run the migrations now? [Y/n]'
|
|
53
|
+
if res == '' || res.downcase == 'y'
|
|
54
|
+
run 'bundle exec rake db:migrate'
|
|
55
|
+
else
|
|
56
|
+
puts 'Skiping rake db:migrate, don\'t forget to run it!'
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def complete
|
|
61
|
+
puts "\nEverything is done! To summarize, _showcase.html.erb => HTML template, showcase.css.scss & showcase.js => assets. Edit these 3 files to fit run the slideshow."
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
|
|
2
|
+
class Spree::ShowcaseConfiguration < Spree::Preferences::Configuration
|
|
3
|
+
preference :enabled, :boolean, :default => true
|
|
4
|
+
preference :thumbnail_style, :string, :default=>"220x110#"
|
|
5
|
+
preference :showcase_style, :string, :default =>"940x470#"
|
|
6
|
+
preference :number_of_slides_to_show, :integer, :default=>4
|
|
7
|
+
end
|
|
8
|
+
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
module SpreeShowcase
|
|
2
|
+
class Engine < Rails::Engine
|
|
3
|
+
engine_name 'spree_showcase'
|
|
4
|
+
|
|
5
|
+
config.autoload_paths += %W(#{config.root}/lib)
|
|
6
|
+
|
|
7
|
+
# This initializer creates an instance class that persists throughout the app?
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
# use rspec for tests
|
|
12
|
+
config.generators do |g|
|
|
13
|
+
g.test_framework :rspec
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def self.activate
|
|
17
|
+
Dir.glob(File.join(File.dirname(__FILE__), '../../app/**/*_decorator*.rb')) do |c|
|
|
18
|
+
Rails.configuration.cache_classes ? require(c) : load(c)
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
config.to_prepare &method(:activate).to_proc
|
|
25
|
+
|
|
26
|
+
initializer "spree.flexi_variants.preferences", :after => "spree.environment" do |app|
|
|
27
|
+
SpreeShowcase::Config = Spree::ShowcaseConfiguration.new # TODO - investigate - Why can't I use Spree::Showcase::Config = ?
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
data/script/rails
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
|
|
2
|
+
|
|
3
|
+
ENGINE_ROOT = File.expand_path('../..', __FILE__)
|
|
4
|
+
ENGINE_PATH = File.expand_path('../../lib/spree_showcase/engine', __FILE__)
|
|
5
|
+
|
|
6
|
+
require 'rails/all'
|
|
7
|
+
require 'rails/engine/commands'
|
data/spec/spec_helper.rb
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Configure Rails Environment
|
|
2
|
+
ENV['RAILS_ENV'] = 'test'
|
|
3
|
+
|
|
4
|
+
require File.expand_path('../dummy/config/environment.rb', __FILE__)
|
|
5
|
+
|
|
6
|
+
require 'rspec/rails'
|
|
7
|
+
require 'ffaker'
|
|
8
|
+
|
|
9
|
+
# Requires supporting ruby files with custom matchers and macros, etc,
|
|
10
|
+
# in spec/support/ and its subdirectories.
|
|
11
|
+
Dir[File.join(File.dirname(__FILE__), 'support/**/*.rb')].each { |f| require f }
|
|
12
|
+
|
|
13
|
+
# Requires factories defined in spree_core
|
|
14
|
+
require 'spree/core/testing_support/factories'
|
|
15
|
+
require 'spree/core/url_helpers'
|
|
16
|
+
|
|
17
|
+
RSpec.configure do |config|
|
|
18
|
+
|
|
19
|
+
# == URL Helpers
|
|
20
|
+
#
|
|
21
|
+
# Allows access to Spree's routes in specs:
|
|
22
|
+
#
|
|
23
|
+
# visit spree.admin_path
|
|
24
|
+
# current_path.should eql(spree.products_path)
|
|
25
|
+
config.include Spree::Core::UrlHelpers
|
|
26
|
+
|
|
27
|
+
# == Mock Framework
|
|
28
|
+
#
|
|
29
|
+
# If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
|
|
30
|
+
#
|
|
31
|
+
# config.mock_with :mocha
|
|
32
|
+
# config.mock_with :flexmock
|
|
33
|
+
# config.mock_with :rr
|
|
34
|
+
config.mock_with :rspec
|
|
35
|
+
|
|
36
|
+
# Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
|
|
37
|
+
config.fixture_path = "#{::Rails.root}/spec/fixtures"
|
|
38
|
+
|
|
39
|
+
# If you're not using ActiveRecord, or you'd prefer not to run each of your
|
|
40
|
+
# examples within a transaction, remove the following line or assign false
|
|
41
|
+
# instead of true.
|
|
42
|
+
config.use_transactional_fixtures = true
|
|
43
|
+
end
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# encoding: UTF-8
|
|
2
|
+
Gem::Specification.new do |s|
|
|
3
|
+
s.platform = Gem::Platform::RUBY
|
|
4
|
+
s.name = 'spree_showcase'
|
|
5
|
+
s.version = '0.5.2'
|
|
6
|
+
s.summary = 'A Simple Spree Slider'
|
|
7
|
+
s.description = 'A simple slider accommodator, using Flexslider as default'
|
|
8
|
+
s.required_ruby_version = '>= 1.8.7'
|
|
9
|
+
|
|
10
|
+
s.author = 'Damon Aw'
|
|
11
|
+
s.email = 'daemonsy@gmail.com'
|
|
12
|
+
s.homepage = 'http://theidealweb.com'
|
|
13
|
+
|
|
14
|
+
s.files = `git ls-files`.split("\n")
|
|
15
|
+
# s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
|
16
|
+
s.require_path = 'lib'
|
|
17
|
+
s.requirements << 'none'
|
|
18
|
+
|
|
19
|
+
s.add_dependency 'spree_core', '~> 1.1.0'
|
|
20
|
+
|
|
21
|
+
s.add_development_dependency 'capybara', '1.0.1'
|
|
22
|
+
s.add_development_dependency 'factory_girl', '~> 2.6.4'
|
|
23
|
+
s.add_development_dependency 'ffaker'
|
|
24
|
+
s.add_development_dependency 'rspec-rails', '~> 2.9'
|
|
25
|
+
s.add_development_dependency 'sqlite3'
|
|
26
|
+
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: spree_showcase
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.5.
|
|
4
|
+
version: 0.5.2
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2012-05-
|
|
12
|
+
date: 2012-05-12 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: spree_core
|
|
@@ -27,6 +27,70 @@ dependencies:
|
|
|
27
27
|
- - ~>
|
|
28
28
|
- !ruby/object:Gem::Version
|
|
29
29
|
version: 1.1.0
|
|
30
|
+
- !ruby/object:Gem::Dependency
|
|
31
|
+
name: capybara
|
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
|
33
|
+
none: false
|
|
34
|
+
requirements:
|
|
35
|
+
- - '='
|
|
36
|
+
- !ruby/object:Gem::Version
|
|
37
|
+
version: 1.0.1
|
|
38
|
+
type: :development
|
|
39
|
+
prerelease: false
|
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
41
|
+
none: false
|
|
42
|
+
requirements:
|
|
43
|
+
- - '='
|
|
44
|
+
- !ruby/object:Gem::Version
|
|
45
|
+
version: 1.0.1
|
|
46
|
+
- !ruby/object:Gem::Dependency
|
|
47
|
+
name: factory_girl
|
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
|
49
|
+
none: false
|
|
50
|
+
requirements:
|
|
51
|
+
- - ~>
|
|
52
|
+
- !ruby/object:Gem::Version
|
|
53
|
+
version: 2.6.4
|
|
54
|
+
type: :development
|
|
55
|
+
prerelease: false
|
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
57
|
+
none: false
|
|
58
|
+
requirements:
|
|
59
|
+
- - ~>
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: 2.6.4
|
|
62
|
+
- !ruby/object:Gem::Dependency
|
|
63
|
+
name: ffaker
|
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
|
65
|
+
none: false
|
|
66
|
+
requirements:
|
|
67
|
+
- - ! '>='
|
|
68
|
+
- !ruby/object:Gem::Version
|
|
69
|
+
version: '0'
|
|
70
|
+
type: :development
|
|
71
|
+
prerelease: false
|
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
73
|
+
none: false
|
|
74
|
+
requirements:
|
|
75
|
+
- - ! '>='
|
|
76
|
+
- !ruby/object:Gem::Version
|
|
77
|
+
version: '0'
|
|
78
|
+
- !ruby/object:Gem::Dependency
|
|
79
|
+
name: rspec-rails
|
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
|
81
|
+
none: false
|
|
82
|
+
requirements:
|
|
83
|
+
- - ~>
|
|
84
|
+
- !ruby/object:Gem::Version
|
|
85
|
+
version: '2.9'
|
|
86
|
+
type: :development
|
|
87
|
+
prerelease: false
|
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
89
|
+
none: false
|
|
90
|
+
requirements:
|
|
91
|
+
- - ~>
|
|
92
|
+
- !ruby/object:Gem::Version
|
|
93
|
+
version: '2.9'
|
|
30
94
|
- !ruby/object:Gem::Dependency
|
|
31
95
|
name: sqlite3
|
|
32
96
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -43,12 +107,62 @@ dependencies:
|
|
|
43
107
|
- - ! '>='
|
|
44
108
|
- !ruby/object:Gem::Version
|
|
45
109
|
version: '0'
|
|
46
|
-
description: A
|
|
110
|
+
description: A simple slider accommodator, using Flexslider as default
|
|
47
111
|
email: daemonsy@gmail.com
|
|
48
112
|
executables: []
|
|
49
113
|
extensions: []
|
|
50
114
|
extra_rdoc_files: []
|
|
51
|
-
files:
|
|
115
|
+
files:
|
|
116
|
+
- .gitignore
|
|
117
|
+
- .rspec
|
|
118
|
+
- Gemfile
|
|
119
|
+
- Gemfile.lock
|
|
120
|
+
- LICENSE
|
|
121
|
+
- README.md
|
|
122
|
+
- Rakefile
|
|
123
|
+
- Versionfile
|
|
124
|
+
- app/assets/images/store/bg_control_nav.png
|
|
125
|
+
- app/assets/images/store/bg_direction_nav.png
|
|
126
|
+
- app/assets/javascripts/admin/spree_showcase.js
|
|
127
|
+
- app/assets/javascripts/store/spree_showcase.js
|
|
128
|
+
- app/assets/stylesheets/admin/spree_showcase.css
|
|
129
|
+
- app/assets/stylesheets/store/spree_showcase.css
|
|
130
|
+
- app/controllers/spree/admin/showcase_settings_controller.rb
|
|
131
|
+
- app/controllers/spree/admin/slides_controller.rb
|
|
132
|
+
- app/models/spree/slide.rb
|
|
133
|
+
- app/overrides/add_showcase_to_admin_configuration_menu.rb
|
|
134
|
+
- app/overrides/add_showcase_to_admin_configurations_side_menu.rb
|
|
135
|
+
- app/overrides/add_showcase_to_home_layout.rb
|
|
136
|
+
- app/overrides/insert_slider_into_spree_application.rb
|
|
137
|
+
- app/views/spree/admin/shared/_showcase_settings.html.erb
|
|
138
|
+
- app/views/spree/admin/shared/_showcase_submenu.html.erb
|
|
139
|
+
- app/views/spree/admin/showcase_settings/edit.html.erb
|
|
140
|
+
- app/views/spree/admin/showcase_settings/show.html.erb
|
|
141
|
+
- app/views/spree/admin/slides/_form.html.erb
|
|
142
|
+
- app/views/spree/admin/slides/edit.html.erb
|
|
143
|
+
- app/views/spree/admin/slides/index.html.erb
|
|
144
|
+
- app/views/spree/admin/slides/new.html.erb
|
|
145
|
+
- app/views/spree/admin/slides/show.html.erb
|
|
146
|
+
- app/views/spree/slides/_content_insert.html.erb
|
|
147
|
+
- app/views/spree/slides/_showcase.html.erb
|
|
148
|
+
- config/locales/en.yml
|
|
149
|
+
- config/routes.rb
|
|
150
|
+
- db/migrate/20120506161852_create_slides.rb
|
|
151
|
+
- db/migrate/20120507074922_add_position_to_slide.rb
|
|
152
|
+
- lib/generators/spree_showcase/install/assets/javascripts/store/jquery.flexslider.js
|
|
153
|
+
- lib/generators/spree_showcase/install/assets/javascripts/store/showcase.js
|
|
154
|
+
- lib/generators/spree_showcase/install/assets/partials/_showcase.html.erb
|
|
155
|
+
- lib/generators/spree_showcase/install/assets/stylesheets/store/flexslider.css
|
|
156
|
+
- lib/generators/spree_showcase/install/assets/stylesheets/store/showcase.css.scss
|
|
157
|
+
- lib/generators/spree_showcase/install/install_generator.rb
|
|
158
|
+
- lib/spree/showcase_configuration.rb
|
|
159
|
+
- lib/spree_showcase.rb
|
|
160
|
+
- lib/spree_showcase/engine.rb
|
|
161
|
+
- script/rails
|
|
162
|
+
- spec/spec_helper.rb
|
|
163
|
+
- spree_showcase-0.5.0.gem
|
|
164
|
+
- spree_showcase-0.5.1.gem
|
|
165
|
+
- spree_showcase.gemspec
|
|
52
166
|
homepage: http://theidealweb.com
|
|
53
167
|
licenses: []
|
|
54
168
|
post_install_message:
|