foreman_column_view 0.3.0 → 0.4.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.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b9b33311126673ce073f9d8dc8da89c55f08f8a7
|
4
|
+
data.tar.gz: 235bf44a424fd53d85d678975dec4ae6fc42a390
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3f047f1ecdcf6cbb52c6c0cc09fa8d851a82391fcef2b557d764a1d2498f0e6e54936edf8037cfab9dfc7c376c18446adb7b4b4720e938adaa2b40eeeb6102ac
|
7
|
+
data.tar.gz: 4022b58d4f20a5db80e7c1af0b9cd1e6b3e7a39e0836e9cce535d6be9a5d926460aec82ed2d5d96cd878ec88cf21f0b70f5527b45621e135c0182387e8f49bf1
|
data/README.md
CHANGED
@@ -4,6 +4,14 @@ A small plugin to showcase the awesome [Deface](https://github.com/spree/deface)
|
|
4
4
|
library. It simply adds a column to the Hosts list or properties table. It also
|
5
5
|
serves as a simple example of including a new Helper in the plugin.
|
6
6
|
|
7
|
+
## Compatibility
|
8
|
+
|
9
|
+
| Foreman Version | Plugin Version |
|
10
|
+
| --------------- | --------------:|
|
11
|
+
| <= 1.15 | ~> 0.3 |
|
12
|
+
| == 1.16 | untested |
|
13
|
+
| >= 1.17 | ~> 0.4 |
|
14
|
+
|
7
15
|
# Installation
|
8
16
|
|
9
17
|
Require the gem in Foreman (you may need extra dependencies such as libxml or libxslt
|
@@ -1,41 +1,46 @@
|
|
1
1
|
module ForemanColumnView
|
2
2
|
module HostsHelperExtension
|
3
|
-
|
4
|
-
base.send :alias_method_chain, :overview_fields, :fcv
|
5
|
-
end
|
3
|
+
extend ActiveSupport::Concern
|
6
4
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
valid_views = [:hosts_properties]
|
13
|
-
SETTINGS[:column_view].reject { |k,v| !valid_views.include?(v[:view]) }.keys.sort.map do |k|
|
14
|
-
after = SETTINGS[:column_view][k.to_sym][:after]
|
15
|
-
conditional = SETTINGS[:column_view][k.to_sym][:conditional]
|
16
|
-
if conditional.present?
|
17
|
-
method = conditional[0].to_sym
|
18
|
-
args = conditional.drop(1)
|
19
|
-
end
|
5
|
+
module Overrides
|
6
|
+
# Extend core HostsHelper to add rows to Properties on hosts/show
|
7
|
+
def overview_fields(host)
|
8
|
+
fields = super
|
9
|
+
return fields unless SETTINGS[:column_view]
|
20
10
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
11
|
+
valid_views = [:hosts_properties]
|
12
|
+
SETTINGS[:column_view].reject { |k,v| !valid_views.include?(v[:view]) }.keys.sort.map do |k|
|
13
|
+
after = SETTINGS[:column_view][k.to_sym][:after]
|
14
|
+
conditional = SETTINGS[:column_view][k.to_sym][:conditional]
|
15
|
+
if conditional.present?
|
16
|
+
method = conditional[0].to_sym
|
17
|
+
args = conditional.drop(1)
|
18
|
+
end
|
19
|
+
|
20
|
+
begin
|
21
|
+
next unless (conditional.present? && host.respond_to?(method) && host.send(method, *args)) ||
|
22
|
+
(conditional.nil?)
|
23
|
+
rescue ArgumentError
|
24
|
+
Rails.logger.warn("Foreman_column_view: Your are supplying the wrong kind/number of arguments to your conditional method. Host #{host} , method - #{method} - arguments - #{args.join(', ')} ")
|
25
|
+
next
|
26
|
+
end
|
28
27
|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
28
|
+
# This won't work well with i18n, use row numbers instead
|
29
|
+
after = fields.find_index { |r| r[0].include? after } unless after.is_a? Fixnum
|
30
|
+
eval_content = SETTINGS[:column_view][k.to_sym][:eval_content]
|
31
|
+
content = eval_content ? eval(SETTINGS[:column_view][k.to_sym][:content]) :
|
32
|
+
fcv_content(host, k)
|
34
33
|
|
35
|
-
|
34
|
+
fields.insert(after || -1, [fcv_title(k), content])
|
35
|
+
end
|
36
|
+
|
37
|
+
fields
|
36
38
|
end
|
39
|
+
end
|
37
40
|
|
38
|
-
|
41
|
+
included do
|
42
|
+
prepend Overrides
|
39
43
|
end
|
44
|
+
|
40
45
|
end
|
41
46
|
end
|
@@ -1,15 +1,16 @@
|
|
1
1
|
require 'deface'
|
2
|
-
require 'foreman_column_view'
|
3
|
-
require 'deface'
|
4
2
|
|
5
3
|
module ForemanColumnView
|
6
|
-
#Inherit from the Rails module of the parent app (Foreman), not the plugin.
|
7
|
-
#Thus, inhereits from ::Rails::Engine and not from Rails::Engine
|
8
4
|
class Engine < ::Rails::Engine
|
5
|
+
engine_name 'foreman_column_view'
|
6
|
+
|
7
|
+
config.autoload_paths += Dir['#{config.root}/app/helpers']
|
8
|
+
config.autoload_paths += Dir['#{config.root}/app/overrides']
|
9
9
|
|
10
10
|
initializer 'foreman_column_view.register_plugin', :before => :finisher_hook do |app|
|
11
11
|
Foreman::Plugin.register :foreman_column_view do
|
12
|
-
|
12
|
+
requires_foreman '>= 1.17'
|
13
|
+
end
|
13
14
|
end
|
14
15
|
|
15
16
|
initializer 'foreman_column_view.helper' do |app|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: foreman_column_view
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Greg Sutcliffe
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-05-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: deface
|
@@ -46,7 +46,7 @@ files:
|
|
46
46
|
- lib/foreman_column_view/version.rb
|
47
47
|
homepage: http://github.com/GregSutcliffe/foreman_column_view
|
48
48
|
licenses:
|
49
|
-
- GPL-3
|
49
|
+
- GPL-3.0
|
50
50
|
metadata: {}
|
51
51
|
post_install_message:
|
52
52
|
rdoc_options: []
|