Skip to content

Commit

Permalink
* Free spree core version to spree/spree@69fc8a1
Browse files Browse the repository at this point in the history
* Pick default email from a spree preference
* Namespace gem in order to be able to store Spree::EmailToFriend::Config
* Fix broken dependencies, so now tests are green
* Add development dependencies, now spree core has its development
  dependencies at a different file this causes them not to be
  automatically loaded when running bundle install
  • Loading branch information
emmanuel delgado committed Mar 27, 2012
1 parent adcce8a commit c41a5e8
Show file tree
Hide file tree
Showing 8 changed files with 46 additions and 48 deletions.
3 changes: 3 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
source :rubygems

gem 'spree', git: 'https://github.com/spree/spree.git',
ref: '69fc8a14e22c4631c520b5394afbede9a5ebce46'

gemspec

2 changes: 1 addition & 1 deletion app/mailers/spree/to_friend_mailer.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
class Spree::ToFriendMailer < ActionMailer::Base
default :from => Spree::Config[:mails_from]
default :from => Spree::EmailToFriend::Config[:mails_from]

def mail_to_friend(object, mail)
@object = object
Expand Down
3 changes: 3 additions & 0 deletions app/models/spree/email_to_friend_configuration.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
class Spree::EmailToFriendConfiguration < Spree::Preferences::Configuration
preference :mails_from, :string, default: 'no-reply@example.com'
end
26 changes: 26 additions & 0 deletions lib/spree/spree_email_to_friend/engine.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
require 'recaptcha/rails'

module Spree
module Captcha; end

module EmailToFriend
class Engine < Rails::Engine
engine_name 'spree_email_to_friend'

config.autoload_paths += %W(#{config.root}/lib)

initializer "spree.email_to_friend.preferences", :after => "spree.environment" do |app|
Spree::Captcha::Config = Spree::CaptchaConfiguration.new
Spree::EmailToFriend::Config = Spree::EmailToFriendConfiguration.new
end

def self.activate
Dir.glob(File.join(File.dirname(__FILE__), "../../app/**/*_decorator*.rb")) do |c|
Rails.application.config.cache_classes ? require(c) : load(c)
end
end

config.to_prepare &method(:activate).to_proc
end
end
end
2 changes: 1 addition & 1 deletion lib/spree_email_to_friend.rb
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
require 'spree_core'
require 'spree_email_to_friend/engine'
require 'spree/spree_email_to_friend/engine'
28 changes: 0 additions & 28 deletions lib/spree_email_to_friend/engine.rb

This file was deleted.

20 changes: 5 additions & 15 deletions spec/spec_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,12 @@
require File.expand_path("../dummy/config/environment", __FILE__)
require 'rspec/rails'

#include spree's factories
require 'spree/core/testing_support/factories'
# 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 }

# include local factories
Dir["#{File.dirname(__FILE__)}/factories/**/*.rb"].each do |f|
fp = File.expand_path(f)
require fp
end
# Requires factories defined in spree_core
require 'spree/core/testing_support/factories'

RSpec.configure do |config|
# == Mock Framework
Expand All @@ -30,11 +28,3 @@
# instead of true.
config.use_transactional_fixtures = true
end

Spree::Zone.class_eval do
def self.global
find_by_name("GlobalZone") || Factory(:global_zone)
end
end

@configuration ||= Spree::AppConfiguration.find_or_create_by_name("Default configuration")
10 changes: 7 additions & 3 deletions spree_email_to_friend.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Gem::Specification.new do |s|
s.version = '1.2'
s.summary = 'Spree extension to send product recommendations to friends'
s.description = 'Spree extension to send product recommendations to friends'
s.required_ruby_version = '>= 1.8.7'
s.required_ruby_version = '>= 1.9.2'

s.author = 'Jorge Calás Lozano, Roman Smirnov, Trung Lê'
s.homepage = 'https://github.com/spree/spree_email_to_friend'
Expand All @@ -15,8 +15,12 @@ Gem::Specification.new do |s|
s.require_paths = ["lib"]
s.requirements << 'none'

s.add_dependency 'spree_core', '~> 1.0.0'
s.add_dependency 'spree_auth', '~> 1.0.0'
s.add_dependency 'spree_core'
s.add_dependency 'recaptcha', '>= 0.3.1'
s.add_development_dependency 'rspec-rails'
s.add_development_dependency 'capybara', '1.0.1'
s.add_development_dependency 'ffaker'
s.add_development_dependency 'factory_girl_rails', '~> 1.7.0'
s.add_development_dependency 'rspec-rails', '~> 2.9'
s.add_development_dependency 'sqlite3'
end

0 comments on commit c41a5e8

Please sign in to comment.