web-facter 0.0.1

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.
data/.gitignore ADDED
@@ -0,0 +1,4 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
data/Gemfile ADDED
@@ -0,0 +1,5 @@
1
+ # A sample Gemfile
2
+ source "http://rubygems.org"
3
+
4
+ gem "facter"
5
+ gem "rack"
data/Gemfile.lock ADDED
@@ -0,0 +1,12 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ facter (1.6.2)
5
+ rack (1.3.5)
6
+
7
+ PLATFORMS
8
+ ruby
9
+
10
+ DEPENDENCIES
11
+ facter
12
+ rack
data/README ADDED
@@ -0,0 +1,5 @@
1
+ A tiny ruby rack application which exposes the data from facter as JSON over HTTP.
2
+
3
+ gem install web-facter
4
+
5
+ Currently this is pretty raw. I plan on making it a little more configurable shortly at which point I'll write a proper README.
data/Rakefile ADDED
@@ -0,0 +1 @@
1
+ require "bundler/gem_tasks"
data/bin/web-facter ADDED
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rack'
4
+ require 'web-facter'
5
+
6
+ Rack::Server.new(:app => WebFacter::App.new, :Port => 9294, :daemonize => true).start
@@ -0,0 +1,3 @@
1
+ module WebFacter
2
+ VERSION = "0.0.1"
3
+ end
data/lib/web-facter.rb ADDED
@@ -0,0 +1,15 @@
1
+ require "web-facter/version"
2
+ require 'rack'
3
+ require 'facter'
4
+ require 'json'
5
+
6
+ module WebFacter
7
+ class App
8
+ def call env
9
+ response = Rack::Response.new
10
+ response.header['Content-Type'] = 'application/json'
11
+ response.write JSON.pretty_generate(Facter.to_hash)
12
+ response.finish
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,23 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "web-facter/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "web-facter"
7
+ s.version = WebFacter::VERSION
8
+ s.authors = ["Gareth Rushgrove"]
9
+ s.email = ["gareth@morethanseven.net"]
10
+ s.homepage = "https://github.com/garethr/web-facter"
11
+ s.summary = %q{Display Facter information as JSON over HTTP}
12
+ s.description = %q{Daemon which serves information from the facter gem as JSON over HTTP}
13
+
14
+ s.rubyforge_project = "web-facter"
15
+
16
+ s.files = `git ls-files`.split("\n")
17
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
+ s.require_paths = ["lib"]
20
+
21
+ s.add_runtime_dependency "rack"
22
+ s.add_runtime_dependency "facter"
23
+ end
metadata ADDED
@@ -0,0 +1,77 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: web-facter
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Gareth Rushgrove
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2011-10-30 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rack
16
+ requirement: &70344602869480 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *70344602869480
25
+ - !ruby/object:Gem::Dependency
26
+ name: facter
27
+ requirement: &70344602869060 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *70344602869060
36
+ description: Daemon which serves information from the facter gem as JSON over HTTP
37
+ email:
38
+ - gareth@morethanseven.net
39
+ executables:
40
+ - web-facter
41
+ extensions: []
42
+ extra_rdoc_files: []
43
+ files:
44
+ - .gitignore
45
+ - Gemfile
46
+ - Gemfile.lock
47
+ - README
48
+ - Rakefile
49
+ - bin/web-facter
50
+ - lib/web-facter.rb
51
+ - lib/web-facter/version.rb
52
+ - web-facter.gemspec
53
+ homepage: https://github.com/garethr/web-facter
54
+ licenses: []
55
+ post_install_message:
56
+ rdoc_options: []
57
+ require_paths:
58
+ - lib
59
+ required_ruby_version: !ruby/object:Gem::Requirement
60
+ none: false
61
+ requirements:
62
+ - - ! '>='
63
+ - !ruby/object:Gem::Version
64
+ version: '0'
65
+ required_rubygems_version: !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
68
+ - - ! '>='
69
+ - !ruby/object:Gem::Version
70
+ version: '0'
71
+ requirements: []
72
+ rubyforge_project: web-facter
73
+ rubygems_version: 1.8.6
74
+ signing_key:
75
+ specification_version: 3
76
+ summary: Display Facter information as JSON over HTTP
77
+ test_files: []