Module: Enc

Defined in:
lib/enc/url_provider.rb,
lib/enc.rb,
lib/enc/version.rb,
lib/enc/manifest.rb

Overview

Returns roles by parsing JSON returned by hitting a url.

Defined Under Namespace

Classes: Manifest

Constant Summary collapse

VERSION =
"0.0.4"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.role_providerObject

Returns the value of attribute role_provider.



14
15
16
# File 'lib/enc/manifest.rb', line 14

def role_provider
  @role_provider
end

.template_dirObject

Returns the value of attribute template_dir.



15
16
17
# File 'lib/enc/manifest.rb', line 15

def template_dir
  @template_dir
end

Class Method Details

.manifest(hostname) ⇒ Object

Generate a manifest for the given host



20
21
22
23
# File 'lib/enc/manifest.rb', line 20

def manifest(hostname)
  roles = role_provider ? role_provider.call(hostname) : []
  Manifest.new(hostname, roles).hash
end

.url_provider(base) ⇒ Object



7
8
9
10
11
# File 'lib/enc/url_provider.rb', line 7

def self.url_provider(base)
  Proc.new do |hostname|
    JSON.parse open("#{base}/#{hostname}"){ |io| io.read }
  end
end