cmor_core_frontend 0.0.27.pre → 0.0.28.pre

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b1e4f4e3f4aa442e8fab43e3626c41af40cec348a936bf86dfce977742933868
4
- data.tar.gz: b7bf673dafc6b7ab82dd44eaab5257d1ce4c35063140098929bc3a3d51502008
3
+ metadata.gz: 67a5937b9b18af0dc90bc4f203b2f7b0dce6055fbaa222572ecce3b8eb11d057
4
+ data.tar.gz: 707a734e5470fb3d792777466616a20bc6ac821b5cbb8252c92472c0676bb49f
5
5
  SHA512:
6
- metadata.gz: 2e3ae62fe59ac4f9fdef0613738d7ea7eb126edccfac29a00e8b3e388a3108faff27693b1fd1c3309241f3835a84c405b8061b7aada46cb789f9c014f8e3b104
7
- data.tar.gz: 13064acd5aa035a9b65569cc937449ad0f3f291fb69c0d09a2edbabe3f8910680be32f44b1c29c14bb91d73dbfc90d9b146f2c6b87fcecca03ecb5c1843c9c47
6
+ metadata.gz: 96bb1c40699474b8036c41c51742a6e0a79ae00f8ac722cdc225dbe4d7bee6b7d5fb93681c9173400a1416b10d86121fef92860b824858b83b783a06818dfb7e
7
+ data.tar.gz: b2e0b3eea580e8ac168c7fff869aa7b1b413067c9a8686aa104a0ab5870116ceb2c8de3fdab238b55251e6ad21f25fbe4731ab54db86c6470f41d70ffb7bea60
@@ -30,6 +30,9 @@ module Cmor
30
30
 
31
31
  # Are we inside a resources controller?
32
32
  if c.controller.class.respond_to?(:resource_class)
33
+ # Add a text breadcrumb for the current engine
34
+ b.push(breadcrumb_for_current_engine)
35
+
33
36
  # Add a breadrumb for collection page
34
37
  b.push(Breadcrumb.new(label: c.controller.class.resource_class.model_name.human(count: :other), url: c.url_for(action: :index, page: nil)))
35
38
 
@@ -51,11 +54,40 @@ module Cmor
51
54
  end
52
55
  end
53
56
  end
57
+
58
+ # Are we inside a service controller?
59
+ if c.controller.class.respond_to?(:service_class)
60
+ # Add a text breadcrumb for the engine
61
+ b.push(breadcrumb_for_current_engine)
62
+
63
+ # Add a text breadcrumb for the service name
64
+ b.push(Breadcrumb.new(label: c.controller.class.service_class.model_name.human))
65
+ end
54
66
  end
55
67
  breadcrumbs.last.url = nil
56
68
  render breadcrumbs: breadcrumbs
57
69
  end
58
70
 
71
+ private
72
+
73
+ def breadcrumb_for_current_engine
74
+ return if current_engine.nil?
75
+ breadcrumb_for_engine(current_engine)
76
+ end
77
+
78
+ def breadcrumb_for_engine(engine)
79
+ Breadcrumb.new(label: I18n.t("classes.#{engine.name.underscore}"))
80
+ end
81
+
82
+ def current_engine
83
+ klass_name_parts = c.controller.class.name.split("::")
84
+ klass_name_parts.size.downto(1).each do |i|
85
+ if klass_name_parts.take(i).join("::").constantize.const_defined?("Engine")
86
+ break [klass_name_parts.take(i), ['Engine']].flatten.join("::").constantize
87
+ end
88
+ end
89
+ end
90
+
59
91
  def t(identifier, options = {})
60
92
  if identifier.start_with?('.')
61
93
  prefix = self.class.name.underscore
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cmor_core_frontend
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.27.pre
4
+ version: 0.0.28.pre
5
5
  platform: ruby
6
6
  authors:
7
7
  - Roberto Vasquez Angel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-07-22 00:00:00.000000000 Z
11
+ date: 2019-07-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 0.0.27.pre
33
+ version: 0.0.28.pre
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 0.0.27.pre
40
+ version: 0.0.28.pre
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: sqlite3
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -414,7 +414,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
414
414
  - !ruby/object:Gem::Version
415
415
  version: 1.3.1
416
416
  requirements: []
417
- rubygems_version: 3.0.3
417
+ rubygems_version: 3.0.4
418
418
  signing_key:
419
419
  specification_version: 4
420
420
  summary: Cmor::Core::Frontend.