Start with the skeleton generated by the spree extension utilitiy
This commit is contained in:
commit
15046398bd
|
@ -0,0 +1,6 @@
|
||||||
|
source 'http://rubygems.org'
|
||||||
|
|
||||||
|
# Provides basic authentication functionality for testing parts of your engine
|
||||||
|
gem 'spree_auth_devise', :git => "git://github.com/spree/spree_auth_devise"
|
||||||
|
|
||||||
|
gemspec
|
|
@ -0,0 +1,26 @@
|
||||||
|
Copyright (c) 2013 [name of plugin creator]
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without modification,
|
||||||
|
are permitted provided that the following conditions are met:
|
||||||
|
|
||||||
|
* Redistributions of source code must retain the above copyright notice,
|
||||||
|
this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
this list of conditions and the following disclaimer in the documentation
|
||||||
|
and/or other materials provided with the distribution.
|
||||||
|
* Neither the name Spree nor the names of its contributors may be used to
|
||||||
|
endorse or promote products derived from this software without specific
|
||||||
|
prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||||
|
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||||
|
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||||
|
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||||
|
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||||
|
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
@ -0,0 +1,21 @@
|
||||||
|
SpreeSysmocomStock
|
||||||
|
==================
|
||||||
|
|
||||||
|
Introduction goes here.
|
||||||
|
|
||||||
|
|
||||||
|
Example
|
||||||
|
=======
|
||||||
|
|
||||||
|
Example goes here.
|
||||||
|
|
||||||
|
Testing
|
||||||
|
-------
|
||||||
|
|
||||||
|
Be sure to bundle your dependencies and then create a dummy test app for the specs to run against.
|
||||||
|
|
||||||
|
$ bundle
|
||||||
|
$ bundle exec rake test_app
|
||||||
|
$ bundle exec rspec spec
|
||||||
|
|
||||||
|
Copyright (c) 2013 [name of extension creator], released under the New BSD License
|
|
@ -0,0 +1,15 @@
|
||||||
|
require 'bundler'
|
||||||
|
Bundler::GemHelper.install_tasks
|
||||||
|
|
||||||
|
require 'rspec/core/rake_task'
|
||||||
|
require 'spree/core/testing_support/common_rake'
|
||||||
|
|
||||||
|
RSpec::Core::RakeTask.new
|
||||||
|
|
||||||
|
task :default => [:spec]
|
||||||
|
|
||||||
|
desc 'Generates a dummy app for testing'
|
||||||
|
task :test_app do
|
||||||
|
ENV['LIB_NAME'] = 'spree_sysmocom_stock'
|
||||||
|
Rake::Task['common:test_app'].invoke
|
||||||
|
end
|
|
@ -0,0 +1,11 @@
|
||||||
|
# This file is used to designate compatibilty with different versions of Spree
|
||||||
|
# Please see http://spreecommerce.com/documentation/extensions.html#versionfile for details
|
||||||
|
|
||||||
|
# Examples
|
||||||
|
#
|
||||||
|
# '1.2.x' => { :branch => 'master' }
|
||||||
|
# '1.1.x' => { :branch => '1-1-stable' }
|
||||||
|
# '1.0.x' => { :branch => '1-0-stable' }
|
||||||
|
# '0.70.x' => { :branch => '0-70-stable' }
|
||||||
|
# '0.40.x' => { :tag => 'v1.0.0', :version => '1.0.0' }
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
//= require admin/spree_core
|
|
@ -0,0 +1 @@
|
||||||
|
//= require store/spree_core
|
|
@ -0,0 +1,3 @@
|
||||||
|
/*
|
||||||
|
*= require admin/spree_core
|
||||||
|
*/
|
|
@ -0,0 +1,3 @@
|
||||||
|
/*
|
||||||
|
*= require store/spree_core
|
||||||
|
*/
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Sample localization file for English. Add more files in this directory for other locales.
|
||||||
|
# See https://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.
|
||||||
|
|
||||||
|
en:
|
||||||
|
hello: "Hello world"
|
|
@ -0,0 +1,3 @@
|
||||||
|
Spree::Core::Engine.routes.draw do
|
||||||
|
# Add your extension routes here
|
||||||
|
end
|
|
@ -0,0 +1,29 @@
|
||||||
|
module SpreeSysmocomStock
|
||||||
|
module Generators
|
||||||
|
class InstallGenerator < Rails::Generators::Base
|
||||||
|
|
||||||
|
def add_javascripts
|
||||||
|
append_file 'app/assets/javascripts/store/all.js', "//= require store/spree_sysmocom_stock\n"
|
||||||
|
append_file 'app/assets/javascripts/admin/all.js', "//= require admin/spree_sysmocom_stock\n"
|
||||||
|
end
|
||||||
|
|
||||||
|
def add_stylesheets
|
||||||
|
inject_into_file 'app/assets/stylesheets/store/all.css', " *= require store/spree_sysmocom_stock\n", :before => /\*\//, :verbose => true
|
||||||
|
inject_into_file 'app/assets/stylesheets/admin/all.css', " *= require admin/spree_sysmocom_stock\n", :before => /\*\//, :verbose => true
|
||||||
|
end
|
||||||
|
|
||||||
|
def add_migrations
|
||||||
|
run 'bundle exec rake railties:install:migrations FROM=spree_sysmocom_stock'
|
||||||
|
end
|
||||||
|
|
||||||
|
def run_migrations
|
||||||
|
res = ask 'Would you like to run the migrations now? [Y/n]'
|
||||||
|
if res == '' || res.downcase == 'y'
|
||||||
|
run 'bundle exec rake db:migrate'
|
||||||
|
else
|
||||||
|
puts 'Skipping rake db:migrate, don\'t forget to run it!'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,2 @@
|
||||||
|
require 'spree_core'
|
||||||
|
require 'spree_sysmocom_stock/engine'
|
|
@ -0,0 +1,22 @@
|
||||||
|
module SpreeSysmocomStock
|
||||||
|
class Engine < Rails::Engine
|
||||||
|
require 'spree/core'
|
||||||
|
isolate_namespace Spree
|
||||||
|
engine_name 'spree_sysmocom_stock'
|
||||||
|
|
||||||
|
config.autoload_paths += %W(#{config.root}/lib)
|
||||||
|
|
||||||
|
# use rspec for tests
|
||||||
|
config.generators do |g|
|
||||||
|
g.test_framework :rspec
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.activate
|
||||||
|
Dir.glob(File.join(File.dirname(__FILE__), '../../app/**/*_decorator*.rb')) do |c|
|
||||||
|
Rails.configuration.cache_classes ? require(c) : load(c)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
config.to_prepare &method(:activate).to_proc
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,7 @@
|
||||||
|
# This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
|
||||||
|
|
||||||
|
ENGINE_ROOT = File.expand_path('../..', __FILE__)
|
||||||
|
ENGINE_PATH = File.expand_path('../../lib/spree_sysmocom_stock/engine', __FILE__)
|
||||||
|
|
||||||
|
require 'rails/all'
|
||||||
|
require 'rails/engine/commands'
|
|
@ -0,0 +1,46 @@
|
||||||
|
# Configure Rails Environment
|
||||||
|
ENV['RAILS_ENV'] = 'test'
|
||||||
|
|
||||||
|
require File.expand_path('../dummy/config/environment.rb', __FILE__)
|
||||||
|
|
||||||
|
require 'rspec/rails'
|
||||||
|
require 'ffaker'
|
||||||
|
|
||||||
|
# Requires supporting ruby files with custom matchers and macros, etc,
|
||||||
|
# in spec/support/ and its subdirectories.
|
||||||
|
Dir[File.join(File.dirname(__FILE__), 'support/**/*.rb')].each { |f| require f }
|
||||||
|
|
||||||
|
# Requires factories defined in spree_core
|
||||||
|
require 'spree/core/testing_support/factories'
|
||||||
|
require 'spree/core/testing_support/controller_requests'
|
||||||
|
require 'spree/core/testing_support/authorization_helpers'
|
||||||
|
require 'spree/core/url_helpers'
|
||||||
|
|
||||||
|
RSpec.configure do |config|
|
||||||
|
config.include FactoryGirl::Syntax::Methods
|
||||||
|
|
||||||
|
# == URL Helpers
|
||||||
|
#
|
||||||
|
# Allows access to Spree's routes in specs:
|
||||||
|
#
|
||||||
|
# visit spree.admin_path
|
||||||
|
# current_path.should eql(spree.products_path)
|
||||||
|
config.include Spree::Core::UrlHelpers
|
||||||
|
|
||||||
|
# == Mock Framework
|
||||||
|
#
|
||||||
|
# If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
|
||||||
|
#
|
||||||
|
# config.mock_with :mocha
|
||||||
|
# config.mock_with :flexmock
|
||||||
|
# config.mock_with :rr
|
||||||
|
config.mock_with :rspec
|
||||||
|
|
||||||
|
# Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
|
||||||
|
config.fixture_path = "#{::Rails.root}/spec/fixtures"
|
||||||
|
|
||||||
|
# If you're not using ActiveRecord, or you'd prefer not to run each of your
|
||||||
|
# examples within a transaction, remove the following line or assign false
|
||||||
|
# instead of true.
|
||||||
|
config.use_transactional_fixtures = true
|
||||||
|
end
|
|
@ -0,0 +1,26 @@
|
||||||
|
# encoding: UTF-8
|
||||||
|
Gem::Specification.new do |s|
|
||||||
|
s.platform = Gem::Platform::RUBY
|
||||||
|
s.name = 'spree_sysmocom_stock'
|
||||||
|
s.version = '1.2.4.beta'
|
||||||
|
s.summary = 'TODO: Add gem summary here'
|
||||||
|
s.description = 'TODO: Add (optional) gem description here'
|
||||||
|
s.required_ruby_version = '>= 1.8.7'
|
||||||
|
|
||||||
|
# s.author = 'You'
|
||||||
|
# s.email = 'you@example.com'
|
||||||
|
# s.homepage = 'http://www.spreecommerce.com'
|
||||||
|
|
||||||
|
#s.files = `git ls-files`.split("\n")
|
||||||
|
#s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
||||||
|
s.require_path = 'lib'
|
||||||
|
s.requirements << 'none'
|
||||||
|
|
||||||
|
s.add_dependency 'spree_core', '~> 1.2.4.beta'
|
||||||
|
|
||||||
|
s.add_development_dependency 'capybara', '1.0.1'
|
||||||
|
s.add_development_dependency 'factory_girl', '~> 2.6.4'
|
||||||
|
s.add_development_dependency 'ffaker'
|
||||||
|
s.add_development_dependency 'rspec-rails', '~> 2.9'
|
||||||
|
s.add_development_dependency 'sqlite3'
|
||||||
|
end
|
Loading…
Reference in New Issue