solidus_core 2.3.0.rc2 → 2.3.0.rc3

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of solidus_core might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f5456072d5e99ceb7ebdcad4524f2bd7cf624a93
4
- data.tar.gz: 4911261c10bb3cac314e99e82b1ad1aea6e72a94
3
+ metadata.gz: 89a3d4e527ba0ea59d1bdbc6b21f31cf44f28916
4
+ data.tar.gz: 44c4c11e6a69ea476145bb06910a50f1d9f3120a
5
5
  SHA512:
6
- metadata.gz: ac01310b3a3f221526fa462d49f9925392e9fe1f2f569dbcbd4f2072a5913e3524ab1e2e04fb97cc94a8c4b643cd238e08167a00a4b6fa8e2277edbad5def43f
7
- data.tar.gz: 7f19f829ec2a112eadc190ffe5727bfb16be9b73d5a22e208125fca6a2e5f424824e7653d6f62ffa963209917ca06f8c32cd2ba7bd83c324c62204ec2102ffc5
6
+ metadata.gz: 696c8894f807ec9d18cb4d979fa7094d001723c66f7f12c27635593902946c18190856b8fa0364a3c27df10dab776e0a0ac94196bc69ad4459032a3ee82c7c4c
7
+ data.tar.gz: 25de5c265c0bb56591b701d4dbf60f26ef22eb23d9d1f4bccf221f7a97dea0c7bfcb3cbc58dc98ac21e9dfa862676414d6af83f23dd10251576031129cfd9d74
@@ -37,6 +37,21 @@ module Spree
37
37
 
38
38
  include Spree::Preferences::StaticallyConfigurable
39
39
 
40
+ # Custom ModelName#human implementation to ensure we don't refer to
41
+ # subclasses as just "PaymentMethod"
42
+ class ModelName < ActiveModel::Name
43
+ # Similar to ActiveModel::Name#human, but skips lookup_ancestors
44
+ def human(options = {})
45
+ defaults = [
46
+ i18n_key,
47
+ options[:default],
48
+ @human
49
+ ].compact
50
+ options = { scope: [:activerecord, :models], count: 1, default: defaults }.merge!(options.except(:default))
51
+ I18n.translate(defaults.shift, options)
52
+ end
53
+ end
54
+
40
55
  class << self
41
56
  def providers
42
57
  Spree::Deprecation.warn 'Spree::PaymentMethod.providers is deprecated and will be deleted in Solidus 3.0. ' \
@@ -66,6 +81,10 @@ module Spree
66
81
  end
67
82
  end
68
83
 
84
+ def model_name
85
+ ModelName.new(self, Spree)
86
+ end
87
+
69
88
  def active?
70
89
  where(type: to_s, active: true).count > 0
71
90
  end
@@ -1,6 +1,6 @@
1
1
  module Spree
2
2
  def self.solidus_version
3
- "2.3.0.rc2"
3
+ "2.3.0.rc3"
4
4
  end
5
5
 
6
6
  def self.solidus_gem_version
@@ -354,4 +354,20 @@ describe Spree::PaymentMethod, type: :model do
354
354
  expect(payment_method.credit).to eq 'credit'
355
355
  end
356
356
  end
357
+
358
+ describe 'model_name.human' do
359
+ context 'PaymentMethod itself' do
360
+ it "returns i18n value" do
361
+ expect(Spree::PaymentMethod.model_name.human).to eq('Payment Method')
362
+ end
363
+ end
364
+
365
+ context 'A subclass with no i18n key' do
366
+ let!(:klass) { stub_const("MyGem::SomeClass", Class.new(described_class)) }
367
+
368
+ it "returns default humanized value" do
369
+ expect(klass.model_name.human).to eq('Some class')
370
+ end
371
+ end
372
+ end
357
373
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solidus_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.0.rc2
4
+ version: 2.3.0.rc3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Solidus Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-07-20 00:00:00.000000000 Z
11
+ date: 2017-07-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemerchant