synergy 0.50.0.rc1
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 +9 -0
- data/LICENSE.txt +674 -0
- data/README.md +53 -0
- data/Rakefile +76 -0
- data/app/controllers/admin/products_controller_decorator.rb +64 -0
- data/app/controllers/checkout_controller_decorator.rb +10 -0
- data/app/models/calculator/cash_on_delivery.rb +14 -0
- data/app/models/taxon_decorator.rb +3 -0
- data/app/views/admin/overview/index.html.erb +170 -0
- data/app/views/admin/products/index.html.erb +94 -0
- data/app/views/shared/_filters.html.erb +0 -0
- data/config/initializers/secoint.rb +1 -0
- data/config/locales/affiliate_ru.yml +12 -0
- data/config/locales/devise.ru.yml +48 -0
- data/config/locales/email_to_friend_ru.yml +22 -0
- data/config/locales/reviews_ru.yml +59 -0
- data/config/locales/robokassa_ru.yml +14 -0
- data/config/locales/ru.yml +65 -0
- data/config/locales/wishlist_ru.yml +27 -0
- data/config/routes.rb +4 -0
- data/db/default/countries.yml +1583 -0
- data/db/default/roles.yml +7 -0
- data/db/default/states.yml +418 -0
- data/db/default/zone_members.yml +7 -0
- data/db/default/zones.yml +8 -0
- data/db/migrate/20090311090247_make_unicode_friendly.rb +48 -0
- data/db/migrate/20090827180351_add_secondname_to_addresses.rb +9 -0
- data/db/sample/calculators.yml +16 -0
- data/db/sample/preferences.yml +20 -0
- data/db/sample/shipping_categories.yml +3 -0
- data/db/sample/shipping_methods.yml +9 -0
- data/lib/synergy.rb +48 -0
- data/lib/synergy_hooks.rb +8 -0
- data/lib/tasks/install.rake +30 -0
- data/lib/tasks/synergy.rake +1 -0
- data/public/images/admin/icons/help.png +0 -0
- data/public/javascripts/admin/inline_help.js +24 -0
- data/public/javascripts/admin/jquery.simpletip-1.3.1.pack.js +14 -0
- data/public/stylesheets/admin/inline_help.css +21 -0
- data/public/stylesheets/admin/synergy.css +8 -0
- data/spec/spec_helper.rb +30 -0
- data/synergy.gemspec +30 -0
- metadata +261 -0
@@ -0,0 +1,16 @@
|
|
1
|
+
ups_ground:
|
2
|
+
calculable: ups_ground
|
3
|
+
calculable_type: ShippingMethod
|
4
|
+
type: Calculator::FlatRate
|
5
|
+
ups_two_day:
|
6
|
+
calculable: ups_two_day
|
7
|
+
calculable_type: ShippingMethod
|
8
|
+
type: Calculator::FlatRate
|
9
|
+
ups_one_day:
|
10
|
+
calculable: ups_one_day
|
11
|
+
calculable_type: ShippingMethod
|
12
|
+
type: Calculator::FlatRate
|
13
|
+
flat_rate_coupon_calculator:
|
14
|
+
calculable: spree_coupon
|
15
|
+
calculable_type: Promotion
|
16
|
+
type: Calculator::FlatRate
|
@@ -0,0 +1,20 @@
|
|
1
|
+
flat_rate_ground:
|
2
|
+
name: amount
|
3
|
+
owner: ups_ground
|
4
|
+
owner_type: Calculator
|
5
|
+
value: 5
|
6
|
+
flat_rate_two_day:
|
7
|
+
name: amount
|
8
|
+
owner: ups_two_day
|
9
|
+
owner_type: Calculator
|
10
|
+
value: 10
|
11
|
+
flat_rate_one_day:
|
12
|
+
name: amount
|
13
|
+
owner: ups_one_day
|
14
|
+
owner_type: Calculator
|
15
|
+
value: 15
|
16
|
+
flat_rate_five_dollars:
|
17
|
+
name: amount
|
18
|
+
owner: flat_rate_coupon_calculator
|
19
|
+
owner_type: Calculator
|
20
|
+
value: 5
|
data/lib/synergy.rb
ADDED
@@ -0,0 +1,48 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
require 'spree_core'
|
3
|
+
require 'synergy_hooks'
|
4
|
+
|
5
|
+
module Synergy
|
6
|
+
class Engine < Rails::Engine
|
7
|
+
|
8
|
+
config.autoload_paths += %W(#{config.root}/lib)
|
9
|
+
|
10
|
+
def self.activate
|
11
|
+
Dir.glob(File.join(File.dirname(__FILE__), "../app/**/*_decorator*.rb")) do |c|
|
12
|
+
Rails.env.production? ? require(c) : load(c)
|
13
|
+
end
|
14
|
+
|
15
|
+
Time::DATE_FORMATS[:default] = "%d.%m.%Y - %H:%M"
|
16
|
+
Date::DATE_FORMATS[:default] = "%d.%m.%Y"
|
17
|
+
|
18
|
+
Time.zone = "Moscow"
|
19
|
+
I18n.default_locale = :ru
|
20
|
+
|
21
|
+
if Spree::Config.instance
|
22
|
+
Spree::Config.set(:default_locale => :ru)
|
23
|
+
Spree::Config.set(:default_country_id => 168)
|
24
|
+
Spree::Config.set(:allow_ssl_in_production => false)
|
25
|
+
Spree::Config.set(:disable_bill_address => true)
|
26
|
+
end
|
27
|
+
|
28
|
+
ADDRESS_FIELDS.clear << ["lastname", "firstname", "secondname", "country", "state", "city", "zipcode", "address1", "phone"]
|
29
|
+
ADDRESS_FIELDS.flatten!
|
30
|
+
|
31
|
+
String.class_eval do
|
32
|
+
def to_url
|
33
|
+
self.parameterize
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
# зарегистрировать калькулятор для доставки наложенным платежём
|
38
|
+
Calculator::CashOnDelivery.register
|
39
|
+
|
40
|
+
# добавить событие для перехода от шага доставки к шагу завершения, минуя шаг оплаты
|
41
|
+
complete_event = StateMachine::Event.new(Order.state_machine, :complete_without_payment)
|
42
|
+
complete_event.transition(:to => 'complete')
|
43
|
+
Order.state_machine.events << complete_event
|
44
|
+
end
|
45
|
+
|
46
|
+
config.to_prepare &method(:activate).to_proc
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
class SecointHooks < Spree::ThemeSupport::HookListener
|
2
|
+
insert_after :admin_inside_head do
|
3
|
+
%(
|
4
|
+
<%= javascript_include_tag 'admin/inline_help.js', 'admin/jquery.simpletip-1.3.1.pack.js' %>
|
5
|
+
<%= stylesheet_link_tag 'admin/inline_help.css', 'admin/synergy.css' %>
|
6
|
+
)
|
7
|
+
end
|
8
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
namespace :synergy do
|
2
|
+
desc "Copies all migrations and assets (NOTE: This will be obsolete with Rails 3.1)"
|
3
|
+
task :install do
|
4
|
+
Rake::Task['synergy:install:migrations'].invoke
|
5
|
+
Rake::Task['synergy:install:assets'].invoke
|
6
|
+
Rake::Task['spree_editor:install'].invoke
|
7
|
+
Rake::Task['spree_yandex_market:install'].invoke
|
8
|
+
Rake::Task['spree_address_book:install'].invoke
|
9
|
+
exec "rails g spree_static_content:install"
|
10
|
+
end
|
11
|
+
|
12
|
+
namespace :install do
|
13
|
+
desc "Copies all migrations (NOTE: This will be obsolete with Rails 3.1)"
|
14
|
+
task :migrations do
|
15
|
+
source = File.join(File.dirname(__FILE__), '..', '..', 'db')
|
16
|
+
destination = File.join(Rails.root, 'db')
|
17
|
+
puts "INFO: Mirroring assets from #{source} to #{destination}"
|
18
|
+
Spree::FileUtilz.mirror_files(source, destination)
|
19
|
+
end
|
20
|
+
|
21
|
+
desc "Copies all assets (NOTE: This will be obsolete with Rails 3.1)"
|
22
|
+
task :assets do
|
23
|
+
source = File.join(File.dirname(__FILE__), '..', '..', 'public')
|
24
|
+
destination = File.join(Rails.root, 'public')
|
25
|
+
puts "INFO: Mirroring assets from #{source} to #{destination}"
|
26
|
+
Spree::FileUtilz.mirror_files(source, destination)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
# add custom rake tasks here
|
Binary file
|
@@ -0,0 +1,24 @@
|
|
1
|
+
fields = {
|
2
|
+
product_available_on: "Укажите, начиная с какой даты товар станет<br />доступен в публичной части магазина.",
|
3
|
+
product_permalink: "Постоянная ссылка на товар (SEO-атрибут).",
|
4
|
+
product_prototype_id: "Заранее определенный набор свойств товара.<br />Позволяет существенно сэкономить время при<br />добавлении товаров с одинаковыми наборами свойств.<br />Прототипы задаются в меню \"Товары\" – \"Прототипы\"",
|
5
|
+
product_price: "Дробная часть отделяется точкой.",
|
6
|
+
product_shipping_category_id: "Набор способов доставки, применимых к данному товару.<br />Определяется в меню \"Конфигурация\" –<br />\"Способы доставки\"/\"Категории доставки\"",
|
7
|
+
product_tax_category_id: "Набор налоговых ставок, применимых к данному товару.<br />Определяется в меню \"Конфигурация\" –<br />\"Налоговые ставки\"/\"Категории налогов\"",
|
8
|
+
option_type_name: "Для внутреннего использования в административном интерфейсе.",
|
9
|
+
option_type_presentation: "Для отображения в магазине.",
|
10
|
+
property_name: "Для внутреннего использования в административном интерфейсе.",
|
11
|
+
property_presentation: "Для отображения в магазине.",
|
12
|
+
prototype_name: "Для внутреннего использования в административном интерфейсе.<br />Старайтесь, чтобы название прототипа отражало товар, к которому<br />он будет применяться."
|
13
|
+
}
|
14
|
+
|
15
|
+
function register_help() {
|
16
|
+
jQuery.each(fields, function(element_id, help_msg) {
|
17
|
+
jQuery('label[for='+element_id+']').after(" <span class='help' id='help_"+element_id+"'><img src='/images/admin/icons/help.png' alt='help' /></span>");
|
18
|
+
jQuery('#help_'+element_id).simpletip({ position: 'right', offset: [-10, -230], content: help_msg});
|
19
|
+
});
|
20
|
+
}
|
21
|
+
|
22
|
+
$(document).ajaxSuccess(register_help);
|
23
|
+
$(document).ready(register_help);
|
24
|
+
|
@@ -0,0 +1,14 @@
|
|
1
|
+
/**
|
2
|
+
* jquery.simpletip 1.3.1. A simple tooltip plugin
|
3
|
+
*
|
4
|
+
* Copyright (c) 2009 Craig Thompson
|
5
|
+
* http://craigsworks.com
|
6
|
+
*
|
7
|
+
* Licensed under GPLv3
|
8
|
+
* http://www.opensource.org/licenses/gpl-3.0.html
|
9
|
+
*
|
10
|
+
* Launch : February 2009
|
11
|
+
* Version : 1.3.1
|
12
|
+
* Released: February 5, 2009 - 11:04am
|
13
|
+
*/
|
14
|
+
eval(function(p,a,c,k,e,r){e=function(c){return(c<62?'':e(parseInt(c/62)))+((c=c%62)>35?String.fromCharCode(c+29):c.toString(36))};if('0'.replace(0,e)==0){while(c--)r[e(c)]=k[c];k=[function(e){return r[e]||e}];e=function(){return'([3-9a-zB-Z]|1\\w)'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(6($){6 Z(f,3){4 7=n;f=b(f);4 5=b(document.createElement(\'div\')).B(3.10).B((3.p)?3.11:\'\').B((3.C)?3.12:\'\').13(3.q).appendTo(f);a(!3.14)5.t();o 5.r();a(!3.C){f.hover(6(c){7.t(c)},6(){7.r()});a(!3.p){f.mousemove(6(c){a(5.D(\'N\')!==\'u\')7.E(c)})}}o{f.click(6(c){a(c.15===f.16(0)){a(5.D(\'N\')!==\'u\')7.r();o 7.t()}});b(v).mousedown(6(c){a(5.D(\'N\')!==\'u\'){4 17=(3.O)?b(c.15).parents(\'.5\').andSelf().filter(6(){d n===5.16(0)}).length:0;a(17===0)7.r()}})};b.18(7,{getVersion:6(){d[1,2,0]},getParent:6(){d f},getTooltip:6(){d 5},getPos:6(){d 5.i()},19:6(8,9){4 e=f.i();a(s 8==\'F\')8=G(8)+e.k;a(s 9==\'F\')9=G(9)+e.l;5.D({k:8,l:9});d 7},t:6(c){3.1a.m(7);7.E((3.p)?P:c);Q(3.1b){g\'H\':5.fadeIn(3.I);h;g\'1c\':5.slideDown(3.I,7.E);h;g\'1d\':3.1e.m(5,3.I);h;w:g\'u\':5.t();h};5.B(3.R);3.1f.m(7);d 7},r:6(){3.1g.m(7);Q(3.1h){g\'H\':5.fadeOut(3.J);h;g\'1c\':5.slideUp(3.J);h;g\'1d\':3.1i.m(5,3.J);h;w:g\'u\':5.r();h};5.removeClass(3.R);3.1j.m(7);d 7},update:6(q){5.13(q);3.q=q;d 7},1k:6(1l,K){3.1m.m(7);5.1k(1l,K,6(){3.1n.m(7)});d 7},L:6(8,9){4 1o=8+5.S();4 1p=9+5.T();4 1q=b(v).width()+b(v).scrollLeft();4 1r=b(v).height()+b(v).scrollTop();d[(1o>=1q),(1p>=1r)]},E:6(c){4 x=5.S();4 y=5.T();a(!c&&3.p){a(3.j.constructor==Array){8=G(3.j[0]);9=G(3.j[1])}o a(b(3.j).attr(\'nodeType\')===1){4 i=b(3.j).i();8=i.k;9=i.l}o{4 e=f.i();4 z=f.S();4 M=f.T();Q(3.j){g\'l\':4 8=e.k-(x/2)+(z/2);4 9=e.l-y;h;g\'bottom\':4 8=e.k-(x/2)+(z/2);4 9=e.l+M;h;g\'k\':4 8=e.k-x;4 9=e.l-(y/2)+(M/2);h;g\'right\':4 8=e.k+z;4 9=e.l-(y/2)+(M/2);h;w:g\'w\':4 8=(z/2)+e.k+20;4 9=e.l;h}}}o{4 8=c.pageX;4 9=c.pageY};a(s 3.j!=\'object\'){8=8+3.i[0];9=9+3.i[1];a(3.L){4 U=7.L(8,9);a(U[0])8=8-(x/2)-(2*3.i[0]);a(U[1])9=9-(y/2)-(2*3.i[1])}}o{a(s 3.j[0]=="F")8=1s(8);a(s 3.j[1]=="F")9=1s(9)};7.19(8,9);d 7}})};b.fn.V=6(3){4 W=b(n).eq(s 3==\'number\'?3:0).K("V");a(W)d W;4 X={q:\'A simple 5\',C:1t,O:1t,14:Y,j:\'w\',i:[0,0],L:Y,p:Y,1b:\'H\',I:1u,1e:P,1h:\'H\',J:1u,1i:P,10:\'5\',R:\'active\',11:\'p\',12:\'C\',focusClass:\'O\',1a:6(){},1f:6(){},1g:6(){},1j:6(){},1m:6(){},1n:6(){}};b.18(X,3);n.each(6(){4 el=new Z(b(n),X);b(n).K("V",el)});d n}})();',[],93,'|||conf|var|tooltip|function|self|posX|posY|if|jQuery|event|return|elemPos|elem|case|break|offset|position|left|top|call|this|else|fixed|content|hide|typeof|show|none|window|default|tooltipWidth|tooltipHeight|elemWidth||addClass|persistent|css|updatePos|string|parseInt|fade|showTime|hideTime|data|boundryCheck|elemHeight|display|focus|null|switch|activeClass|outerWidth|outerHeight|overflow|simpletip|api|defaultConf|true|Simpletip|baseClass|fixedClass|persistentClass|html|hidden|target|get|check|extend|setPos|onBeforeShow|showEffect|slide|custom|showCustom|onShow|onBeforeHide|hideEffect|hideCustom|onHide|load|uri|beforeContentLoad|onContentLoad|newX|newY|windowWidth|windowHeight|String|false|150'.split('|'),0,{}))
|
@@ -0,0 +1,21 @@
|
|
1
|
+
.tooltip{
|
2
|
+
position: absolute;
|
3
|
+
padding: 10px 12px;
|
4
|
+
z-index: 2;
|
5
|
+
|
6
|
+
color: #303030;
|
7
|
+
background-color: #f5f5b5;
|
8
|
+
border: 1px solid #DECA7E;
|
9
|
+
|
10
|
+
font-family: sans-serif;
|
11
|
+
font-size: 12px;
|
12
|
+
line-height: 18px;
|
13
|
+
text-align: center;
|
14
|
+
}
|
15
|
+
|
16
|
+
.tooltip h3{
|
17
|
+
margin: 0 0 5px;
|
18
|
+
text-align: left;
|
19
|
+
}
|
20
|
+
|
21
|
+
.help { cursor: help; }
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
# This file is copied to ~/spec when you run 'ruby script/generate rspec'
|
2
|
+
# from the project root directory.
|
3
|
+
ENV["RAILS_ENV"] ||= 'test'
|
4
|
+
require File.expand_path("../test_app/config/environment", __FILE__)
|
5
|
+
require 'rspec/rails'
|
6
|
+
|
7
|
+
# Requires supporting files with custom matchers and macros, etc,
|
8
|
+
# in ./support/ and its subdirectories.
|
9
|
+
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
|
10
|
+
|
11
|
+
RSpec.configure do |config|
|
12
|
+
# == Mock Framework
|
13
|
+
#
|
14
|
+
# If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
|
15
|
+
#
|
16
|
+
# config.mock_with :mocha
|
17
|
+
# config.mock_with :flexmock
|
18
|
+
# config.mock_with :rr
|
19
|
+
config.mock_with :rspec
|
20
|
+
|
21
|
+
config.fixture_path = "#{::Rails.root}/spec/fixtures"
|
22
|
+
|
23
|
+
#config.include Devise::TestHelpers, :type => :controller
|
24
|
+
# If you're not using ActiveRecord, or you'd prefer not to run each of your
|
25
|
+
# examples within a transaction, comment the following line or assign false
|
26
|
+
# instead of true.
|
27
|
+
config.use_transactional_fixtures = true
|
28
|
+
end
|
29
|
+
|
30
|
+
@configuration ||= AppConfiguration.find_or_create_by_name("Default configuration")
|
data/synergy.gemspec
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
Gem::Specification.new do |s|
|
2
|
+
s.platform = Gem::Platform::RUBY
|
3
|
+
s.name = 'synergy'
|
4
|
+
s.version = '0.50.0.rc1'
|
5
|
+
s.summary = 'Russian e-commerce solution based on Spree'
|
6
|
+
#s.description = 'Add (optional) gem description here'
|
7
|
+
s.required_ruby_version = '>= 1.8.7'
|
8
|
+
|
9
|
+
s.author = 'Roman Smirnov'
|
10
|
+
s.email = 'roman@railsdog.com'
|
11
|
+
s.homepage = 'https://github.com/secoint/synergy'
|
12
|
+
# s.rubyforge_project = 'actionmailer'
|
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('russian', '0.2.7')
|
20
|
+
s.add_dependency('json', '1.5.1')
|
21
|
+
s.add_dependency('nokogiri', '1.4.4')
|
22
|
+
s.add_dependency('spree', '~> 0.50.2')
|
23
|
+
s.add_dependency('spree_static_content', '~> 0.40.2')
|
24
|
+
s.add_dependency('spree_editor', '~> 0.50.0')
|
25
|
+
s.add_dependency('spree_robokassa', '~> 0.50.0')
|
26
|
+
s.add_dependency('spree_yandex_market', '~> 1.2.0')
|
27
|
+
s.add_dependency('spree_online_support', '~> 0.50.0')
|
28
|
+
s.add_dependency('spree_address_book', '~> 0.50.0')
|
29
|
+
s.add_dependency('spree_dynamic_sitemaps', '~> 0.50.1')
|
30
|
+
end
|
metadata
ADDED
@@ -0,0 +1,261 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: synergy
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease: true
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 50
|
8
|
+
- 0
|
9
|
+
- rc1
|
10
|
+
version: 0.50.0.rc1
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- Roman Smirnov
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2011-05-01 00:00:00 +04:00
|
19
|
+
default_executable:
|
20
|
+
dependencies:
|
21
|
+
- !ruby/object:Gem::Dependency
|
22
|
+
name: russian
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
requirements:
|
26
|
+
- - "="
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
segments:
|
29
|
+
- 0
|
30
|
+
- 2
|
31
|
+
- 7
|
32
|
+
version: 0.2.7
|
33
|
+
type: :runtime
|
34
|
+
version_requirements: *id001
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
name: json
|
37
|
+
prerelease: false
|
38
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
39
|
+
requirements:
|
40
|
+
- - "="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
segments:
|
43
|
+
- 1
|
44
|
+
- 5
|
45
|
+
- 1
|
46
|
+
version: 1.5.1
|
47
|
+
type: :runtime
|
48
|
+
version_requirements: *id002
|
49
|
+
- !ruby/object:Gem::Dependency
|
50
|
+
name: nokogiri
|
51
|
+
prerelease: false
|
52
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
53
|
+
requirements:
|
54
|
+
- - "="
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
segments:
|
57
|
+
- 1
|
58
|
+
- 4
|
59
|
+
- 4
|
60
|
+
version: 1.4.4
|
61
|
+
type: :runtime
|
62
|
+
version_requirements: *id003
|
63
|
+
- !ruby/object:Gem::Dependency
|
64
|
+
name: spree
|
65
|
+
prerelease: false
|
66
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
67
|
+
requirements:
|
68
|
+
- - ~>
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
segments:
|
71
|
+
- 0
|
72
|
+
- 50
|
73
|
+
- 2
|
74
|
+
version: 0.50.2
|
75
|
+
type: :runtime
|
76
|
+
version_requirements: *id004
|
77
|
+
- !ruby/object:Gem::Dependency
|
78
|
+
name: spree_static_content
|
79
|
+
prerelease: false
|
80
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
81
|
+
requirements:
|
82
|
+
- - ~>
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
segments:
|
85
|
+
- 0
|
86
|
+
- 40
|
87
|
+
- 2
|
88
|
+
version: 0.40.2
|
89
|
+
type: :runtime
|
90
|
+
version_requirements: *id005
|
91
|
+
- !ruby/object:Gem::Dependency
|
92
|
+
name: spree_editor
|
93
|
+
prerelease: false
|
94
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
95
|
+
requirements:
|
96
|
+
- - ~>
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
segments:
|
99
|
+
- 0
|
100
|
+
- 50
|
101
|
+
- 0
|
102
|
+
version: 0.50.0
|
103
|
+
type: :runtime
|
104
|
+
version_requirements: *id006
|
105
|
+
- !ruby/object:Gem::Dependency
|
106
|
+
name: spree_robokassa
|
107
|
+
prerelease: false
|
108
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
109
|
+
requirements:
|
110
|
+
- - ~>
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
segments:
|
113
|
+
- 0
|
114
|
+
- 50
|
115
|
+
- 0
|
116
|
+
version: 0.50.0
|
117
|
+
type: :runtime
|
118
|
+
version_requirements: *id007
|
119
|
+
- !ruby/object:Gem::Dependency
|
120
|
+
name: spree_yandex_market
|
121
|
+
prerelease: false
|
122
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
123
|
+
requirements:
|
124
|
+
- - ~>
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
segments:
|
127
|
+
- 1
|
128
|
+
- 2
|
129
|
+
- 0
|
130
|
+
version: 1.2.0
|
131
|
+
type: :runtime
|
132
|
+
version_requirements: *id008
|
133
|
+
- !ruby/object:Gem::Dependency
|
134
|
+
name: spree_online_support
|
135
|
+
prerelease: false
|
136
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
137
|
+
requirements:
|
138
|
+
- - ~>
|
139
|
+
- !ruby/object:Gem::Version
|
140
|
+
segments:
|
141
|
+
- 0
|
142
|
+
- 50
|
143
|
+
- 0
|
144
|
+
version: 0.50.0
|
145
|
+
type: :runtime
|
146
|
+
version_requirements: *id009
|
147
|
+
- !ruby/object:Gem::Dependency
|
148
|
+
name: spree_address_book
|
149
|
+
prerelease: false
|
150
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
151
|
+
requirements:
|
152
|
+
- - ~>
|
153
|
+
- !ruby/object:Gem::Version
|
154
|
+
segments:
|
155
|
+
- 0
|
156
|
+
- 50
|
157
|
+
- 0
|
158
|
+
version: 0.50.0
|
159
|
+
type: :runtime
|
160
|
+
version_requirements: *id010
|
161
|
+
- !ruby/object:Gem::Dependency
|
162
|
+
name: spree_dynamic_sitemaps
|
163
|
+
prerelease: false
|
164
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
165
|
+
requirements:
|
166
|
+
- - ~>
|
167
|
+
- !ruby/object:Gem::Version
|
168
|
+
segments:
|
169
|
+
- 0
|
170
|
+
- 50
|
171
|
+
- 1
|
172
|
+
version: 0.50.1
|
173
|
+
type: :runtime
|
174
|
+
version_requirements: *id011
|
175
|
+
description:
|
176
|
+
email: roman@railsdog.com
|
177
|
+
executables: []
|
178
|
+
|
179
|
+
extensions: []
|
180
|
+
|
181
|
+
extra_rdoc_files: []
|
182
|
+
|
183
|
+
files:
|
184
|
+
- .gitignore
|
185
|
+
- LICENSE.txt
|
186
|
+
- README.md
|
187
|
+
- Rakefile
|
188
|
+
- app/controllers/admin/products_controller_decorator.rb
|
189
|
+
- app/controllers/checkout_controller_decorator.rb
|
190
|
+
- app/models/calculator/cash_on_delivery.rb
|
191
|
+
- app/models/taxon_decorator.rb
|
192
|
+
- app/views/admin/overview/index.html.erb
|
193
|
+
- app/views/admin/products/index.html.erb
|
194
|
+
- app/views/shared/_filters.html.erb
|
195
|
+
- config/initializers/secoint.rb
|
196
|
+
- config/locales/affiliate_ru.yml
|
197
|
+
- config/locales/devise.ru.yml
|
198
|
+
- config/locales/email_to_friend_ru.yml
|
199
|
+
- config/locales/reviews_ru.yml
|
200
|
+
- config/locales/robokassa_ru.yml
|
201
|
+
- config/locales/ru.yml
|
202
|
+
- config/locales/wishlist_ru.yml
|
203
|
+
- config/routes.rb
|
204
|
+
- db/default/countries.yml
|
205
|
+
- db/default/roles.yml
|
206
|
+
- db/default/states.yml
|
207
|
+
- db/default/zone_members.yml
|
208
|
+
- db/default/zones.yml
|
209
|
+
- db/migrate/20090311090247_make_unicode_friendly.rb
|
210
|
+
- db/migrate/20090827180351_add_secondname_to_addresses.rb
|
211
|
+
- db/sample/calculators.yml
|
212
|
+
- db/sample/preferences.yml
|
213
|
+
- db/sample/shipping_categories.yml
|
214
|
+
- db/sample/shipping_methods.yml
|
215
|
+
- lib/synergy.rb
|
216
|
+
- lib/synergy_hooks.rb
|
217
|
+
- lib/tasks/install.rake
|
218
|
+
- lib/tasks/synergy.rake
|
219
|
+
- public/images/admin/icons/help.png
|
220
|
+
- public/javascripts/admin/inline_help.js
|
221
|
+
- public/javascripts/admin/jquery.simpletip-1.3.1.pack.js
|
222
|
+
- public/stylesheets/admin/inline_help.css
|
223
|
+
- public/stylesheets/admin/synergy.css
|
224
|
+
- spec/spec_helper.rb
|
225
|
+
- synergy.gemspec
|
226
|
+
has_rdoc: true
|
227
|
+
homepage: https://github.com/secoint/synergy
|
228
|
+
licenses: []
|
229
|
+
|
230
|
+
post_install_message:
|
231
|
+
rdoc_options: []
|
232
|
+
|
233
|
+
require_paths:
|
234
|
+
- lib
|
235
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
236
|
+
requirements:
|
237
|
+
- - ">="
|
238
|
+
- !ruby/object:Gem::Version
|
239
|
+
segments:
|
240
|
+
- 1
|
241
|
+
- 8
|
242
|
+
- 7
|
243
|
+
version: 1.8.7
|
244
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
245
|
+
requirements:
|
246
|
+
- - ">"
|
247
|
+
- !ruby/object:Gem::Version
|
248
|
+
segments:
|
249
|
+
- 1
|
250
|
+
- 3
|
251
|
+
- 1
|
252
|
+
version: 1.3.1
|
253
|
+
requirements:
|
254
|
+
- none
|
255
|
+
rubyforge_project:
|
256
|
+
rubygems_version: 1.3.6
|
257
|
+
signing_key:
|
258
|
+
specification_version: 3
|
259
|
+
summary: Russian e-commerce solution based on Spree
|
260
|
+
test_files: []
|
261
|
+
|