blob: 597b0288c5d3e1413994004b82023e1598ebdfcd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# Created by Luke Kanies on 2006-11-07.
# Copyright (c) 2006. All rights reserved.
require 'puppet/util/feature'
Puppet.features.rubygems?
Puppet.features.add(:rails) do
begin
require 'active_record'
rescue LoadError => detail
if Facter["operatingsystem"].value == "Debian" and FileTest.exists?("/usr/share/rails")
count = 0
Dir.entries("/usr/share/rails").each do |dir|
libdir = File.join("/usr/share/rails", dir, "lib")
if FileTest.exists?(libdir) and ! $:.include?(libdir)
count += 1
$: << libdir
end
end
if count > 0
retry
end
end
end
if ! (defined?(::ActiveRecord) and defined?(::ActiveRecord::VERSION) and defined?(::ActiveRecord::VERSION::MAJOR) and defined?(::ActiveRecord::VERSION::MINOR))
false
elsif ! (::ActiveRecord::VERSION::MAJOR == 2 and ::ActiveRecord::VERSION::MINOR >= 1)
Puppet.info "ActiveRecord 2.1 or later required for StoreConfigs"
false
else
true
end
end
# We have JSON available
# This is stupid - Rails breaks json compatibility if we load json before
# rails, therefore we load rails and then json. Dumb, mother-dumb.
Puppet.features.add(:json, :libs => ["json"])
|