solidus_volume_pricing 1.0.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +50 -12
  3. data/.gem_release.yml +5 -0
  4. data/.github/dependabot.yml +7 -0
  5. data/.github/stale.yml +1 -0
  6. data/.github_changelog_generator +2 -0
  7. data/.gitignore +15 -7
  8. data/.rspec +1 -2
  9. data/.rubocop.yml +2 -7
  10. data/.rubocop_todo.yml +18 -76
  11. data/CHANGELOG.md +1 -55
  12. data/Gemfile +26 -12
  13. data/{LICENSE.md → LICENSE} +2 -2
  14. data/OLD_CHANGELOG.md +86 -0
  15. data/README.md +5 -5
  16. data/Rakefile +4 -19
  17. data/app/controllers/spree/admin/volume_price_models_controller.rb +1 -1
  18. data/app/decorators/models/solidus_volume_pricing/spree/variant_decorator.rb +6 -4
  19. data/app/models/spree/volume_price.rb +41 -41
  20. data/app/models/spree/volume_price_model.rb +9 -7
  21. data/app/views/spree/admin/volume_prices/_volume_price_fields.html.erb +5 -3
  22. data/bin/console +17 -0
  23. data/bin/rails +5 -6
  24. data/bin/rails-engine +13 -0
  25. data/bin/rails-sandbox +16 -0
  26. data/bin/rake +7 -0
  27. data/bin/sandbox +78 -0
  28. data/bin/setup +8 -0
  29. data/db/migrate/20150603143015_create_spree_volume_price_models.rb +1 -0
  30. data/lib/generators/solidus_volume_pricing/install/install_generator.rb +8 -4
  31. data/lib/solidus_volume_pricing/engine.rb +13 -3
  32. data/{spec/factories/volume_price_factory.rb → lib/solidus_volume_pricing/testing_support/factories.rb} +2 -2
  33. data/lib/solidus_volume_pricing/version.rb +1 -16
  34. data/lib/solidus_volume_pricing.rb +1 -0
  35. data/solidus_volume_pricing.gemspec +38 -29
  36. data/spec/controllers/spree/admin/variants_controller_spec.rb +1 -1
  37. data/spec/features/manage_volume_price_models_feature_spec.rb +3 -7
  38. data/spec/features/manage_volume_prices_feature_spec.rb +6 -7
  39. data/spec/lib/solidus_volume_pricing/range_from_string_spec.rb +2 -2
  40. data/spec/models/solidus_volume_pricing/pricer_spec.rb +0 -4
  41. data/spec/models/spree/line_item_spec.rb +0 -1
  42. data/spec/models/spree/volume_price_spec.rb +1 -10
  43. data/spec/spec_helper.rb +26 -5
  44. metadata +98 -30
  45. data/app/decorators/models/solidus_volume_pricing/spree/user_decorator.rb +0 -17
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '08283fd45b610c42b6d37427a84de81b106b0a2dab729a45b3e8305148019c5f'
4
- data.tar.gz: 137f128fb1d1e761b371bab30b4a3277311d4d97b201f313197ed7f1775ead8e
3
+ metadata.gz: f4860d509fe7eac365878042f66055496fcd28cf4eec93c4b9ec608c77270c51
4
+ data.tar.gz: d53e5dcc7f6c5508b1e3f195a95c6b44d99b6d3ffdf480daeea86d27341b81c3
5
5
  SHA512:
6
- metadata.gz: bf43af51a07a4fcd12129e241c9b512472725dc884ea3d487f23152e8df135dcf82bff22753116fe45df983a231667feab640db82929b260058e55857ed71af5
7
- data.tar.gz: e2f055f385c8869c4e0407da0bc3f01946c1eb210c124704a49627b34b6b1762e5f0d9d5be244509385269dc0118fcbe7a35307b26580a36b8d6d948aeb9b9dc
6
+ metadata.gz: 49a2c166baa55ca052a30926ca44f53070b7630c8ef193e3136c3d975181f8d48967202291ce4b50e0d1d18cbcda1d1bfb00d7c2abf067536cc90faeb24e5c95
7
+ data.tar.gz: a687a9d5bf1f547f9a6fcf858c2d2e84dde9858ffabd4b71d4283f2738aed3c3f93ce22988b9686a859fcb6d72c0e688c00884af201c1d965e39803759a0fd8d
data/.circleci/config.yml CHANGED
@@ -1,6 +1,9 @@
1
1
  version: 2.1
2
2
 
3
3
  orbs:
4
+ # Required for feature specs.
5
+ browser-tools: circleci/browser-tools@1.1
6
+
4
7
  # Always take the latest version of the orb, this allows us to
5
8
  # run specs against Solidus supported versions only without the need
6
9
  # to change this configuration every time a Solidus version is released
@@ -8,28 +11,63 @@ orbs:
8
11
  solidusio_extensions: solidusio/extensions@volatile
9
12
 
10
13
  jobs:
11
- run-specs-with-postgres:
12
- executor: solidusio_extensions/postgres
14
+ run-specs:
15
+ parameters:
16
+ solidus:
17
+ type: string
18
+ default: main
19
+ db:
20
+ type: string
21
+ default: "postgres"
22
+ ruby:
23
+ type: string
24
+ default: "3.2"
25
+ executor:
26
+ name: solidusio_extensions/<< parameters.db >>
27
+ ruby_version: << parameters.ruby >>
13
28
  steps:
14
- - solidusio_extensions/run-tests
15
- run-specs-with-mysql:
16
- executor: solidusio_extensions/mysql
29
+ - checkout
30
+ - browser-tools/install-chrome
31
+ - solidusio_extensions/run-tests-solidus-<< parameters.solidus >>
32
+
33
+ lint-code:
34
+ executor:
35
+ name: solidusio_extensions/sqlite
36
+ ruby_version: "3.0"
17
37
  steps:
18
- - solidusio_extensions/run-tests
38
+ - solidusio_extensions/lint-code
19
39
 
20
40
  workflows:
21
41
  "Run specs on supported Solidus versions":
22
42
  jobs:
23
- - run-specs-with-postgres
24
- - run-specs-with-mysql
25
- "Weekly run specs against master":
43
+ - run-specs:
44
+ name: &name "run-specs-solidus-<< matrix.solidus >>-ruby-<< matrix.ruby >>-db-<< matrix.db >>"
45
+ matrix:
46
+ parameters: { solidus: ["main"], ruby: ["3.2"], db: ["postgres"] }
47
+ - run-specs:
48
+ name: *name
49
+ matrix:
50
+ parameters: { solidus: ["current"], ruby: ["3.1"], db: ["mysql"] }
51
+ - run-specs:
52
+ name: *name
53
+ matrix:
54
+ parameters: { solidus: ["older"], ruby: ["3.0"], db: ["sqlite"] }
55
+ - lint-code
56
+
57
+ "Weekly run specs against main":
26
58
  triggers:
27
59
  - schedule:
28
60
  cron: "0 0 * * 4" # every Thursday
29
61
  filters:
30
62
  branches:
31
63
  only:
32
- - master
64
+ - main
33
65
  jobs:
34
- - run-specs-with-postgres
35
- - run-specs-with-mysql
66
+ - run-specs:
67
+ name: *name
68
+ matrix:
69
+ parameters: { solidus: ["main"], ruby: ["3.2"], db: ["postgres"] }
70
+ - run-specs:
71
+ name: *name
72
+ matrix:
73
+ parameters: { solidus: ["current"], ruby: ["3.1"], db: ["mysql"] }
data/.gem_release.yml ADDED
@@ -0,0 +1,5 @@
1
+ bump:
2
+ recurse: false
3
+ file: 'lib/solidus_volume_pricing/version.rb'
4
+ message: Bump SolidusVolumePricing to %{version}
5
+ tag: true
@@ -0,0 +1,7 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: bundler
4
+ directory: "/"
5
+ schedule:
6
+ interval: daily
7
+ open-pull-requests-limit: 10
data/.github/stale.yml ADDED
@@ -0,0 +1 @@
1
+ _extends: .github
@@ -0,0 +1,2 @@
1
+ issues=false
2
+ exclude-labels=infrastructure
data/.gitignore CHANGED
@@ -1,14 +1,22 @@
1
1
  *.gem
2
- *.swp
3
- .bundle
4
- .idea
2
+ \#*
3
+ *~
4
+ .#*
5
5
  .DS_Store
6
+ .idea
7
+ .project
8
+ .sass-cache
9
+ coverage
6
10
  Gemfile.lock
7
- pkg/*
11
+ Gemfile-local
12
+ tmp
13
+ nbproject
14
+ pkg
15
+ *.swp
8
16
  spec/dummy
9
- coverage
17
+ spec/examples.txt
18
+ /sandbox
10
19
  .rvmrc
11
20
  .ruby-version
12
21
  .ruby-gemset
13
- tmp
14
- spec/examples.txt
22
+ .byebug*
data/.rspec CHANGED
@@ -1,3 +1,2 @@
1
1
  --color
2
- -f documentation
3
- -r spec_helper
2
+ --require spec_helper
data/.rubocop.yml CHANGED
@@ -1,12 +1,7 @@
1
1
  inherit_from: .rubocop_todo.yml
2
2
 
3
3
  require:
4
- - solidus_extension_dev_tools/rubocop
5
-
6
- inherit_gem:
7
- solidus_extension_dev_tools: .rubocop.extension.yml
4
+ - solidus_dev_support/rubocop
8
5
 
9
6
  AllCops:
10
- Exclude:
11
- - spec/dummy/**/*
12
- - vendor/**/*
7
+ NewCops: disable
data/.rubocop_todo.yml CHANGED
@@ -1,49 +1,24 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2019-11-23 17:04:33 +0100 using RuboCop version 0.76.0.
3
+ # on 2023-05-12 15:47:30 UTC using RuboCop version 1.50.2.
4
4
  # The point is for the user to remove these configuration records
5
5
  # one by one as the offenses are removed from the code base.
6
6
  # Note that changes in the inspected code, or installation of new
7
7
  # versions of RuboCop, may require this file to be generated again.
8
8
 
9
- # Offense count: 1
10
- # Configuration parameters: Include.
11
- # Include: **/*.gemspec,
12
- Gemspec/RequiredRubyVersion:
13
- Exclude:
14
- - 'solidus_volume_pricing.gemspec'
15
-
16
- # Offense count: 2
17
- Lint/InterpolationCheck:
18
- Exclude:
19
- - 'spec/lib/solidus_volume_pricing/range_from_string_spec.rb'
20
-
21
- # Offense count: 21
22
- # Cop supports --auto-correct.
23
- # Configuration parameters: AutoCorrect, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
24
- # URISchemes: http, https
25
- Metrics/LineLength:
26
- Max: 160
27
-
28
- # Offense count: 43
29
- # Configuration parameters: Prefixes.
9
+ # Offense count: 42
10
+ # Configuration parameters: Prefixes, AllowedPatterns.
30
11
  # Prefixes: when, with, without
31
12
  RSpec/ContextWording:
32
13
  Exclude:
33
- - 'spec/controllers/spree/admin/variants_controller_spec.rb'
34
14
  - 'spec/helpers/base_helper_spec.rb'
35
15
  - 'spec/models/solidus_volume_pricing/pricer_spec.rb'
36
16
  - 'spec/models/spree/order_spec.rb'
37
17
  - 'spec/models/spree/volume_price_spec.rb'
38
18
 
39
- # Offense count: 2
40
- RSpec/DescribeClass:
41
- Exclude:
42
- - 'spec/features/manage_volume_price_models_feature_spec.rb'
43
- - 'spec/features/manage_volume_prices_feature_spec.rb'
44
-
45
19
  # Offense count: 1
46
- # Configuration parameters: CustomTransform, IgnoreMethods.
20
+ # Configuration parameters: Include, CustomTransform, IgnoreMethods, SpecSuffixOnly.
21
+ # Include: **/*_spec*rb*, **/spec/**/*
47
22
  RSpec/FilePath:
48
23
  Exclude:
49
24
  - 'spec/helpers/base_helper_spec.rb'
@@ -56,12 +31,17 @@ RSpec/InstanceVariable:
56
31
  - 'spec/models/spree/order_spec.rb'
57
32
 
58
33
  # Offense count: 5
59
- # Configuration parameters: AggregateFailuresByDefault.
60
34
  RSpec/MultipleExpectations:
61
35
  Max: 3
62
36
 
63
- # Offense count: 58
64
- # Configuration parameters: IgnoreSharedExamples.
37
+ # Offense count: 82
38
+ # Configuration parameters: AllowSubject.
39
+ RSpec/MultipleMemoizedHelpers:
40
+ Max: 8
41
+
42
+ # Offense count: 57
43
+ # Configuration parameters: EnforcedStyle, IgnoreSharedExamples.
44
+ # SupportedStyles: always, named_only
65
45
  RSpec/NamedSubject:
66
46
  Exclude:
67
47
  - 'spec/lib/solidus_volume_pricing/range_from_string_spec.rb'
@@ -70,57 +50,19 @@ RSpec/NamedSubject:
70
50
  - 'spec/models/spree/volume_price_spec.rb'
71
51
 
72
52
  # Offense count: 74
53
+ # Configuration parameters: AllowedGroups.
73
54
  RSpec/NestedGroups:
74
55
  Max: 7
75
56
 
76
- # Offense count: 1
77
- # Configuration parameters: Include.
78
- # Include: db/migrate/*.rb
79
- Rails/CreateTableWithTimestamps:
80
- Exclude:
81
- - 'db/migrate/20150603143015_create_spree_volume_price_models.rb'
82
-
83
- # Offense count: 1
84
- # Configuration parameters: Include.
85
- # Include: app/models/**/*.rb
86
- Rails/HasManyOrHasOneDependent:
57
+ # Offense count: 2
58
+ RSpec/RepeatedExampleGroupDescription:
87
59
  Exclude:
88
- - 'app/models/spree/volume_price_model.rb'
60
+ - 'spec/lib/solidus_volume_pricing/range_from_string_spec.rb'
89
61
 
90
62
  # Offense count: 2
91
- # Configuration parameters: Include.
63
+ # Configuration parameters: IgnoreScopes, Include.
92
64
  # Include: app/models/**/*.rb
93
65
  Rails/InverseOf:
94
66
  Exclude:
95
67
  - 'app/models/spree/volume_price.rb'
96
68
  - 'app/models/spree/volume_price_model.rb'
97
-
98
- # Offense count: 1
99
- # Configuration parameters: Include.
100
- # Include: app/controllers/**/*.rb
101
- Rails/LexicallyScopedActionFilter:
102
- Exclude:
103
- - 'app/controllers/spree/admin/volume_price_models_controller.rb'
104
-
105
- # Offense count: 1
106
- # Configuration parameters: Include.
107
- # Include: app/**/*.rb, config/**/*.rb, db/**/*.rb, lib/**/*.rb
108
- Rails/Output:
109
- Exclude:
110
- - 'lib/generators/solidus_volume_pricing/install/install_generator.rb'
111
-
112
- # Offense count: 2
113
- # Configuration parameters: Blacklist, Whitelist.
114
- # Blacklist: decrement!, decrement_counter, increment!, increment_counter, toggle!, touch, update_all, update_attribute, update_column, update_columns, update_counters
115
- Rails/SkipsModelValidations:
116
- Exclude:
117
- - 'spec/models/spree/volume_price_spec.rb'
118
-
119
- # Offense count: 2
120
- # Cop supports --auto-correct.
121
- # Configuration parameters: AutoCorrect, EnforcedStyle.
122
- # SupportedStyles: nested, compact
123
- Style/ClassAndModuleChildren:
124
- Exclude:
125
- - 'app/models/spree/volume_price.rb'
126
- - 'app/models/spree/volume_price_model.rb'
data/CHANGELOG.md CHANGED
@@ -1,57 +1,3 @@
1
1
  # Changelog
2
2
 
3
- ## [v1.0.0](https://github.com/solidusio-contrib/solidus_volume_pricing/tree/v1.0.0) (2019-11-23)
4
-
5
- [Full Changelog](https://github.com/solidusio-contrib/solidus_volume_pricing/compare/v0.2.1...v1.0.0)
6
-
7
- **Implemented enhancements:**
8
-
9
- - Replace `I18n.t` with `t` in views [\#22](https://github.com/solidusio-contrib/solidus_volume_pricing/issues/22)
10
-
11
- **Closed issues:**
12
-
13
- - can we create packs of product by this ? [\#13](https://github.com/solidusio-contrib/solidus_volume_pricing/issues/13)
14
- - Rails v 5.0.1 [\#8](https://github.com/solidusio-contrib/solidus_volume_pricing/issues/8)
15
-
16
- **Merged pull requests:**
17
-
18
- - Replace I18n.t with t in views [\#34](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/34) ([aldesantis](https://github.com/aldesantis))
19
- - Reformat readme [\#33](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/33) ([aldesantis](https://github.com/aldesantis))
20
- - Adopt solidus\_extension\_dev\_tools [\#32](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/32) ([aldesantis](https://github.com/aldesantis))
21
- - Switch to sassc/rails [\#30](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/30) ([pelargir](https://github.com/pelargir))
22
- - Update pg requirement from ~\> 0.21 to ~\> 1.1 [\#27](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/27) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
23
- - Update coffee-rails requirement from ~\> 4.0 to ~\> 5.0 [\#26](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/26) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
24
- - Adopt CircleCI instead of Travis [\#23](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/23) ([aldesantis](https://github.com/aldesantis))
25
- - Solidus 2.4 UI updates [\#21](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/21) ([tvdeyen](https://github.com/tvdeyen))
26
- - Test suite maintenance [\#20](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/20) ([aitbw](https://github.com/aitbw))
27
- - Remove 2.2 from CI \(EOL\) [\#19](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/19) ([jacobherrington](https://github.com/jacobherrington))
28
- - Remove versions past EOL from .travis.yml [\#17](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/17) ([jacobherrington](https://github.com/jacobherrington))
29
- - Add Solidus 2.1-2.7 to .travis.yml [\#16](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/16) ([jacobherrington](https://github.com/jacobherrington))
30
- - Remove deprecated icon option from button [\#12](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/12) ([pelargir](https://github.com/pelargir))
31
- - V2.1 [\#11](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/11) ([seand7565](https://github.com/seand7565))
32
- - Role fix [\#9](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/9) ([Senjai](https://github.com/Senjai))
33
- - 1.0 fixes [\#7](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/7) ([tvdeyen](https://github.com/tvdeyen))
34
- - Add pricers to calculate volume prices [\#4](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/4) ([tvdeyen](https://github.com/tvdeyen))
35
- - Remove String monkey patch [\#3](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/3) ([tvdeyen](https://github.com/tvdeyen))
36
-
37
- ## [v0.2.1](https://github.com/solidusio-contrib/solidus_volume_pricing/tree/v0.2.1) (2017-01-20)
38
-
39
- [Full Changelog](https://github.com/solidusio-contrib/solidus_volume_pricing/compare/v0.1.1...v0.2.1)
40
-
41
- **Merged pull requests:**
42
-
43
- - 0.2 fixes [\#6](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/6) ([tvdeyen](https://github.com/tvdeyen))
44
- - Solidus 1.3 [\#2](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/2) ([tvdeyen](https://github.com/tvdeyen))
45
-
46
- ## [v0.1.1](https://github.com/solidusio-contrib/solidus_volume_pricing/tree/v0.1.1) (2017-01-20)
47
-
48
- [Full Changelog](https://github.com/solidusio-contrib/solidus_volume_pricing/compare/9bcf78426749d2d73878c6c7c8eb3bf0e5747ada...v0.1.1)
49
-
50
- **Merged pull requests:**
51
-
52
- - 0.1 fixes [\#5](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/5) ([tvdeyen](https://github.com/tvdeyen))
53
- - Rename to solidus [\#1](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/1) ([tvdeyen](https://github.com/tvdeyen))
54
-
55
-
56
-
57
- \* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
3
+ See https://github.com/solidusio/solidus_volume_pricing/releases or [OLD_CHANGELOG.md](OLD_CHANGELOG.md) for older versions.
data/Gemfile CHANGED
@@ -1,27 +1,41 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  source 'https://rubygems.org'
4
+ git_source(:github) { |repo| "https://github.com/#{repo}.git" }
4
5
 
5
- branch = ENV.fetch('SOLIDUS_BRANCH', 'master')
6
- gem 'solidus', git: 'https://github.com/solidusio/solidus.git', branch: branch
6
+ branch = ENV.fetch('SOLIDUS_BRANCH', 'main')
7
+ gem 'solidus', github: 'solidusio/solidus', branch: branch
8
+
9
+ # The solidus_frontend gem has been pulled out since v3.2
10
+ gem 'solidus_frontend'
7
11
 
8
12
  # Needed to help Bundler figure out how to resolve dependencies,
9
- # otherwise it takes forever to resolve them
10
- if branch == 'master' || Gem::Version.new(branch[1..-1]) >= Gem::Version.new('2.10.0')
11
- gem 'rails', '~> 6.0'
12
- else
13
- gem 'rails', '~> 5.2'
14
- end
13
+ # otherwise it takes forever to resolve them.
14
+ # See https://github.com/bundler/bundler/issues/6677
15
+ gem 'rails', '>0.a'
15
16
 
16
- case ENV['DB']
17
- when 'postgresql'
18
- gem 'pg'
17
+ # Provides basic authentication functionality for testing parts of your engine
18
+ gem 'solidus_auth_devise'
19
+
20
+ case ENV.fetch('DB', nil)
19
21
  when 'mysql'
20
22
  gem 'mysql2'
23
+ when 'postgresql'
24
+ gem 'pg'
21
25
  else
22
26
  gem 'sqlite3'
23
27
  end
24
28
 
25
- gem 'solidus_extension_dev_tools', github: 'solidusio-contrib/solidus_extension_dev_tools'
29
+ # While we still support Ruby < 3 we need to workaround a limitation in
30
+ # the 'async' gem that relies on the latest ruby, since RubyGems doesn't
31
+ # resolve gems based on the required ruby version.
32
+ gem 'async', '< 3' if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('3')
26
33
 
27
34
  gemspec
35
+
36
+ # Use a local Gemfile to include development dependencies that might not be
37
+ # relevant for the project or for other contributors, e.g. pry-byebug.
38
+ #
39
+ # We use `send` instead of calling `eval_gemfile` to work around an issue with
40
+ # how Dependabot parses projects: https://github.com/dependabot/dependabot-core/issues/1658.
41
+ send(:eval_gemfile, 'Gemfile-local') if File.exist? 'Gemfile-local'
@@ -1,4 +1,4 @@
1
- Copyright (c) 2009-2015 Spree Commerce and contributors.
1
+ Copyright (c) 2009-2015 Spree Commerce and contributors, 2019 Sean Schofield
2
2
  All rights reserved.
3
3
 
4
4
  Redistribution and use in source and binary forms, with or without modification,
@@ -9,7 +9,7 @@ are permitted provided that the following conditions are met:
9
9
  * Redistributions in binary form must reproduce the above copyright notice,
10
10
  this list of conditions and the following disclaimer in the documentation
11
11
  and/or other materials provided with the distribution.
12
- * Neither the name Spree nor the names of its contributors may be used to
12
+ * Neither the name Solidus nor the names of its contributors may be used to
13
13
  endorse or promote products derived from this software without specific
14
14
  prior written permission.
15
15
 
data/OLD_CHANGELOG.md ADDED
@@ -0,0 +1,86 @@
1
+ # Changelog
2
+
3
+ ## [v1.1.0](https://github.com/solidusio-contrib/solidus_volume_pricing/tree/v1.1.0) (2023-02-09)
4
+
5
+ [Full Changelog](https://github.com/solidusio-contrib/solidus_volume_pricing/compare/v1.0.0...v1.1.0)
6
+
7
+ **Closed issues:**
8
+
9
+ - Dependabot can't resolve your Ruby dependency files [\#57](https://github.com/solidusio-contrib/solidus_volume_pricing/issues/57)
10
+ - Prepare Solidus Volume Pricing for Solidus 3.0 [\#53](https://github.com/solidusio-contrib/solidus_volume_pricing/issues/53)
11
+ - Dependabot can't resolve your Ruby dependency files [\#52](https://github.com/solidusio-contrib/solidus_volume_pricing/issues/52)
12
+ - Dependabot can't resolve your Ruby dependency files [\#51](https://github.com/solidusio-contrib/solidus_volume_pricing/issues/51)
13
+ - Role base volume pricing not working [\#47](https://github.com/solidusio-contrib/solidus_volume_pricing/issues/47)
14
+ - Dependabot couldn't find a Gemfile-local for this project [\#44](https://github.com/solidusio-contrib/solidus_volume_pricing/issues/44)
15
+ - Dependabot can't resolve your Ruby dependency files [\#42](https://github.com/solidusio-contrib/solidus_volume_pricing/issues/42)
16
+ - Dependabot can't resolve your Ruby dependency files [\#41](https://github.com/solidusio-contrib/solidus_volume_pricing/issues/41)
17
+ - Dependabot can't resolve your Ruby dependency files [\#40](https://github.com/solidusio-contrib/solidus_volume_pricing/issues/40)
18
+ - Dependabot can't resolve your Ruby dependency files [\#39](https://github.com/solidusio-contrib/solidus_volume_pricing/issues/39)
19
+ - Dependabot can't resolve your Ruby dependency files [\#38](https://github.com/solidusio-contrib/solidus_volume_pricing/issues/38)
20
+ - Dependabot can't resolve your Ruby dependency files [\#37](https://github.com/solidusio-contrib/solidus_volume_pricing/issues/37)
21
+ - Dependabot can't resolve your Ruby dependency files [\#36](https://github.com/solidusio-contrib/solidus_volume_pricing/issues/36)
22
+ - Dependabot can't resolve your Ruby dependency files [\#35](https://github.com/solidusio-contrib/solidus_volume_pricing/issues/35)
23
+ - Can we get a new release? [\#29](https://github.com/solidusio-contrib/solidus_volume_pricing/issues/29)
24
+
25
+ **Merged pull requests:**
26
+
27
+ - Update supported ruby version [\#66](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/66) ([mcrisologo](https://github.com/mcrisologo))
28
+ - Bump version to 1.1.0 [\#65](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/65) ([mcrisologo](https://github.com/mcrisologo))
29
+ - Update to use forked solidus\_frontend when needed [\#64](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/64) ([waiting-for-dev](https://github.com/waiting-for-dev))
30
+ - Configure autoloader to ignore decorators [\#61](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/61) ([pelargir](https://github.com/pelargir))
31
+ - Updating gemspec for Ruby 3 support [\#60](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/60) ([embold-given](https://github.com/embold-given))
32
+ - Solidus 3 preparation [\#59](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/59) ([cpfergus1](https://github.com/cpfergus1))
33
+ - Upgrade to GitHub-native Dependabot [\#58](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/58) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
34
+ - Relax solidus\_support dependency [\#50](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/50) ([kennyadsl](https://github.com/kennyadsl))
35
+ - Fix Dependabot looking for Gemfile-local [\#48](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/48) ([aldesantis](https://github.com/aldesantis))
36
+ - Fix role discounts [\#46](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/46) ([hrdchz](https://github.com/hrdchz))
37
+ - Rerun dev tools extension update command to improve the structure [\#45](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/45) ([blocknotes](https://github.com/blocknotes))
38
+ - Upgrade the extension using solidus\_dev\_support [\#43](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/43) ([blocknotes](https://github.com/blocknotes))
39
+
40
+ ## [v1.0.0](https://github.com/solidusio-contrib/solidus_volume_pricing/tree/v1.0.0) (2019-11-23)
41
+
42
+ [Full Changelog](https://github.com/solidusio-contrib/solidus_volume_pricing/compare/v0.2.1...v1.0.0)
43
+
44
+ **Implemented enhancements:**
45
+
46
+ - Replace `I18n.t` with `t` in views [\#22](https://github.com/solidusio-contrib/solidus_volume_pricing/issues/22)
47
+
48
+ **Closed issues:**
49
+
50
+ - can we create packs of product by this ? [\#13](https://github.com/solidusio-contrib/solidus_volume_pricing/issues/13)
51
+ - Rails v 5.0.1 [\#8](https://github.com/solidusio-contrib/solidus_volume_pricing/issues/8)
52
+
53
+ **Merged pull requests:**
54
+
55
+ - Replace I18n.t with t in views [\#34](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/34) ([aldesantis](https://github.com/aldesantis))
56
+ - Reformat readme [\#33](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/33) ([aldesantis](https://github.com/aldesantis))
57
+ - Adopt solidus\_extension\_dev\_tools [\#32](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/32) ([aldesantis](https://github.com/aldesantis))
58
+ - Switch to sassc/rails [\#30](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/30) ([pelargir](https://github.com/pelargir))
59
+ - Update pg requirement from ~\> 0.21 to ~\> 1.1 [\#27](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/27) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
60
+ - Update coffee-rails requirement from ~\> 4.0 to ~\> 5.0 [\#26](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/26) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
61
+ - Adopt CircleCI instead of Travis [\#23](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/23) ([aldesantis](https://github.com/aldesantis))
62
+ - Solidus 2.4 UI updates [\#21](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/21) ([tvdeyen](https://github.com/tvdeyen))
63
+ - Test suite maintenance [\#20](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/20) ([aitbw](https://github.com/aitbw))
64
+ - Remove 2.2 from CI \(EOL\) [\#19](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/19) ([jacobherrington](https://github.com/jacobherrington))
65
+ - Remove versions past EOL from .travis.yml [\#17](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/17) ([jacobherrington](https://github.com/jacobherrington))
66
+ - Add Solidus 2.1-2.7 to .travis.yml [\#16](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/16) ([jacobherrington](https://github.com/jacobherrington))
67
+ - Remove deprecated icon option from button [\#12](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/12) ([pelargir](https://github.com/pelargir))
68
+ - V2.1 [\#11](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/11) ([seand7565](https://github.com/seand7565))
69
+ - Role fix [\#9](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/9) ([Senjai](https://github.com/Senjai))
70
+ - 1.0 fixes [\#7](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/7) ([tvdeyen](https://github.com/tvdeyen))
71
+ - Add pricers to calculate volume prices [\#4](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/4) ([tvdeyen](https://github.com/tvdeyen))
72
+ - Remove String monkey patch [\#3](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/3) ([tvdeyen](https://github.com/tvdeyen))
73
+ - Solidus 1.3 [\#2](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/2) ([tvdeyen](https://github.com/tvdeyen))
74
+ - Rename to solidus [\#1](https://github.com/solidusio-contrib/solidus_volume_pricing/pull/1) ([tvdeyen](https://github.com/tvdeyen))
75
+
76
+ ## [v0.2.1](https://github.com/solidusio-contrib/solidus_volume_pricing/tree/v0.2.1) (2017-01-20)
77
+
78
+ [Full Changelog](https://github.com/solidusio-contrib/solidus_volume_pricing/compare/v0.1.1...v0.2.1)
79
+
80
+ ## [v0.1.1](https://github.com/solidusio-contrib/solidus_volume_pricing/tree/v0.1.1) (2017-01-20)
81
+
82
+ [Full Changelog](https://github.com/solidusio-contrib/solidus_volume_pricing/compare/9bcf78426749d2d73878c6c7c8eb3bf0e5747ada...v0.1.1)
83
+
84
+
85
+
86
+ \* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
data/README.md CHANGED
@@ -14,14 +14,14 @@ Each VolumePrice contains the following values:
14
14
 
15
15
  1. **Variant:** Each VolumePrice is associated with a _Variant_, which is used to link products to
16
16
  particular prices.
17
- 1. **Name:** The human readable representation of the quantity range (Ex. 10-100). (Optional)
18
- 1. **Discount Type** The type of discount to apply. **Price:** sets price to the amount specified.
17
+ 2. **Name:** The human readable representation of the quantity range (Ex. 10-100). (Optional)
18
+ 3. **Discount Type** The type of discount to apply. **Price:** sets price to the amount specified.
19
19
  * **Dollar:** subtracts specified amount from the Variant price.
20
20
  * **Percent:** subtracts the specified amounts percentage from the Variant price.
21
- 1. **Range:** The quantity range for which the price is valid (See Below for Examples of Valid
21
+ 4. **Range:** The quantity range for which the price is valid (See Below for Examples of Valid
22
22
  Ranges.)
23
- 1. **Amount:** The price of the product if the line item quantity falls within the specified range.
24
- 1. **Position:** Integer value for `acts_as_list` (Helps keep the volume prices in a defined order.)
23
+ 5. **Amount:** The price of the product if the line item quantity falls within the specified range.
24
+ 6. **Position:** Integer value for `acts_as_list` (Helps keep the volume prices in a defined order.)
25
25
 
26
26
  ## Install
27
27
 
data/Rakefile CHANGED
@@ -1,23 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'bundler'
4
- Bundler::GemHelper.install_tasks
3
+ require 'bundler/gem_tasks'
5
4
 
6
- require 'rspec/core/rake_task'
7
- require 'spree/testing_support/extension_rake'
5
+ require 'solidus_dev_support/rake_tasks'
6
+ SolidusDevSupport::RakeTasks.install
8
7
 
9
- RSpec::Core::RakeTask.new
10
-
11
- task :default do
12
- if Dir["spec/dummy"].empty?
13
- Rake::Task[:test_app].invoke
14
- Dir.chdir("../../")
15
- end
16
- Rake::Task[:spec].invoke
17
- end
18
-
19
- desc 'Generates a dummy app for testing'
20
- task :test_app do
21
- ENV['LIB_NAME'] = 'solidus_volume_pricing'
22
- Rake::Task['extension:test_app'].invoke
23
- end
8
+ task default: 'extension:specs'
@@ -3,7 +3,7 @@
3
3
  module Spree
4
4
  module Admin
5
5
  class VolumePriceModelsController < ResourceController
6
- before_action :load_volume_prices, only: [:new, :edit]
6
+ before_action :load_volume_prices, only: [:new, :edit] # rubocop:disable Rails/LexicallyScopedActionFilter
7
7
 
8
8
  private
9
9
 
@@ -7,11 +7,13 @@ module SolidusVolumePricing
7
7
  base.class_eval do
8
8
  has_and_belongs_to_many :volume_price_models
9
9
  has_many :volume_prices, -> { order(position: :asc) }, dependent: :destroy
10
- has_many :model_volume_prices, -> { order(position: :asc) }, class_name: '::Spree::VolumePrice', through: :volume_price_models, source: :volume_prices
10
+ has_many :model_volume_prices, -> {
11
+ order(position: :asc)
12
+ }, class_name: '::Spree::VolumePrice', through: :volume_price_models, source: :volume_prices
11
13
  accepts_nested_attributes_for :volume_prices, allow_destroy: true,
12
- reject_if: proc { |volume_price|
13
- volume_price[:amount].blank? && volume_price[:range].blank?
14
- }
14
+ reject_if: proc { |volume_price|
15
+ volume_price[:amount].blank? && volume_price[:range].blank?
16
+ }
15
17
  end
16
18
  end
17
19