coaster 1.3.24 → 1.3.25

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 93d6eff77edc91b0d5989d307825945689cfc919db3bd239b4f78f1618613efe
4
- data.tar.gz: 427785528213c55a795202ccc1ce8f0022df964049d5c6ac19a7e3ada026addc
3
+ metadata.gz: 937a250b10e75a66027e94673abfb0c5c4526597d18b8bf4af679c5cd2582e3d
4
+ data.tar.gz: e774a2bc8281fe395a26887ff77b425256df396681e80994607791227701cc79
5
5
  SHA512:
6
- metadata.gz: 8c679ef541736287ab90c0ae9cba765c3df13ee4713371bc124b36bd35e9bf48b4ed98e08dae42a1850be4f0c7d6f42e805e7062ccc0b927707ad7ff2d0910e6
7
- data.tar.gz: cd12e7dadf13ffb039c75674d82868cc9a61f086fb1f55a1bdd73a02002895eb68107359a557d7d18d343a8f768a2cd8773956f2e00c5e811a2853695cc6a605
6
+ metadata.gz: 9a1484f822734c3018002842a45604669f461eb37d287f7fb63d51c2f0cf169f6d4fcd63b64e4fa6335c0cfcea95dd14255e56f556f0179f5fcecc7db845999d
7
+ data.tar.gz: 2ad1d5bdc02cf154c4e9215d11287885fa1897b9a0b76533d95f528065ce7870101babdb65622c39541e26ee417a4c0d28f7a1a401b0d908c9459fa0f3acc857
@@ -45,6 +45,11 @@ class Object
45
45
 
46
46
  if key_class.superclass == Object || key_class == Object
47
47
  return options[:description] if options[:description].present?
48
+ case options[:fallback]
49
+ when Proc then return options[:fallback].call(self)
50
+ when Symbol then return self.send(options[:fallback])
51
+ when String then return options[:fallback]
52
+ end
48
53
  if Coaster.logger
49
54
  Coaster.logger.info(options[:original_missing])
50
55
  Coaster.logger.debug(caller.join("\n"))
@@ -1,3 +1,3 @@
1
1
  module Coaster
2
- VERSION = '1.3.24'
2
+ VERSION = '1.3.25'
3
3
  end
@@ -27,6 +27,12 @@ module Coaster
27
27
  assert_equal 'translation missing: en.class.Coaster.NotTranslated.self', NotTranslated._translate
28
28
  end
29
29
 
30
+ def test_fallback
31
+ assert_equal 'Coaster::NotTranslated', NotTranslated._translate(fallback: :name)
32
+ assert_equal 'aabbcc', NotTranslated._translate(fallback: 'aabbcc')
33
+ assert_equal 'Coaster::NotTranslated..aabb', NotTranslated._translate(fallback: proc{|klass| "#{klass.name}..aabb"})
34
+ end
35
+
30
36
  def test_raise_translation_missing
31
37
  exception = catch(:exception) do
32
38
  NotTranslated._translate(throw: true)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: coaster
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.24
4
+ version: 1.3.25
5
5
  platform: ruby
6
6
  authors:
7
7
  - buzz jung
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-12-27 00:00:00.000000000 Z
11
+ date: 2023-01-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: i18n