facter 2.1.0-x64-mingw32

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

Potentially problematic release.


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

Files changed (440) hide show
  1. checksums.yaml +7 -0
  2. data/COMMITTERS.md +194 -0
  3. data/CONTRIBUTING.md +65 -0
  4. data/Gemfile +53 -0
  5. data/LICENSE +15 -0
  6. data/README.md +33 -0
  7. data/Rakefile +79 -0
  8. data/bin/facter +20 -0
  9. data/etc/facter.conf +5 -0
  10. data/ext/build_defaults.yaml +24 -0
  11. data/ext/debian/changelog.erb +59 -0
  12. data/ext/debian/compat +1 -0
  13. data/ext/debian/control +14 -0
  14. data/ext/debian/copyright +19 -0
  15. data/ext/debian/docs +1 -0
  16. data/ext/debian/lintian-overrides +0 -0
  17. data/ext/debian/rules +10 -0
  18. data/ext/debian/source/format +1 -0
  19. data/ext/facter-diff +74 -0
  20. data/ext/ips/facter.p5m.erb +10 -0
  21. data/ext/ips/rules +7 -0
  22. data/ext/ips/transforms +18 -0
  23. data/ext/osx/file_mapping.yaml +27 -0
  24. data/ext/osx/preflight.erb +33 -0
  25. data/ext/osx/prototype.plist.erb +38 -0
  26. data/ext/project_data.yaml +36 -0
  27. data/ext/redhat/facter.spec.erb +220 -0
  28. data/ext/solaris/pkginfo +7 -0
  29. data/install.rb +380 -0
  30. data/lib/facter.rb +261 -0
  31. data/lib/facter/Cfkey.rb +42 -0
  32. data/lib/facter/application.rb +204 -0
  33. data/lib/facter/architecture.rb +50 -0
  34. data/lib/facter/augeasversion.rb +28 -0
  35. data/lib/facter/blockdevices.rb +105 -0
  36. data/lib/facter/core/aggregate.rb +220 -0
  37. data/lib/facter/core/directed_graph.rb +46 -0
  38. data/lib/facter/core/execution.rb +123 -0
  39. data/lib/facter/core/execution/base.rb +81 -0
  40. data/lib/facter/core/execution/posix.rb +50 -0
  41. data/lib/facter/core/execution/windows.rb +57 -0
  42. data/lib/facter/core/logging.rb +169 -0
  43. data/lib/facter/core/resolvable.rb +94 -0
  44. data/lib/facter/core/suitable.rb +113 -0
  45. data/lib/facter/dhcp_servers.rb +39 -0
  46. data/lib/facter/domain.rb +99 -0
  47. data/lib/facter/ec2.rb +44 -0
  48. data/lib/facter/ec2/rest.rb +130 -0
  49. data/lib/facter/facterversion.rb +15 -0
  50. data/lib/facter/filesystems.rb +38 -0
  51. data/lib/facter/fqdn.rb +24 -0
  52. data/lib/facter/gce.rb +16 -0
  53. data/lib/facter/gce/metadata.rb +87 -0
  54. data/lib/facter/hardwareisa.rb +20 -0
  55. data/lib/facter/hardwaremodel.rb +67 -0
  56. data/lib/facter/hostname.rb +31 -0
  57. data/lib/facter/id.rb +21 -0
  58. data/lib/facter/interfaces.rb +46 -0
  59. data/lib/facter/ipaddress.rb +171 -0
  60. data/lib/facter/ipaddress6.rb +82 -0
  61. data/lib/facter/iphostnumber.rb +29 -0
  62. data/lib/facter/kernel.rb +22 -0
  63. data/lib/facter/kernelmajversion.rb +23 -0
  64. data/lib/facter/kernelrelease.rb +50 -0
  65. data/lib/facter/kernelversion.rb +22 -0
  66. data/lib/facter/ldom.rb +47 -0
  67. data/lib/facter/lsbdistcodename.rb +16 -0
  68. data/lib/facter/lsbdistdescription.rb +25 -0
  69. data/lib/facter/lsbdistid.rb +16 -0
  70. data/lib/facter/lsbdistrelease.rb +16 -0
  71. data/lib/facter/lsbmajdistrelease.rb +27 -0
  72. data/lib/facter/lsbrelease.rb +16 -0
  73. data/lib/facter/macaddress.rb +97 -0
  74. data/lib/facter/macosx.rb +56 -0
  75. data/lib/facter/manufacturer.rb +68 -0
  76. data/lib/facter/memory.rb +168 -0
  77. data/lib/facter/netmask.rb +42 -0
  78. data/lib/facter/network.rb +20 -0
  79. data/lib/facter/operatingsystem.rb +141 -0
  80. data/lib/facter/operatingsystemmajrelease.rb +47 -0
  81. data/lib/facter/operatingsystemrelease.rb +250 -0
  82. data/lib/facter/osfamily.rb +37 -0
  83. data/lib/facter/partitions.rb +35 -0
  84. data/lib/facter/path.rb +14 -0
  85. data/lib/facter/physicalprocessorcount.rb +91 -0
  86. data/lib/facter/processor.rb +168 -0
  87. data/lib/facter/ps.rb +30 -0
  88. data/lib/facter/puppetversion.rb +20 -0
  89. data/lib/facter/rubysitedir.rb +12 -0
  90. data/lib/facter/rubyversion.rb +12 -0
  91. data/lib/facter/selinux.rb +99 -0
  92. data/lib/facter/ssh.rb +72 -0
  93. data/lib/facter/timezone.rb +14 -0
  94. data/lib/facter/uniqueid.rb +4 -0
  95. data/lib/facter/uptime.rb +34 -0
  96. data/lib/facter/uptime_days.rb +15 -0
  97. data/lib/facter/uptime_hours.rb +15 -0
  98. data/lib/facter/uptime_seconds.rb +24 -0
  99. data/lib/facter/util/architecture.rb +19 -0
  100. data/lib/facter/util/collection.rb +161 -0
  101. data/lib/facter/util/composite_loader.rb +12 -0
  102. data/lib/facter/util/config.rb +63 -0
  103. data/lib/facter/util/confine.rb +66 -0
  104. data/lib/facter/util/dhcp_servers.rb +43 -0
  105. data/lib/facter/util/directory_loader.rb +83 -0
  106. data/lib/facter/util/ec2.rb +106 -0
  107. data/lib/facter/util/fact.rb +204 -0
  108. data/lib/facter/util/file_read.rb +37 -0
  109. data/lib/facter/util/formatter.rb +39 -0
  110. data/lib/facter/util/ip.rb +285 -0
  111. data/lib/facter/util/ip/windows.rb +215 -0
  112. data/lib/facter/util/loader.rb +155 -0
  113. data/lib/facter/util/macaddress.rb +43 -0
  114. data/lib/facter/util/macosx.rb +73 -0
  115. data/lib/facter/util/manufacturer.rb +99 -0
  116. data/lib/facter/util/memory.rb +228 -0
  117. data/lib/facter/util/netmask.rb +40 -0
  118. data/lib/facter/util/normalization.rb +94 -0
  119. data/lib/facter/util/nothing_loader.rb +12 -0
  120. data/lib/facter/util/operatingsystem.rb +21 -0
  121. data/lib/facter/util/parser.rb +158 -0
  122. data/lib/facter/util/partitions.rb +41 -0
  123. data/lib/facter/util/partitions/linux.rb +65 -0
  124. data/lib/facter/util/plist.rb +24 -0
  125. data/lib/facter/util/plist/generator.rb +228 -0
  126. data/lib/facter/util/plist/parser.rb +226 -0
  127. data/lib/facter/util/posix.rb +16 -0
  128. data/lib/facter/util/processor.rb +289 -0
  129. data/lib/facter/util/registry.rb +11 -0
  130. data/lib/facter/util/resolution.rb +160 -0
  131. data/lib/facter/util/solaris_zones.rb +158 -0
  132. data/lib/facter/util/unix_root.rb +5 -0
  133. data/lib/facter/util/uptime.rb +81 -0
  134. data/lib/facter/util/values.rb +109 -0
  135. data/lib/facter/util/virtual.rb +180 -0
  136. data/lib/facter/util/vlans.rb +21 -0
  137. data/lib/facter/util/windows_root.rb +7 -0
  138. data/lib/facter/util/wmi.rb +16 -0
  139. data/lib/facter/util/xendomains.rb +10 -0
  140. data/lib/facter/version.rb +86 -0
  141. data/lib/facter/virtual.rb +311 -0
  142. data/lib/facter/vlans.rb +17 -0
  143. data/lib/facter/xendomains.rb +20 -0
  144. data/lib/facter/zfs_version.rb +10 -0
  145. data/lib/facter/zonename.rb +6 -0
  146. data/lib/facter/zones.rb +17 -0
  147. data/lib/facter/zpool_version.rb +10 -0
  148. data/spec/fixtures/cpuinfo/amd64dual +57 -0
  149. data/spec/fixtures/cpuinfo/amd64quad +79 -0
  150. data/spec/fixtures/cpuinfo/amd64solo +23 -0
  151. data/spec/fixtures/cpuinfo/amd64tri +86 -0
  152. data/spec/fixtures/cpuinfo/amd64twentyfour +600 -0
  153. data/spec/fixtures/cpuinfo/bbg3-armel +12 -0
  154. data/spec/fixtures/cpuinfo/beaglexm-armel +12 -0
  155. data/spec/fixtures/cpuinfo/panda-armel +17 -0
  156. data/spec/fixtures/cpuinfo/ppc64 +19 -0
  157. data/spec/fixtures/cpuinfo/sparc +10 -0
  158. data/spec/fixtures/hpux/machinfo/hppa-rp4440 +26 -0
  159. data/spec/fixtures/hpux/machinfo/ia64-rx2620 +49 -0
  160. data/spec/fixtures/hpux/machinfo/ia64-rx6600 +26 -0
  161. data/spec/fixtures/hpux/machinfo/ia64-rx8640 +53 -0
  162. data/spec/fixtures/hpux/machinfo/superdome-server-SD32B +53 -0
  163. data/spec/fixtures/hpux/machinfo/superdome2-16s +31 -0
  164. data/spec/fixtures/hpux/sched.models +174 -0
  165. data/spec/fixtures/hpux/unistd.h +1534 -0
  166. data/spec/fixtures/ifconfig/bsd_ifconfig_all_with_multiple_interfaces +18 -0
  167. data/spec/fixtures/ifconfig/centos_5_5 +17 -0
  168. data/spec/fixtures/ifconfig/centos_5_5_eth0 +8 -0
  169. data/spec/fixtures/ifconfig/darwin_10_3_0 +26 -0
  170. data/spec/fixtures/ifconfig/darwin_10_3_0_en0 +6 -0
  171. data/spec/fixtures/ifconfig/darwin_10_6_4 +28 -0
  172. data/spec/fixtures/ifconfig/darwin_10_6_4_en1 +6 -0
  173. data/spec/fixtures/ifconfig/darwin_10_6_6_dualstack +8 -0
  174. data/spec/fixtures/ifconfig/darwin_10_6_6_dualstack_en1 +7 -0
  175. data/spec/fixtures/ifconfig/darwin_9_8_0 +26 -0
  176. data/spec/fixtures/ifconfig/darwin_9_8_0_en0 +6 -0
  177. data/spec/fixtures/ifconfig/darwin_ifconfig_all_with_multiple_interfaces +23 -0
  178. data/spec/fixtures/ifconfig/fedora_10 +36 -0
  179. data/spec/fixtures/ifconfig/fedora_10_eth0 +9 -0
  180. data/spec/fixtures/ifconfig/fedora_13 +18 -0
  181. data/spec/fixtures/ifconfig/fedora_13_eth0 +9 -0
  182. data/spec/fixtures/ifconfig/fedora_8 +38 -0
  183. data/spec/fixtures/ifconfig/fedora_8_eth0 +9 -0
  184. data/spec/fixtures/ifconfig/freebsd_6_0 +12 -0
  185. data/spec/fixtures/ifconfig/ifconfig_net_tools_1.60.txt +19 -0
  186. data/spec/fixtures/ifconfig/ifconfig_ubuntu_1204.txt +16 -0
  187. data/spec/fixtures/ifconfig/linux_ifconfig_all_with_multiple_interfaces +19 -0
  188. data/spec/fixtures/ifconfig/linux_ifconfig_no_addr +19 -0
  189. data/spec/fixtures/ifconfig/linux_ifconfig_no_mac +8 -0
  190. data/spec/fixtures/ifconfig/linux_ifconfig_venet +24 -0
  191. data/spec/fixtures/ifconfig/open_solaris_10 +12 -0
  192. data/spec/fixtures/ifconfig/open_solaris_b132 +20 -0
  193. data/spec/fixtures/ifconfig/openbsd_bridge_rules +11 -0
  194. data/spec/fixtures/ifconfig/sunos_ifconfig_all_with_multiple_interfaces +10 -0
  195. data/spec/fixtures/ifconfig/ubuntu_7_04 +38 -0
  196. data/spec/fixtures/ifconfig/ubuntu_7_04_eth0 +9 -0
  197. data/spec/fixtures/ldom/ldom_v1 +6 -0
  198. data/spec/fixtures/netstat/centos_5_5 +5 -0
  199. data/spec/fixtures/netstat/darwin_10_3_0 +35 -0
  200. data/spec/fixtures/netstat/darwin_10_6_4 +29 -0
  201. data/spec/fixtures/netstat/darwin_10_6_6_dualstack +34 -0
  202. data/spec/fixtures/netstat/darwin_9_8_0 +28 -0
  203. data/spec/fixtures/netstat/fedora_10 +7 -0
  204. data/spec/fixtures/netstat/open_solaris_10 +16 -0
  205. data/spec/fixtures/netstat/open_solaris_b132 +17 -0
  206. data/spec/fixtures/netstat/ubuntu_7_04 +7 -0
  207. data/spec/fixtures/processorcount/solaris-psrinfo +24 -0
  208. data/spec/fixtures/processorcount/solaris-sparc-kstat-cpu-info +1216 -0
  209. data/spec/fixtures/processorcount/solaris-x86_64-kstat-cpu-info +225 -0
  210. data/spec/fixtures/unit/dhcp_servers/nmcli_devices +4 -0
  211. data/spec/fixtures/unit/dhcp_servers/nmcli_devices_disconnected +4 -0
  212. data/spec/fixtures/unit/dhcp_servers/nmcli_eth0_dhcp +36 -0
  213. data/spec/fixtures/unit/dhcp_servers/nmcli_eth0_static +24 -0
  214. data/spec/fixtures/unit/dhcp_servers/nmcli_wlan0_dhcp +49 -0
  215. data/spec/fixtures/unit/dhcp_servers/nmcli_wlan0_static +37 -0
  216. data/spec/fixtures/unit/dhcp_servers/route +3 -0
  217. data/spec/fixtures/unit/dhcp_servers/route_nogw +1 -0
  218. data/spec/fixtures/unit/ec2/rest/meta-data/root +20 -0
  219. data/spec/fixtures/unit/filesystems/linux +28 -0
  220. data/spec/fixtures/unit/gce/metadata/metadata.json +69 -0
  221. data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60.txt +19 -0
  222. data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60.txt.em1 +10 -0
  223. data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60.txt.lo +8 -0
  224. data/spec/fixtures/unit/ipaddress/ifconfig_multiple_127_addresses.txt +20 -0
  225. data/spec/fixtures/unit/ipaddress/ifconfig_net_tools_1.60.txt +19 -0
  226. data/spec/fixtures/unit/ipaddress/ifconfig_non_english_locale.txt +18 -0
  227. data/spec/fixtures/unit/ipaddress/ifconfig_ubuntu_1204.txt +16 -0
  228. data/spec/fixtures/unit/kernelrelease/openbsd-5.3 +2 -0
  229. data/spec/fixtures/unit/kernelrelease/openbsd-5.3-current +3 -0
  230. data/spec/fixtures/unit/memory/aix-svmon +9 -0
  231. data/spec/fixtures/unit/memory/aix-swap_l +2 -0
  232. data/spec/fixtures/unit/memory/darwin-swapinfo-multiple +3 -0
  233. data/spec/fixtures/unit/memory/darwin-swapinfo-single +2 -0
  234. data/spec/fixtures/unit/memory/darwin-vm_stat +13 -0
  235. data/spec/fixtures/unit/memory/dragonfly-vmstat +3 -0
  236. data/spec/fixtures/unit/memory/freebsd-vmstat +3 -0
  237. data/spec/fixtures/unit/memory/linux-proc_meminfo +10 -0
  238. data/spec/fixtures/unit/memory/openbsd-vmstat +3 -0
  239. data/spec/fixtures/unit/memory/smartos_zone_swap_l-single +2 -0
  240. data/spec/fixtures/unit/memory/solaris-prtconf +4 -0
  241. data/spec/fixtures/unit/memory/solaris-swap_l-multiple +3 -0
  242. data/spec/fixtures/unit/memory/solaris-swap_l-single +2 -0
  243. data/spec/fixtures/unit/memory/solaris-vmstat +3 -0
  244. data/spec/fixtures/unit/netmask/darwin_10_8_5.txt +30 -0
  245. data/spec/fixtures/unit/netmask/ifconfig_aix_7.txt +3 -0
  246. data/spec/fixtures/unit/netmask/ifconfig_net_tools_1.60.txt +19 -0
  247. data/spec/fixtures/unit/netmask/ifconfig_ubuntu_1204.txt +16 -0
  248. data/spec/fixtures/unit/selinux/selinux_sestatus +6 -0
  249. data/spec/fixtures/unit/util/dhcp_servers/route +3 -0
  250. data/spec/fixtures/unit/util/dhcp_servers/route_nogw +1 -0
  251. data/spec/fixtures/unit/util/ec2/centos-arp-ec2.out +1 -0
  252. data/spec/fixtures/unit/util/ec2/linux-arp-ec2.out +1 -0
  253. data/spec/fixtures/unit/util/ec2/linux-arp-not-ec2.out +5 -0
  254. data/spec/fixtures/unit/util/ec2/solaris8_arp_a_not_ec2.out +7 -0
  255. data/spec/fixtures/unit/util/ec2/windows-2008-arp-a-not-ec2.out +6 -0
  256. data/spec/fixtures/unit/util/ec2/windows-2008-arp-a.out +10 -0
  257. data/spec/fixtures/unit/util/ip/6.0-STABLE_FreeBSD_ifconfig +12 -0
  258. data/spec/fixtures/unit/util/ip/Mac_OS_X_10.5.5_ifconfig +26 -0
  259. data/spec/fixtures/unit/util/ip/darwin_ifconfig_all_with_multiple_interfaces +10 -0
  260. data/spec/fixtures/unit/util/ip/darwin_ifconfig_single_interface +6 -0
  261. data/spec/fixtures/unit/util/ip/debian_kfreebsd_ifconfig +40 -0
  262. data/spec/fixtures/unit/util/ip/hpux_1111_ifconfig_lan0 +2 -0
  263. data/spec/fixtures/unit/util/ip/hpux_1111_ifconfig_lan1 +2 -0
  264. data/spec/fixtures/unit/util/ip/hpux_1111_ifconfig_lo0 +2 -0
  265. data/spec/fixtures/unit/util/ip/hpux_1111_lanscan +5 -0
  266. data/spec/fixtures/unit/util/ip/hpux_1111_netstat_in +4 -0
  267. data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_ifconfig_lan0 +2 -0
  268. data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_ifconfig_lan1 +2 -0
  269. data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_ifconfig_lo0 +2 -0
  270. data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_lanscan +5 -0
  271. data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_netstat_in +4 -0
  272. data/spec/fixtures/unit/util/ip/hpux_1131_ifconfig_lan0 +2 -0
  273. data/spec/fixtures/unit/util/ip/hpux_1131_ifconfig_lan1 +2 -0
  274. data/spec/fixtures/unit/util/ip/hpux_1131_ifconfig_lo0 +2 -0
  275. data/spec/fixtures/unit/util/ip/hpux_1131_lanscan +4 -0
  276. data/spec/fixtures/unit/util/ip/hpux_1131_netstat_in +4 -0
  277. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lan1 +2 -0
  278. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lan4 +2 -0
  279. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lan4_1 +2 -0
  280. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lo0 +2 -0
  281. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_lanscan +9 -0
  282. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_netstat_in +6 -0
  283. data/spec/fixtures/unit/util/ip/linux_2_6_35_proc_net_bonding_bond0 +19 -0
  284. data/spec/fixtures/unit/util/ip/linux_get_single_interface_eth0 +10 -0
  285. data/spec/fixtures/unit/util/ip/linux_get_single_interface_ib0 +8 -0
  286. data/spec/fixtures/unit/util/ip/linux_get_single_interface_lo +9 -0
  287. data/spec/fixtures/unit/util/ip/linux_ifconfig_all_with_single_interface +18 -0
  288. data/spec/fixtures/unit/util/ip/linux_ifconfig_ib0 +8 -0
  289. data/spec/fixtures/unit/util/ip/solaris_ifconfig_all_with_multiple_interfaces +8 -0
  290. data/spec/fixtures/unit/util/ip/solaris_ifconfig_single_interface +3 -0
  291. data/spec/fixtures/unit/util/ip/windows_netsh_all_interfaces +12 -0
  292. data/spec/fixtures/unit/util/ip/windows_netsh_single_interface +7 -0
  293. data/spec/fixtures/unit/util/ip/windows_netsh_single_interface6 +18 -0
  294. data/spec/fixtures/unit/util/manufacturer/freebsd_dmidecode +42 -0
  295. data/spec/fixtures/unit/util/manufacturer/intel_linux_dmidecode +549 -0
  296. data/spec/fixtures/unit/util/manufacturer/linux_dmidecode_with_spaces +60 -0
  297. data/spec/fixtures/unit/util/manufacturer/opensolaris_smbios +33 -0
  298. data/spec/fixtures/unit/util/manufacturer/smartos_smbios +533 -0
  299. data/spec/fixtures/unit/util/manufacturer/solaris_sunfire_v120_prtdiag +33 -0
  300. data/spec/fixtures/unit/util/manufacturer/solaris_t5220_prtdiag +136 -0
  301. data/spec/fixtures/unit/util/operatingsystem/cumuluslinux.txt +8 -0
  302. data/spec/fixtures/unit/util/operatingsystem/redhat-7.txt +12 -0
  303. data/spec/fixtures/unit/util/operatingsystem/sabayon.txt +7 -0
  304. data/spec/fixtures/unit/util/operatingsystem/wheezy.txt +9 -0
  305. data/spec/fixtures/unit/util/partitions/partitions/mount +9 -0
  306. data/spec/fixtures/unit/util/processor/solaris-i86pc +28 -0
  307. data/spec/fixtures/unit/util/processor/solaris-sun4u +151 -0
  308. data/spec/fixtures/unit/util/processor/x86-pentium2 +41 -0
  309. data/spec/fixtures/unit/util/uptime/kstat_boot_time +1 -0
  310. data/spec/fixtures/unit/util/uptime/sysctl_kern_boottime_darwin +1 -0
  311. data/spec/fixtures/unit/util/uptime/sysctl_kern_boottime_openbsd +1 -0
  312. data/spec/fixtures/unit/util/uptime/ubuntu_proc_uptime +1 -0
  313. data/spec/fixtures/unit/util/virtual/invalid_unicode_dmi_entries +0 -0
  314. data/spec/fixtures/unit/util/virtual/solaris10_proc_self_status1 +0 -0
  315. data/spec/fixtures/unit/util/vlans/centos-5-no-vlans +2 -0
  316. data/spec/fixtures/unit/util/vlans/linux_vlan_config +6 -0
  317. data/spec/fixtures/unit/util/xendomains/xendomains +4 -0
  318. data/spec/fixtures/unit/virtual/sysfs_dmi_entries_raw.txt +0 -0
  319. data/spec/fixtures/unit/zfs_version/freebsd_8.2 +14 -0
  320. data/spec/fixtures/unit/zfs_version/freebsd_9.0 +13 -0
  321. data/spec/fixtures/unit/zfs_version/linux-fuse_0.6.9 +14 -0
  322. data/spec/fixtures/unit/zfs_version/solaris_10 +10 -0
  323. data/spec/fixtures/unit/zfs_version/solaris_11 +12 -0
  324. data/spec/fixtures/unit/zpool_version/freebsd_8.2 +26 -0
  325. data/spec/fixtures/unit/zpool_version/freebsd_9.0 +38 -0
  326. data/spec/fixtures/unit/zpool_version/linux-fuse_0.6.9 +35 -0
  327. data/spec/fixtures/unit/zpool_version/solaris_10 +31 -0
  328. data/spec/fixtures/unit/zpool_version/solaris_11 +43 -0
  329. data/spec/fixtures/virtual/proc_1_cgroup/in_a_container +9 -0
  330. data/spec/fixtures/virtual/proc_1_cgroup/in_a_docker_container +8 -0
  331. data/spec/fixtures/virtual/proc_1_cgroup/not_in_a_container +9 -0
  332. data/spec/fixtures/virtual/proc_self_status/vserver_2_1/guest +37 -0
  333. data/spec/fixtures/virtual/proc_self_status/vserver_2_1/host +36 -0
  334. data/spec/fixtures/virtual/proc_self_status/vserver_2_3/guest +39 -0
  335. data/spec/fixtures/virtual/proc_self_status/vserver_2_3/host +39 -0
  336. data/spec/integration/facter_spec.rb +39 -0
  337. data/spec/lib/facter_spec/cpuinfo.rb +15 -0
  338. data/spec/lib/facter_spec/windows_network.rb +64 -0
  339. data/spec/puppetlabs_spec/files.rb +57 -0
  340. data/spec/puppetlabs_spec/fixtures.rb +49 -0
  341. data/spec/puppetlabs_spec/matchers.rb +87 -0
  342. data/spec/puppetlabs_spec/verbose.rb +9 -0
  343. data/spec/puppetlabs_spec_helper.rb +26 -0
  344. data/spec/shared_contexts/platform.rb +55 -0
  345. data/spec/shared_formats/parses.rb +3 -0
  346. data/spec/spec_helper.rb +75 -0
  347. data/spec/unit/application_spec.rb +101 -0
  348. data/spec/unit/architecture_spec.rb +63 -0
  349. data/spec/unit/blockdevices_spec.rb +109 -0
  350. data/spec/unit/core/aggregate_spec.rb +125 -0
  351. data/spec/unit/core/directed_graph_spec.rb +79 -0
  352. data/spec/unit/core/execution/base_spec.rb +130 -0
  353. data/spec/unit/core/execution/posix_spec.rb +86 -0
  354. data/spec/unit/core/execution/windows_spec.rb +106 -0
  355. data/spec/unit/core/execution_spec.rb +42 -0
  356. data/spec/unit/core/logging_spec.rb +104 -0
  357. data/spec/unit/core/resolvable_spec.rb +81 -0
  358. data/spec/unit/core/suitable_spec.rb +106 -0
  359. data/spec/unit/dhcp_servers_spec.rb +152 -0
  360. data/spec/unit/domain_spec.rb +310 -0
  361. data/spec/unit/ec2/rest_spec.rb +145 -0
  362. data/spec/unit/ec2_spec.rb +127 -0
  363. data/spec/unit/facter_spec.rb +108 -0
  364. data/spec/unit/filesystems_spec.rb +50 -0
  365. data/spec/unit/fqdn_spec.rb +16 -0
  366. data/spec/unit/gce/metadata_spec.rb +49 -0
  367. data/spec/unit/gce_spec.rb +34 -0
  368. data/spec/unit/hardwareisa_spec.rb +41 -0
  369. data/spec/unit/hardwaremodel_spec.rb +56 -0
  370. data/spec/unit/hostname_spec.rb +40 -0
  371. data/spec/unit/id_spec.rb +29 -0
  372. data/spec/unit/interfaces_spec.rb +57 -0
  373. data/spec/unit/ipaddress6_spec.rb +161 -0
  374. data/spec/unit/ipaddress_spec.rb +114 -0
  375. data/spec/unit/kernel_spec.rb +24 -0
  376. data/spec/unit/kernelmajversion_spec.rb +22 -0
  377. data/spec/unit/kernelrelease_spec.rb +69 -0
  378. data/spec/unit/kernelversion_spec.rb +32 -0
  379. data/spec/unit/ldom_spec.rb +75 -0
  380. data/spec/unit/lsbdistcodename_spec.rb +25 -0
  381. data/spec/unit/lsbdistdescription_spec.rb +25 -0
  382. data/spec/unit/lsbdistid_spec.rb +25 -0
  383. data/spec/unit/lsbdistrelease_spec.rb +25 -0
  384. data/spec/unit/lsbmajdistrelease_spec.rb +13 -0
  385. data/spec/unit/lsbrelease_spec.rb +25 -0
  386. data/spec/unit/macaddress_spec.rb +73 -0
  387. data/spec/unit/manufacturer_spec.rb +115 -0
  388. data/spec/unit/memory_spec.rb +470 -0
  389. data/spec/unit/netmask_spec.rb +106 -0
  390. data/spec/unit/operatingsystem_spec.rb +160 -0
  391. data/spec/unit/operatingsystemmajrelease_spec.rb +38 -0
  392. data/spec/unit/operatingsystemrelease_spec.rb +236 -0
  393. data/spec/unit/osfamily_spec.rb +62 -0
  394. data/spec/unit/partitions_spec.rb +48 -0
  395. data/spec/unit/physicalprocessorcount_spec.rb +85 -0
  396. data/spec/unit/processor_spec.rb +401 -0
  397. data/spec/unit/ps_spec.rb +42 -0
  398. data/spec/unit/selinux_spec.rb +114 -0
  399. data/spec/unit/ssh_spec.rb +77 -0
  400. data/spec/unit/uniqueid_spec.rb +27 -0
  401. data/spec/unit/uptime_spec.rb +110 -0
  402. data/spec/unit/util/collection_spec.rb +258 -0
  403. data/spec/unit/util/config_spec.rb +97 -0
  404. data/spec/unit/util/confine_spec.rb +148 -0
  405. data/spec/unit/util/dhcp_servers_spec.rb +63 -0
  406. data/spec/unit/util/directory_loader_spec.rb +88 -0
  407. data/spec/unit/util/ec2_spec.rb +184 -0
  408. data/spec/unit/util/fact_spec.rb +142 -0
  409. data/spec/unit/util/file_read_spec.rb +29 -0
  410. data/spec/unit/util/formatter_spec.rb +50 -0
  411. data/spec/unit/util/ip/windows_spec.rb +80 -0
  412. data/spec/unit/util/ip_spec.rb +467 -0
  413. data/spec/unit/util/loader_spec.rb +286 -0
  414. data/spec/unit/util/macaddress_spec.rb +141 -0
  415. data/spec/unit/util/macosx_spec.rb +114 -0
  416. data/spec/unit/util/manufacturer_spec.rb +223 -0
  417. data/spec/unit/util/normalization_spec.rb +113 -0
  418. data/spec/unit/util/operatingsystem_spec.rb +92 -0
  419. data/spec/unit/util/parser_spec.rb +200 -0
  420. data/spec/unit/util/partitions/partitions_spec.rb +67 -0
  421. data/spec/unit/util/partitions_spec.rb +19 -0
  422. data/spec/unit/util/posix_spec.rb +11 -0
  423. data/spec/unit/util/processor_spec.rb +92 -0
  424. data/spec/unit/util/registry_spec.rb +76 -0
  425. data/spec/unit/util/resolution_spec.rb +129 -0
  426. data/spec/unit/util/solaris_zones_spec.rb +127 -0
  427. data/spec/unit/util/uptime_spec.rb +126 -0
  428. data/spec/unit/util/values_spec.rb +171 -0
  429. data/spec/unit/util/virtual_spec.rb +364 -0
  430. data/spec/unit/util/vlans_spec.rb +42 -0
  431. data/spec/unit/util/wmi_spec.rb +19 -0
  432. data/spec/unit/util/xendomains_spec.rb +21 -0
  433. data/spec/unit/version_spec.rb +42 -0
  434. data/spec/unit/virtual_spec.rb +519 -0
  435. data/spec/unit/zfs_version_spec.rb +75 -0
  436. data/spec/unit/zonename_spec.rb +14 -0
  437. data/spec/unit/zones_spec.rb +55 -0
  438. data/spec/unit/zpool_version_spec.rb +75 -0
  439. data/spec/watchr.rb +125 -0
  440. metadata +815 -0
@@ -0,0 +1,15 @@
1
+ # Fact: uptime_days
2
+ #
3
+ # Purpose: Return purely number of days of uptime.
4
+ #
5
+ # Resolution: Divides uptime_hours fact by 24.
6
+ #
7
+ # Caveats:
8
+ #
9
+
10
+ Facter.add(:uptime_days) do
11
+ setcode do
12
+ hours = Facter.value(:uptime_hours)
13
+ hours && hours / 24 # hours in day
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ # Fact: uptime_hours
2
+ #
3
+ # Purpose: Return purely number of hours of uptime.
4
+ #
5
+ # Resolution: Divides uptime_seconds fact by 3600.
6
+ #
7
+ # Caveats:
8
+ #
9
+
10
+ Facter.add(:uptime_hours) do
11
+ setcode do
12
+ seconds = Facter.value(:uptime_seconds)
13
+ seconds && seconds / (60 * 60) # seconds in hour
14
+ end
15
+ end
@@ -0,0 +1,24 @@
1
+ # Fact: uptime_seconds
2
+ #
3
+ # Purpose: Return purely number of seconds of uptime.
4
+ #
5
+ # Resolution:
6
+ # Using the 'facter/util/uptime.rb' module, try a verity of methods to acquire
7
+ # the uptime on Unix.
8
+ #
9
+ # On Windows, the module calculates the uptime by the "LastBootupTime" Windows
10
+ # management value.
11
+ #
12
+ # Caveats:
13
+ #
14
+
15
+ require 'facter/util/uptime'
16
+
17
+ Facter.add(:uptime_seconds) do
18
+ setcode { Facter::Util::Uptime.get_uptime_seconds_unix }
19
+ end
20
+
21
+ Facter.add(:uptime_seconds) do
22
+ confine :kernel => :windows
23
+ setcode { Facter::Util::Uptime.get_uptime_seconds_win }
24
+ end
@@ -0,0 +1,19 @@
1
+ # A module to help test architecture facts on non-AIX test hardware
2
+
3
+ module Facter::Util::Architecture
4
+ ##
5
+ # lsattr is intended to directly delegate to Facter::Core::Execution.exec in
6
+ # an effort to make the processorX facts easier to test. See also the
7
+ # {lsdev} method.
8
+ def self.lsattr(command="lsattr -El proc0 -a type")
9
+ Facter::Core::Execution.exec(command)
10
+ end
11
+
12
+ ##
13
+ # kernel_fact_value is intended to directly delegate to Facter.value(:kernel)
14
+ # to make it easier to stub the kernel fact without affecting the entire
15
+ # system.
16
+ def self.kernel_fact_value
17
+ Facter.value(:kernel)
18
+ end
19
+ end
@@ -0,0 +1,161 @@
1
+ require 'facter'
2
+ require 'facter/util/fact'
3
+ require 'facter/util/loader'
4
+
5
+ # Manage which facts exist and how we access them. Largely just a wrapper
6
+ # around a hash of facts.
7
+ #
8
+ # @api private
9
+ class Facter::Util::Collection
10
+
11
+ def initialize(internal_loader, external_loader)
12
+ @facts = Hash.new
13
+ @internal_loader = internal_loader
14
+ @external_loader = external_loader
15
+ end
16
+
17
+ # Return a fact object by name.
18
+ def [](name)
19
+ value(name)
20
+ end
21
+
22
+ # Define a new fact or extend an existing fact.
23
+ #
24
+ # @param name [Symbol] The name of the fact to define
25
+ # @param options [Hash] A hash of options to set on the fact
26
+ #
27
+ # @return [Facter::Util::Fact] The fact that was defined
28
+ def define_fact(name, options = {}, &block)
29
+ fact = create_or_return_fact(name, options)
30
+
31
+ if block_given?
32
+ fact.instance_eval(&block)
33
+ end
34
+
35
+ fact
36
+ rescue => e
37
+ Facter.log_exception(e, "Unable to add fact #{name}: #{e}")
38
+ end
39
+
40
+ # Add a resolution mechanism for a named fact. This does not distinguish
41
+ # between adding a new fact and adding a new way to resolve a fact.
42
+ #
43
+ # @param name [Symbol] The name of the fact to define
44
+ # @param options [Hash] A hash of options to set on the fact and resolution
45
+ #
46
+ # @return [Facter::Util::Fact] The fact that was defined
47
+ def add(name, options = {}, &block)
48
+ fact = create_or_return_fact(name, options)
49
+
50
+ fact.add(options, &block)
51
+
52
+ return fact
53
+ end
54
+
55
+ include Enumerable
56
+
57
+ # Iterate across all of the facts.
58
+ def each
59
+ load_all
60
+ @facts.each do |name, fact|
61
+ value = fact.value
62
+ unless value.nil?
63
+ yield name.to_s, value
64
+ end
65
+ end
66
+ end
67
+
68
+ # Return a fact by name.
69
+ def fact(name)
70
+ name = canonicalize(name)
71
+
72
+ # Try to load the fact if necessary
73
+ load(name) unless @facts[name]
74
+
75
+ # Try HARDER
76
+ internal_loader.load_all unless @facts[name]
77
+
78
+ if @facts.empty?
79
+ Facter.warnonce("No facts loaded from #{internal_loader.search_path.join(File::PATH_SEPARATOR)}")
80
+ end
81
+
82
+ @facts[name]
83
+ end
84
+
85
+ # Flush all cached values.
86
+ def flush
87
+ @facts.each { |name, fact| fact.flush }
88
+ @external_facts_loaded = nil
89
+ end
90
+
91
+ # Return a list of all of the facts.
92
+ def list
93
+ load_all
94
+ return @facts.keys
95
+ end
96
+
97
+ def load(name)
98
+ internal_loader.load(name)
99
+ load_external_facts
100
+ end
101
+
102
+ # Load all known facts.
103
+ def load_all
104
+ internal_loader.load_all
105
+ load_external_facts
106
+ end
107
+
108
+ def internal_loader
109
+ @internal_loader
110
+ end
111
+
112
+ def external_loader
113
+ @external_loader
114
+ end
115
+
116
+ # Return a hash of all of our facts.
117
+ def to_hash
118
+ @facts.inject({}) do |h, ary|
119
+ value = ary[1].value
120
+ if ! value.nil?
121
+ # For backwards compatibility, convert the fact name to a string.
122
+ h[ary[0].to_s] = value
123
+ end
124
+ h
125
+ end
126
+ end
127
+
128
+ def value(name)
129
+ if fact = fact(name)
130
+ fact.value
131
+ end
132
+ end
133
+
134
+ private
135
+
136
+ def create_or_return_fact(name, options)
137
+ name = canonicalize(name)
138
+
139
+ fact = @facts[name]
140
+
141
+ if fact.nil?
142
+ fact = Facter::Util::Fact.new(name, options)
143
+ @facts[name] = fact
144
+ else
145
+ fact.extract_ldapname_option!(options)
146
+ end
147
+
148
+ fact
149
+ end
150
+
151
+ def canonicalize(name)
152
+ name.to_s.downcase.to_sym
153
+ end
154
+
155
+ def load_external_facts
156
+ if ! @external_facts_loaded
157
+ @external_facts_loaded = true
158
+ external_loader.load(self)
159
+ end
160
+ end
161
+ end
@@ -0,0 +1,12 @@
1
+ # A composite loader that allows for more than one
2
+ # default directory loader
3
+
4
+ class Facter::Util::CompositeLoader
5
+ def initialize(loaders)
6
+ @loaders = loaders
7
+ end
8
+
9
+ def load(collection)
10
+ @loaders.each { |loader| loader.load(collection) }
11
+ end
12
+ end
@@ -0,0 +1,63 @@
1
+ require 'rbconfig'
2
+
3
+ # A module to return config related data
4
+ #
5
+ module Facter::Util::Config
6
+
7
+ def self.ext_fact_loader
8
+ @ext_fact_loader || Facter::Util::DirectoryLoader.default_loader
9
+ end
10
+
11
+ def self.ext_fact_loader=(loader)
12
+ @ext_fact_loader = loader
13
+ end
14
+
15
+ def self.is_mac?
16
+ RbConfig::CONFIG['host_os'] =~ /darwin/i
17
+ end
18
+
19
+ # Returns true if OS is windows
20
+ def self.is_windows?
21
+ RbConfig::CONFIG['host_os'] =~ /mswin|win32|dos|mingw|cygwin/i
22
+ end
23
+
24
+ def self.windows_data_dir
25
+ if Dir.const_defined? 'COMMON_APPDATA' then
26
+ Dir::COMMON_APPDATA
27
+ else
28
+ nil
29
+ end
30
+ end
31
+
32
+ def self.external_facts_dirs=(dir)
33
+ @external_facts_dirs = dir
34
+ end
35
+
36
+ def self.external_facts_dirs
37
+ @external_facts_dirs
38
+ end
39
+
40
+ def self.setup_default_ext_facts_dirs
41
+ if Facter::Util::Root.root?
42
+ windows_dir = windows_data_dir
43
+ if windows_dir.nil? then
44
+ @external_facts_dirs = ["/etc/facter/facts.d", "/etc/puppetlabs/facter/facts.d"]
45
+ else
46
+ @external_facts_dirs = [File.join(windows_dir, 'PuppetLabs', 'facter', 'facts.d')]
47
+ end
48
+ elsif ENV['HOME']
49
+ @external_facts_dirs = [File.expand_path(File.join(ENV['HOME'], ".facter", "facts.d"))]
50
+ else
51
+ @external_facts_dirs = []
52
+ end
53
+ end
54
+
55
+ if Facter::Util::Config.is_windows?
56
+ require 'win32/dir'
57
+ require 'facter/util/windows_root'
58
+ else
59
+ require 'facter/util/unix_root'
60
+ end
61
+
62
+ setup_default_ext_facts_dirs
63
+ end
@@ -0,0 +1,66 @@
1
+ # A restricting tag for fact resolution mechanisms. The tag must be true
2
+ # for the resolution mechanism to be suitable.
3
+
4
+ require 'facter/util/values'
5
+
6
+ class Facter::Util::Confine
7
+ attr_accessor :fact, :values
8
+
9
+ include Facter::Util::Values
10
+
11
+ # Add the restriction. Requires the fact name, an operator, and the value
12
+ # we're comparing to.
13
+ #
14
+ # @param fact [Symbol] Name of the fact
15
+ # @param values [Array] One or more values to match against.
16
+ # They can be any type that provides a === method.
17
+ # @param block [Proc] Alternatively a block can be supplied as a check. The fact
18
+ # value will be passed as the argument to the block. If the block returns
19
+ # true then the fact will be enabled, otherwise it will be disabled.
20
+ def initialize(fact = nil, *values, &block)
21
+ raise ArgumentError, "The fact name must be provided" unless fact or block_given?
22
+ if values.empty? and not block_given?
23
+ raise ArgumentError, "One or more values or a block must be provided"
24
+ end
25
+ @fact = fact
26
+ @values = values
27
+ @block = block
28
+ end
29
+
30
+ def to_s
31
+ return @block.to_s if @block
32
+ return "'%s' '%s'" % [@fact, @values.join(",")]
33
+ end
34
+
35
+ # Evaluate the fact, returning true or false.
36
+ # if we have a block paramter then we only evaluate that instead
37
+ def true?
38
+ if @block and not @fact then
39
+ begin
40
+ return !! @block.call
41
+ rescue StandardError => error
42
+ Facter.debug "Confine raised #{error.class} #{error}"
43
+ return false
44
+ end
45
+ end
46
+
47
+ unless fact = Facter[@fact]
48
+ Facter.debug "No fact for %s" % @fact
49
+ return false
50
+ end
51
+ value = convert(fact.value)
52
+
53
+ return false if value.nil?
54
+
55
+ if @block then
56
+ begin
57
+ return !! @block.call(value)
58
+ rescue StandardError => error
59
+ Facter.debug "Confine raised #{error.class} #{error}"
60
+ return false
61
+ end
62
+ end
63
+
64
+ return @values.any? do |v| convert(v) === value end
65
+ end
66
+ end
@@ -0,0 +1,43 @@
1
+ require 'facter/util/file_read'
2
+
3
+ module Facter::Util::DHCPServers
4
+ def self.gateway_device
5
+ interface = nil
6
+ if routes = Facter::Util::FileRead.read('/proc/net/route')
7
+ routes.each_line do |line|
8
+ device, destination = line.split(' ')
9
+ if destination == '00000000'
10
+ interface = device
11
+ break
12
+ end
13
+ end
14
+ end
15
+ interface
16
+ end
17
+
18
+ def self.devices
19
+ if Facter::Core::Execution.which('nmcli')
20
+ Facter::Core::Execution.exec("nmcli d").split("\n").select {|d| d =~ /\sconnected/i }.collect{ |line| line.split[0] }
21
+ else
22
+ []
23
+ end
24
+ end
25
+
26
+ def self.device_dhcp_server(device)
27
+ if Facter::Core::Execution.which('nmcli')
28
+ version = self.nmcli_version
29
+ # If the version is >= 0.9.9, use show instead of list
30
+ if version && version[0] > 0 || version[1] > 9 || (version[1] == 9 && version[2] >= 9)
31
+ Facter::Core::Execution.exec("nmcli -f all d show #{device}").scan(/dhcp_server_identifier.*?(\d+\.\d+\.\d+\.\d+)$/).flatten.first
32
+ else
33
+ Facter::Core::Execution.exec("nmcli -f all d list iface #{device}").scan(/dhcp_server_identifier.*?(\d+\.\d+\.\d+\.\d+)$/).flatten.first
34
+ end
35
+ end
36
+ end
37
+
38
+ def self.nmcli_version
39
+ if version = Facter::Core::Execution.exec("nmcli --version")
40
+ version.scan(/version\s(\d+)\.?(\d+)?\.?(\d+)?\.?(\d+)?/).flatten.map(&:to_i)
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,83 @@
1
+ # A Facter plugin that loads external facts.
2
+ #
3
+ # Default Unix Directories:
4
+ # /etc/facter/facts.d", "/etc/puppetlabs/facter/facts.d"
5
+ #
6
+ # Default Windows Direcotires:
7
+ # C:\ProgramData\Puppetlabs\facter\facts.d (2008)
8
+ # C:\Documents and Settings\All Users\Application Data\Puppetlabs\facter\facts.d (2003)
9
+ #
10
+ # Can also load from command-line specified directory
11
+ #
12
+ # Facts can be in the form of JSON, YAML or Text files
13
+ # and any executable that returns key=value pairs.
14
+
15
+ require 'facter'
16
+ require 'facter/util/config'
17
+ require 'facter/util/composite_loader'
18
+ require 'facter/util/parser'
19
+ require 'yaml'
20
+
21
+ class Facter::Util::DirectoryLoader
22
+
23
+ class NoSuchDirectoryError < Exception
24
+ end
25
+
26
+ # This value makes it highly likely that external facts will take
27
+ # precedence over all other facts
28
+ EXTERNAL_FACT_WEIGHT = 10000
29
+
30
+ # Directory for fact loading
31
+ attr_reader :directory
32
+
33
+ def initialize(dir)
34
+ @directory = dir
35
+ end
36
+
37
+ def self.loader_for(dir)
38
+ if File.directory?(dir)
39
+ Facter::Util::DirectoryLoader.new(dir)
40
+ else
41
+ raise NoSuchDirectoryError
42
+ end
43
+ end
44
+
45
+ def self.default_loader
46
+ loaders = Facter::Util::Config.external_facts_dirs.collect do |dir|
47
+ Facter::Util::DirectoryLoader.new(dir)
48
+ end
49
+ Facter::Util::CompositeLoader.new(loaders)
50
+ end
51
+
52
+ # Load facts from files in fact directory using the relevant parser classes to
53
+ # parse them.
54
+ def load(collection)
55
+ entries.each do |file|
56
+ parser = Facter::Util::Parser.parser_for(file)
57
+ if parser == nil
58
+ next
59
+ end
60
+
61
+ data = parser.results
62
+ if data == false
63
+ Facter.warn "Could not interpret fact file #{file}"
64
+ elsif data == {} or data == nil
65
+ Facter.warn "Fact file #{file} was parsed but returned an empty data set"
66
+ else
67
+ data.each { |p,v| collection.add(p, :value => v) { has_weight(EXTERNAL_FACT_WEIGHT) } }
68
+ end
69
+ end
70
+ end
71
+
72
+ private
73
+
74
+ def entries
75
+ Dir.entries(directory).find_all { |f| should_parse?(f) }.sort.map { |f| File.join(directory, f) }
76
+ rescue Errno::ENOENT => detail
77
+ []
78
+ end
79
+
80
+ def should_parse?(file)
81
+ not file =~ /^\./
82
+ end
83
+ end