
commit
86b76a198e
13 changed files with 244 additions and 0 deletions
@ -0,0 +1,9 @@
|
||||
\#* |
||||
*~ |
||||
.#* |
||||
.DS_Store |
||||
.idea |
||||
.project |
||||
tmp |
||||
nbproject |
||||
*.swp |
@ -0,0 +1,23 @@
|
||||
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 of the Rails Dog LLC 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,15 @@
|
||||
SysmocomDhl |
||||
=========== |
||||
|
||||
Deal with German DHL and German Post. Try to automate the process of calculating |
||||
shipping costs, creating labels and hopefully tracking. |
||||
Introduction goes here. |
||||
|
||||
|
||||
Example |
||||
======= |
||||
|
||||
Example goes here. |
||||
|
||||
|
||||
Copyright (c) 2012 Holger Freyther, released under the New BSD License |
@ -0,0 +1,75 @@
|
||||
require 'rubygems' |
||||
require 'rake' |
||||
require 'rake/testtask' |
||||
require 'rake/packagetask' |
||||
require 'rake/gempackagetask' |
||||
|
||||
gemfile = File.expand_path('../spec/test_app/Gemfile', __FILE__) |
||||
if File.exists?(gemfile) && (%w(spec cucumber).include?(ARGV.first.to_s) || ARGV.size == 0) |
||||
require 'bundler' |
||||
ENV['BUNDLE_GEMFILE'] = gemfile |
||||
Bundler.setup |
||||
|
||||
require 'rspec' |
||||
require 'rspec/core/rake_task' |
||||
RSpec::Core::RakeTask.new |
||||
|
||||
require 'cucumber/rake/task' |
||||
Cucumber::Rake::Task.new do |t| |
||||
t.cucumber_opts = %w{--format progress} |
||||
end |
||||
end |
||||
|
||||
desc "Default Task" |
||||
task :default => [:spec, :cucumber ] |
||||
|
||||
spec = eval(File.read('sysmocom_dhl.gemspec')) |
||||
|
||||
Rake::GemPackageTask.new(spec) do |p| |
||||
p.gem_spec = spec |
||||
end |
||||
|
||||
desc "Release to gemcutter" |
||||
task :release => :package do |
||||
require 'rake/gemcutter' |
||||
Rake::Gemcutter::Tasks.new(spec).define |
||||
Rake::Task['gem:push'].invoke |
||||
end |
||||
|
||||
desc "Default Task" |
||||
task :default => [ :spec ] |
||||
|
||||
desc "Regenerates a rails 3 app for testing" |
||||
task :test_app do |
||||
require '../spree/lib/generators/spree/test_app_generator' |
||||
class SysmocomDhlTestAppGenerator < Spree::Generators::TestAppGenerator |
||||
|
||||
def install_gems |
||||
inside "test_app" do |
||||
run 'bundle exec rake spree_core:install' |
||||
run 'bundle exec rake sysmocom_dhl:install' |
||||
end |
||||
end |
||||
|
||||
def migrate_db |
||||
run_migrations |
||||
end |
||||
|
||||
protected |
||||
def full_path_for_local_gems |
||||
<<-gems |
||||
gem 'spree_core', :path => \'#{File.join(File.dirname(__FILE__), "../spree/", "core")}\' |
||||
gem 'sysmocom_dhl', :path => \'#{File.dirname(__FILE__)}\' |
||||
gems |
||||
end |
||||
|
||||
end |
||||
SysmocomDhlTestAppGenerator.start |
||||
end |
||||
|
||||
namespace :test_app do |
||||
desc 'Rebuild test and cucumber databases' |
||||
task :rebuild_dbs do |
||||
system("cd spec/test_app && bundle exec rake db:drop db:migrate RAILS_ENV=test && rake db:drop db:migrate RAILS_ENV=cucumber") |
||||
end |
||||
end |
@ -0,0 +1,9 @@
|
||||
# This file is used to designate compatibilty with different versions of Spree |
||||
# Please see http://spreecommerce.com/documentation/extensions.html#versionfile for details |
||||
|
||||
# Examples |
||||
# |
||||
# "0.50.x" => { :branch => "master" } |
||||
# "0.40.x" => { :tag => "v1.0.0", :version => "1.0.0" } |
||||
|
||||
|
@ -0,0 +1,3 @@
|
||||
Rails.application.routes.draw do |
||||
# Add your extension routes here |
||||
end |
@ -0,0 +1,14 @@
|
||||
class AddDhlCouponTable < ActiveRecord::Migration |
||||
def self.up |
||||
create_table :sysmocom_dhl_coupons do |t| |
||||
t.timestamps |
||||
t.references :order |
||||
t.string :type |
||||
t.string :code |
||||
end |
||||
end |
||||
|
||||
def self.down |
||||
drop_table :sysmocom_dhl_coupons |
||||
end |
||||
end |
@ -0,0 +1,17 @@
|
||||
require 'spree_core' |
||||
require 'sysmocom_dhl_hooks' |
||||
|
||||
module SysmocomDhl |
||||
class Engine < Rails::Engine |
||||
|
||||
config.autoload_paths += %W(#{config.root}/lib) |
||||
|
||||
def self.activate |
||||
Dir.glob(File.join(File.dirname(__FILE__), "../app/**/*_decorator*.rb")) do |c| |
||||
Rails.env.production? ? require(c) : load(c) |
||||
end |
||||
end |
||||
|
||||
config.to_prepare &method(:activate).to_proc |
||||
end |
||||
end |
@ -0,0 +1,3 @@
|
||||
class SysmocomDhlHooks < Spree::ThemeSupport::HookListener |
||||
# custom hooks go here |
||||
end |
@ -0,0 +1,25 @@
|
||||
namespace :sysmocom_dhl do |
||||
desc "Copies all migrations and assets (NOTE: This will be obsolete with Rails 3.1)" |
||||
task :install do |
||||
Rake::Task['sysmocom_dhl:install:migrations'].invoke |
||||
Rake::Task['sysmocom_dhl:install:assets'].invoke |
||||
end |
||||
|
||||
namespace :install do |
||||
desc "Copies all migrations (NOTE: This will be obsolete with Rails 3.1)" |
||||
task :migrations do |
||||
source = File.join(File.dirname(__FILE__), '..', '..', 'db') |
||||
destination = File.join(Rails.root, 'db') |
||||
Spree::FileUtilz.mirror_files(source, destination) |
||||
end |
||||
|
||||
desc "Copies all assets (NOTE: This will be obsolete with Rails 3.1)" |
||||
task :assets do |
||||
source = File.join(File.dirname(__FILE__), '..', '..', 'public') |
||||
destination = File.join(Rails.root, 'public') |
||||
puts "INFO: Mirroring assets from #{source} to #{destination}" |
||||
Spree::FileUtilz.mirror_files(source, destination) |
||||
end |
||||
end |
||||
|
||||
end |
@ -0,0 +1,30 @@
|
||||
# This file is copied to ~/spec when you run 'ruby script/generate rspec' |
||||
# from the project root directory. |
||||
ENV["RAILS_ENV"] ||= 'test' |
||||
require File.expand_path("../test_app/config/environment", __FILE__) |
||||
require 'rspec/rails' |
||||
|
||||
# Requires supporting files with custom matchers and macros, etc, |
||||
# in ./support/ and its subdirectories. |
||||
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f} |
||||
|
||||
RSpec.configure do |config| |
||||
# == 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 |
||||
|
||||
config.fixture_path = "#{::Rails.root}/spec/fixtures" |
||||
|
||||
#config.include Devise::TestHelpers, :type => :controller |
||||
# If you're not using ActiveRecord, or you'd prefer not to run each of your |
||||
# examples within a transaction, comment the following line or assign false |
||||
# instead of true. |
||||
config.use_transactional_fixtures = true |
||||
end |
||||
|
||||
@configuration ||= AppConfiguration.find_or_create_by_name("Default configuration") |
@ -0,0 +1,20 @@
|
||||
Gem::Specification.new do |s| |
||||
s.platform = Gem::Platform::RUBY |
||||
s.name = 'sysmocom_dhl' |
||||
s.version = '0.60.1' |
||||
s.summary = 'sysmocom_dhl shipping helper' |
||||
s.description = 'Deal with shipping cost, zones, insurance' |
||||
s.required_ruby_version = '>= 1.8.7' |
||||
|
||||
# s.author = 'David Heinemeier Hansson' |
||||
# s.email = 'david@loudthinking.com' |
||||
# s.homepage = 'http://www.rubyonrails.org' |
||||
# s.rubyforge_project = 'actionmailer' |
||||
|
||||
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', '>= 0.60.1') |
||||
end |
Loading…
Reference in new issue