spree_cm_commissioner 1.10.0.pre.pre → 1.10.0

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.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test_and_build_gem.yml +0 -2
  3. data/.gitignore +1 -2
  4. data/Gemfile.lock +1 -22
  5. data/app/controllers/spree/admin/stock_managements_controller.rb +1 -17
  6. data/app/controllers/spree/api/v2/storefront/accommodations_controller.rb +31 -14
  7. data/app/interactors/spree_cm_commissioner/vattanac_bank_initiator.rb +6 -25
  8. data/app/models/concerns/spree_cm_commissioner/option_type_attr_type.rb +3 -2
  9. data/app/models/concerns/spree_cm_commissioner/order_state_machine.rb +0 -26
  10. data/app/models/concerns/spree_cm_commissioner/product_type.rb +0 -10
  11. data/app/models/spree_cm_commissioner/line_item_decorator.rb +0 -1
  12. data/app/models/spree_cm_commissioner/order_decorator.rb +0 -15
  13. data/app/models/spree_cm_commissioner/product_decorator.rb +0 -1
  14. data/app/models/spree_cm_commissioner/stock/availability_checker.rb +25 -27
  15. data/app/models/spree_cm_commissioner/stock/availability_validator_decorator.rb +1 -2
  16. data/app/models/spree_cm_commissioner/stock/line_item_availability_checker.rb +3 -3
  17. data/app/models/spree_cm_commissioner/trip_connection.rb +1 -0
  18. data/app/models/spree_cm_commissioner/trip_stop.rb +2 -2
  19. data/app/models/spree_cm_commissioner/variant_decorator.rb +20 -24
  20. data/app/models/spree_cm_commissioner/variant_options.rb +0 -14
  21. data/app/queries/spree_cm_commissioner/trip_query.rb +11 -11
  22. data/app/queries/spree_cm_commissioner/variant_availability/non_permanent_stock_query.rb +45 -0
  23. data/app/queries/spree_cm_commissioner/variant_availability/permanent_stock_query.rb +55 -0
  24. data/app/request_schemas/spree_cm_commissioner/accommodation_request_schema.rb +0 -3
  25. data/app/request_schemas/spree_cm_commissioner/application_request_schema.rb +1 -1
  26. data/app/serializers/spree/v2/storefront/accommodation_serializer.rb +0 -2
  27. data/app/views/spree/admin/stock_managements/index.html.erb +5 -31
  28. data/config/routes.rb +2 -11
  29. data/docker-compose.yml +1 -1
  30. data/lib/generators/spree_cm_commissioner/install/install_generator.rb +2 -2
  31. data/lib/generators/spree_cm_commissioner/install/templates/app/javascript/{spree_dashboard/spree_cm_commissioner → spree_cm_commissioner}/utilities.js +0 -4
  32. data/lib/spree_cm_commissioner/calendar_event.rb +1 -11
  33. data/lib/spree_cm_commissioner/test_helper/factories/variant_factory.rb +6 -28
  34. data/lib/spree_cm_commissioner/version.rb +1 -1
  35. data/lib/spree_cm_commissioner.rb +0 -34
  36. data/spree_cm_commissioner.gemspec +0 -5
  37. metadata +7 -71
  38. data/app/controllers/spree/api/v2/storefront/accommodations/variants_controller.rb +0 -42
  39. data/app/finders/spree_cm_commissioner/accommodations/find.rb +0 -40
  40. data/app/finders/spree_cm_commissioner/accommodations/find_variant.rb +0 -35
  41. data/app/interactors/spree_cm_commissioner/inventory_item_syncer.rb +0 -25
  42. data/app/interactors/spree_cm_commissioner/stock/permanent_inventory_items_generator.rb +0 -71
  43. data/app/jobs/spree_cm_commissioner/inventory_item_syncer_job.rb +0 -7
  44. data/app/jobs/spree_cm_commissioner/stock/permanent_inventory_items_generator_job.rb +0 -9
  45. data/app/models/spree_cm_commissioner/inventory.rb +0 -11
  46. data/app/models/spree_cm_commissioner/inventory_item.rb +0 -37
  47. data/app/models/spree_cm_commissioner/redis_stock/cached_inventory_items_builder.rb +0 -40
  48. data/app/models/spree_cm_commissioner/redis_stock/inventory_updater.rb +0 -114
  49. data/app/models/spree_cm_commissioner/redis_stock/line_items_cached_inventory_items_builder.rb +0 -42
  50. data/app/models/spree_cm_commissioner/redis_stock/variant_cached_inventory_items_builder.rb +0 -27
  51. data/app/models/spree_cm_commissioner/stock/order_availability_checker.rb +0 -44
  52. data/app/models/spree_cm_commissioner/stock_movement_decorator.rb +0 -34
  53. data/app/request_schemas/spree_cm_commissioner/variant_request_schema.rb +0 -19
  54. data/app/views/spree/admin/stock_managements/_events_popover.html.erb +0 -17
  55. data/app/views/spree/admin/stock_managements/calendar.html.erb +0 -32
  56. data/db/migrate/20250304293518_create_cm_inventory_items.rb +0 -21
  57. data/db/migrate/20250429094228_add_lock_version_to_cm_inventory_items.rb +0 -5
  58. data/lib/spree_cm_commissioner/cached_inventory_item.rb +0 -23
  59. data/lib/spree_cm_commissioner/test_helper/factories/inventory_item_factory.rb +0 -9
  60. data/lib/tasks/create_default_non_permanent_inventory_items.rake +0 -16
  61. data/lib/tasks/generate_inventory_items.rake +0 -7
@@ -34,11 +34,11 @@ module SpreeCmCommissioner
34
34
  trips.vehicle_id AS vehicle_id'
35
35
  )
36
36
  .joins('INNER JOIN cm_trips AS trips ON trips.variant_id = spree_variants.id')
37
- .joins('INNER JOIN cm_trip_stops AS boarding ON boarding.trip_id = trips.id AND boarding.stop_type = 0')
38
- .joins('INNER JOIN cm_trip_stops AS drop_off ON drop_off.trip_id = trips.id AND drop_off.stop_type = 1')
37
+ .joins('INNER JOIN cm_trip_stops AS boarding ON boarding.trip_id = spree_variants.id AND boarding.stop_type = 0')
38
+ .joins('INNER JOIN cm_trip_stops AS drop_off ON drop_off.trip_id = spree_variants.id AND drop_off.stop_type = 1')
39
39
  .joins('INNER JOIN spree_vendors AS vendors ON vendors.id = spree_variants.vendor_id')
40
40
  .joins('INNER JOIN spree_products AS routes ON routes.id = spree_variants.product_id')
41
- .where('trips.origin_id = ? AND trips.destination_id = ?', origin_id, destination_id)
41
+ .where('boarding.stop_id = ? AND drop_off.stop_id = ?', origin_id, destination_id)
42
42
 
43
43
  result.map do |trip|
44
44
  trip_result_options = {
@@ -69,9 +69,9 @@ module SpreeCmCommissioner
69
69
  INNER JOIN spree_products AS routes2 ON routes2.id = variant2.product_id
70
70
  INNER JOIN cm_trips AS trip1 ON trip1.variant_id = cm_trip_connections.from_trip_id
71
71
  INNER JOIN cm_trips AS trip2 ON trip2.variant_id = cm_trip_connections.to_trip_id
72
- INNER JOIN cm_places trip1_origin ON trip1_origin.id = trip1.origin_id
73
- INNER JOIN cm_places trip2_origin ON trip2_origin.id = trip2.origin_id
74
- INNER JOIN cm_places trip2_destination ON trip2_destination.id = trip2.destination_id
72
+ INNER JOIN cm_trip_stops trip1_origin ON trip1_origin.trip_id = variant1.id AND trip1_origin.stop_type = 0
73
+ INNER JOIN cm_trip_stops trip2_origin ON trip2_origin.trip_id = variant2.id AND trip2_origin.stop_type = 0
74
+ INNER JOIN cm_trip_stops trip2_destination ON trip2_destination.trip_id = variant2.id AND trip2_destination.stop_type = 1
75
75
  INNER JOIN spree_vendors AS vendor1 ON vendor1.id = variant1.vendor_id
76
76
  INNER JOIN spree_vendors AS vendor2 ON vendor2.id = variant2.vendor_id'
77
77
  )
@@ -93,12 +93,12 @@ module SpreeCmCommissioner
93
93
  trip2.vehicle_id AS trip2_vehicle,
94
94
  routes2.short_name AS route2_short_name,
95
95
  routes2.name AS route2_name,
96
- trip1_origin.name AS trip1_origin,
97
- trip2_origin.name AS trip2_origin,
98
- trip2_destination.name AS trip2_destination,
96
+ trip1_origin.stop_name AS trip1_origin,
97
+ trip2_origin.stop_name AS trip2_origin,
98
+ trip2_destination.stop_name AS trip2_destination,
99
99
  vendor2.name AS trip2_vendor_name'
100
- )
101
- .where('trip1_origin.id = ? AND trip2_destination.id = ?', origin_id, destination_id)
100
+ ).where('trip1_origin.stop_id = ? AND trip2_destination.stop_id = ?', origin_id, destination_id
101
+ ).uniq
102
102
 
103
103
  return [] if result.blank?
104
104
 
@@ -0,0 +1,45 @@
1
+ module SpreeCmCommissioner
2
+ module VariantAvailability
3
+ class NonPermanentStockQuery
4
+ attr_reader :variant, :except_line_item_id, :error_message
5
+
6
+ def initialize(variant:, except_line_item_id: nil)
7
+ @variant = variant
8
+ @except_line_item_id = except_line_item_id
9
+ @error_message = nil
10
+ end
11
+
12
+ def available?(quantity)
13
+ reserve_variants =
14
+ Spree::LineItem
15
+ .complete
16
+ .select('(SUM(DISTINCT spree_stock_items.count_on_hand) - SUM(spree_line_items.quantity)) AS available_quantity')
17
+ .joins(variant: :stock_items)
18
+ .where(variant_id: variant.id)
19
+ .where.not(id: except_line_item_id)
20
+ .group(:variant_id)
21
+
22
+ # there is a case when variant does not have any purchaces yet, it will return empty & always available true.
23
+ # in this case, we check with stock items directly.
24
+
25
+ available_quantity = if reserve_variants.any?
26
+ reserve_variants.sum(&:available_quantity)
27
+ else
28
+ variant.stock_items.sum(:count_on_hand)
29
+ end
30
+ if available_quantity >= quantity
31
+ true
32
+ elsif available_quantity == 1
33
+ @error_message = I18n.t('variant_availability.item_available_instock')
34
+ false
35
+ elsif available_quantity <= 0
36
+ @error_message = I18n.t('variant_availability.items_out_of_stock')
37
+ false
38
+ else
39
+ @error_message = I18n.t('variant_availability.items_available_instock', available_quantity: available_quantity)
40
+ false
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,55 @@
1
+ module SpreeCmCommissioner
2
+ module VariantAvailability
3
+ class PermanentStockQuery
4
+ attr_reader :variant, :from_date, :to_date, :except_line_item_id
5
+
6
+ def initialize(variant:, from_date:, to_date:, except_line_item_id: nil)
7
+ @variant = variant
8
+ @from_date = from_date
9
+ @to_date = to_date
10
+ @except_line_item_id = except_line_item_id
11
+ end
12
+
13
+ def available?(quantity)
14
+ (from_date..from_date).all? do |booking_date|
15
+ booked_date_quantity[booking_date].nil? ||
16
+ (booked_date_quantity[booking_date] - quantity) >= 0
17
+ end
18
+ end
19
+
20
+ def booked_date_quantity
21
+ dates_sql = ApplicationRecord.sanitize_sql_array(
22
+ [
23
+ 'SELECT date FROM generate_series(?::date, ?::date, ?) AS date',
24
+ from_date,
25
+ to_date,
26
+ date_interval
27
+ ]
28
+ )
29
+
30
+ @booked_variants ||=
31
+ Spree::LineItem
32
+ .complete
33
+ .select(
34
+ '(SUM(DISTINCT spree_stock_items.count_on_hand) - SUM(spree_line_items.quantity)) AS available_quantity',
35
+ 'dates.date AS reservation_date'
36
+ )
37
+ .joins(variant: :stock_items)
38
+ .where(variant_id: variant.id)
39
+ .where.not(id: except_line_item_id)
40
+ .joins("INNER JOIN (#{dates_sql}) dates ON dates.date >= spree_line_items.from_date AND dates.date < spree_line_items.to_date")
41
+ .group(:variant_id, :reservation_date)
42
+ .order(:reservation_date)
43
+ .each_with_object({}) do |record, hash|
44
+ hash[record.reservation_date.to_date] = record.available_quantity
45
+ end
46
+ end
47
+
48
+ # override this for product that have
49
+ # different date time interval than 1 day.
50
+ def date_interval
51
+ '1 day'
52
+ end
53
+ end
54
+ end
55
+ end
@@ -3,9 +3,6 @@ module SpreeCmCommissioner
3
3
  params do
4
4
  required(:from_date).value(:date)
5
5
  required(:to_date).value(:date)
6
- required(:state_id).value(:integer)
7
- required(:number_of_adults).value(:integer)
8
- required(:number_of_kids).value(:integer)
9
6
  end
10
7
 
11
8
  rule(:from_date, :to_date) do
@@ -11,7 +11,7 @@ module SpreeCmCommissioner
11
11
  end
12
12
 
13
13
  def error_message
14
- errors.map { |error| "#{error.path.join(', ')}: #{error.text}" }.to_sentence
14
+ errors.map(&:text).join(', ')
15
15
  end
16
16
 
17
17
  private
@@ -9,12 +9,10 @@ module Spree
9
9
 
10
10
  attributes :total_inventory, :service_availabilities
11
11
 
12
- # Deprecated
13
12
  attribute :total_booking do |vendor|
14
13
  vendor.respond_to?(:total_booking) ? vendor.total_booking : 0
15
14
  end
16
15
 
17
- # Deprecated
18
16
  attribute :remaining do |vendor|
19
17
  vendor.respond_to?(:remaining) ? vendor.remaining : vendor.total_inventory
20
18
  end
@@ -19,7 +19,10 @@
19
19
  <% @variants.each do |variant| %>
20
20
  <tr id="<%= spree_dom_id variant %>" data-hook="admin_product_stock_management_index_rows">
21
21
  <td class="image text-center">
22
- <%= small_image(variant) %>
22
+ <%= small_image(variant) %>
23
+ <div class="mt-4">
24
+ Reserved Stock: <%= @reserved_stocks[variant.id] || 0 %></strong>
25
+ </div>
23
26
  </td>
24
27
  <td>
25
28
  <%= variant.sku_and_options_text %>
@@ -32,37 +35,14 @@
32
35
  <% end %>
33
36
  </div>
34
37
  <% end if can?(:update, @product) && can?(:update, variant) %>
35
-
36
- <% if defined?(@reserved_stocks) %>
37
- <div>
38
- <span type="button" data-toggle="popover" data-trigger="hover" data-placement="right" data-content="This product stock will renew every day">
39
- <%= svg_icon name: "cart-check.svg", width: '14', height: '14' %>
40
- </span>
41
- <%= label_tag "reserved_stock#{variant.id}", "Reserved Stock: #{@reserved_stocks[variant.id] || 0}", class: "m-0" %>
42
- </div>
43
- <% end %>
44
-
45
38
  <% if variant.permanent_stock? %>
46
39
  <div>
47
40
  <span type="button" data-toggle="popover" data-trigger="hover" data-placement="right" data-content="This product stock will renew every day">
48
41
  <%= svg_icon name: "info-circle-fill.svg", width: '14', height: '14' %>
49
42
  </span>
50
- <%= label_tag "permanent_stock_#{ variant.id }", Spree.t(:permanent_stock), class: "m-0" %>
43
+ <%= label_tag "permanent_stock_#{ variant.id }", Spree.t(:permanent_stock) %>
51
44
  </div>
52
45
  <% end %>
53
-
54
- <% if defined?(@inventory_items) %>
55
- <% @inventory_items[variant.id]&.each do |inventory_item| %>
56
- <div>
57
- <%= svg_icon name: "handbag.svg", width: '14', height: '14' %>
58
- <%= label_tag "max_capacity_#{ inventory_item.id }", "Max capacity: #{inventory_item.max_capacity}", class: "m-0" %>
59
- </div>
60
- <div>
61
- <%= svg_icon name: "approve.svg", width: '14', height: '14' %>
62
- <%= label_tag "quantity_available_#{ inventory_item.id }", "Quantity available: #{inventory_item.quantity_available}", class: "m-0" %>
63
- </div>
64
- <% end %>
65
- <% end %>
66
46
  </td>
67
47
 
68
48
  <td colspan="3" class="stock_location_info">
@@ -73,9 +53,3 @@
73
53
  </tbody>
74
54
  </table>
75
55
  </div>
76
-
77
- <%= turbo_frame_tag "calendar", src: calendar_admin_product_stock_managements_path(year: params[:year]) do %>
78
- <div class="spinner-border mt-2" role="status">
79
- <span class="sr-only">Loading...</span>
80
- </div>
81
- <% end if @product.permanent_stock? %>
data/config/routes.rb CHANGED
@@ -138,11 +138,7 @@ Spree::Core::Engine.add_routes do
138
138
  end
139
139
  end
140
140
 
141
- resources :stock_managements do
142
- collection do
143
- get :calendar
144
- end
145
- end
141
+ resources :stock_managements
146
142
 
147
143
  resources :product_completion_steps do
148
144
  collection do
@@ -523,8 +519,6 @@ Spree::Core::Engine.add_routes do
523
519
  end
524
520
 
525
521
  namespace :storefront do
526
- resources :inventory_item
527
-
528
522
  resources :waiting_room_sessions, only: :create
529
523
  resources :vattanac_banks, only: %i[create]
530
524
  resource :cart, controller: :cart, only: %i[show create destroy] do
@@ -550,10 +544,7 @@ Spree::Core::Engine.add_routes do
550
544
  resource :cart_guests, only: %i[create destroy]
551
545
  resources :cart_payment_method_groups, only: %i[index]
552
546
 
553
- resources :accommodations, only: %i[index show] do
554
- resources :variants, only: %i[index show], module: :accommodations
555
- end
556
-
547
+ resources :accommodations, only: %i[index show]
557
548
  resources :line_items, only: %i[index show]
558
549
  resources :account_checker
559
550
  resource :account_recovers, only: [:update]
data/docker-compose.yml CHANGED
@@ -20,7 +20,7 @@ services:
20
20
 
21
21
  volumes:
22
22
  - .:/gem
23
- - ./vendor/bundle:/gem/vendor/bundle
23
+ - /gem/vendor/bundle
24
24
 
25
25
  # depends_on:
26
26
  # - db
@@ -40,8 +40,8 @@ module SpreeCmCommissioner
40
40
  after: %r{//= require spree/backend}, verbose: true
41
41
 
42
42
  # For NPM support
43
- template 'app/javascript/spree_dashboard/spree_cm_commissioner/utilities.js'
44
- inject_into_file 'app/javascript/spree_dashboard/spree-dashboard.js', "\nimport \"./spree_cm_commissioner/utilities.js\"",
43
+ template 'app/javascript/spree_cm_commissioner/utilities.js'
44
+ inject_into_file 'app/javascript/spree-dashboard.js', "\nimport \"./spree_cm_commissioner/utilities.js\"",
45
45
  after: %r{import "@spree/dashboard"}, verbose: true
46
46
  end
47
47
 
@@ -6,7 +6,3 @@ const $ = jquery;
6
6
  document.addEventListener("spree:load", function () {
7
7
  $('[data-toggle="popover"]').popover();
8
8
  });
9
-
10
- document.documentElement.addEventListener("turbo:frame-load", (event) => {
11
- $('[data-toggle="popover"]').popover();
12
- });
@@ -2,7 +2,7 @@ module SpreeCmCommissioner
2
2
  class CalendarEvent
3
3
  attr_reader :from_date, :to_date, :title, :options
4
4
 
5
- def initialize(from_date:, to_date:, title: nil, options: nil)
5
+ def initialize(from_date:, to_date:, title:, options:)
6
6
  @from_date = from_date
7
7
  @to_date = to_date
8
8
  @title = title
@@ -23,15 +23,5 @@ module SpreeCmCommissioner
23
23
  )
24
24
  end
25
25
  end
26
-
27
- def self.from_inventory_items(inventory_items)
28
- inventory_items.map do |item|
29
- CalendarEvent.new(
30
- from_date: item.inventory_date,
31
- to_date: item.inventory_date,
32
- options: { inventory_item: item }
33
- )
34
- end
35
- end
36
26
  end
37
27
  end
@@ -1,40 +1,19 @@
1
1
  FactoryBot.define do
2
2
  factory :cm_base_variant, parent: :base_variant do
3
- is_master { false }
4
-
5
3
  transient do
6
4
  total_inventory { 10 }
7
- backorderable { false }
8
5
  end
9
6
 
10
7
  after :create do |variant, evaluator|
11
8
  variant.stock_items.first.adjust_count_on_hand(evaluator.total_inventory)
12
- variant.stock_items.update_all(backorderable: evaluator.backorderable)
13
9
  end
14
10
  end
15
11
 
16
- factory :cm_variant, parent: :cm_base_variant do
17
- product { create(:product) }
18
-
19
- transient do
20
- number_of_adults { nil }
21
- number_of_kids { nil }
22
- end
23
-
24
- after(:create) do |variant, evaluator|
25
- if evaluator.number_of_adults.present?
26
- number_of_adults = create(:cm_option_type, :number_of_adults)
27
- variant.product.option_types << number_of_adults
28
- variant.option_values << create(:cm_option_value, presentation: evaluator.number_of_adults, name: evaluator.number_of_adults, option_type: number_of_adults)
29
- end
30
-
31
- if evaluator.number_of_kids.present?
32
- number_of_kids = create(:cm_option_type, :number_of_kids)
33
- variant.product.option_types << number_of_kids
34
- variant.option_values << create(:cm_option_value, presentation: evaluator.number_of_kids, name: evaluator.number_of_kids, option_type: number_of_kids)
35
- end
36
-
37
- variant.save!
12
+ factory :cm_variant, parent: :variant do
13
+ product do
14
+ stock_locations = [create(:stock_location)]
15
+ product = create(:product, vendor: create(:active_vendor, stock_locations: stock_locations))
16
+ product
38
17
  end
39
18
  end
40
19
 
@@ -45,13 +24,12 @@ FactoryBot.define do
45
24
  duration { "1" }
46
25
  route { }
47
26
  end
48
-
49
27
  before(:create) do |trip, evaluator|
50
28
  trip.product = evaluator.route
51
29
 
52
30
  trip.option_values = [evaluator.departure_time, evaluator.duration]
53
- end
54
31
 
32
+ end
55
33
  after(:create) do |trip, evaluator|
56
34
  trip.stock_items = [create(:stock_item, variant: trip, stock_location: evaluator.product.vendor.stock_locations.first)]
57
35
  trip.stock_items.first.adjust_count_on_hand(10)
@@ -1,5 +1,5 @@
1
1
  module SpreeCmCommissioner
2
- VERSION = '1.10.0-pre'.freeze
2
+ VERSION = '1.10.0'.freeze
3
3
 
4
4
  module_function
5
5
 
@@ -19,7 +19,6 @@ require 'spree_cm_commissioner/user_session_jwt_token'
19
19
  require 'spree_cm_commissioner/trip_result'
20
20
  require 'spree_cm_commissioner/trip_query_result'
21
21
  require 'spree_cm_commissioner/trip_seat_layout_result'
22
- require 'spree_cm_commissioner/cached_inventory_item'
23
22
 
24
23
  require 'activerecord_multi_tenant'
25
24
  require 'google/cloud/recaptcha_enterprise'
@@ -45,36 +44,3 @@ require 'cm_app_logger'
45
44
  require 'counter_culture'
46
45
 
47
46
  require 'byebug' if Rails.env.development? || Rails.env.test?
48
-
49
- module SpreeCmCommissioner
50
- class << self
51
- # Allows overriding the default Redis connection pool with a custom one
52
- attr_writer :redis_pool
53
-
54
- def redis_pool
55
- @redis_pool ||= default_redis_pool
56
- end
57
-
58
- # Resets the Redis pool, useful for testing or reinitialization
59
- def reset_redis_pool
60
- @redis_pool = nil
61
- end
62
-
63
- private
64
-
65
- def default_redis_pool
66
- pool_size = ENV.fetch('REDIS_POOL_SIZE', '5').to_i
67
- timeout = ENV.fetch('REDIS_TIMEOUT', '5').to_i
68
- redis_url = ENV.fetch('REDIS_URL', 'redis://localhost:6379/12')
69
-
70
- ConnectionPool.new(size: pool_size, timeout: timeout) do
71
- Redis.new(url: redis_url, timeout: timeout)
72
- end
73
- end
74
- end
75
-
76
- # Provides a configuration block for customizing SpreeCmCommissioner settings
77
- def self.configure
78
- yield self
79
- end
80
- end
@@ -54,11 +54,6 @@ Gem::Specification.new do |s|
54
54
  s.add_dependency "rqrcode", "~> 2.0"
55
55
  s.add_dependency "premailer-rails"
56
56
  s.add_dependency 'counter_culture', '~> 3.2'
57
- # Redis
58
- s.add_dependency 'redis'
59
- s.add_dependency 'redis-rails'
60
- s.add_dependency 'connection_pool'
61
-
62
57
  s.add_development_dependency 'pg'
63
58
  s.add_development_dependency 'spree_dev_tools'
64
59
  s.add_dependency 'blazer', '~> 3.0.4'