[Pkg-puppet-devel] [SCM] Puppet packaging for Debian branch, experimental, updated. debian/2.6.8-1-844-g7ec39d5
Daniel Pittman
daniel at puppetlabs.com
Tue May 10 08:11:23 UTC 2011
The following commit has been merged in the experimental branch:
commit 8d144d0bf5116c5f04522f2b4cd75699f6480f8e
Author: Daniel Pittman <daniel at puppetlabs.com>
Date: Thu Apr 7 14:20:35 2011 -0700
(#7012) Update references in code to use face(s)
The codebase is now using the new name, faces, uniformly to reference the
objects contained. All tests pass.
diff --git a/lib/puppet/application/config.rb b/lib/puppet/application/config.rb
index f655927..41a46c3 100644
--- a/lib/puppet/application/config.rb
+++ b/lib/puppet/application/config.rb
@@ -1,4 +1,4 @@
-require 'puppet/application/string_base'
+require 'puppet/application/faces_base'
-class Puppet::Application::Config < Puppet::Application::StringBase
+class Puppet::Application::Config < Puppet::Application::FacesBase
end
diff --git a/lib/puppet/application/configurer.rb b/lib/puppet/application/configurer.rb
index be01833..751e6b4 100644
--- a/lib/puppet/application/configurer.rb
+++ b/lib/puppet/application/configurer.rb
@@ -1,5 +1,5 @@
require 'puppet/application'
-require 'puppet/string'
+require 'puppet/faces'
class Puppet::Application::Configurer < Puppet::Application
should_parse_config
@@ -17,7 +17,7 @@ class Puppet::Application::Configurer < Puppet::Application
end
def run_command
- report = Puppet::String[:configurer, '0.0.1'].synchronize(Puppet[:certname])
- Puppet::String[:report, '0.0.1'].submit(report)
+ report = Puppet::Faces[:configurer, '0.0.1'].synchronize(Puppet[:certname])
+ Puppet::Faces[:report, '0.0.1'].submit(report)
end
end
diff --git a/lib/puppet/application/faces.rb b/lib/puppet/application/faces.rb
index 0a6a798..904a0cc 100644
--- a/lib/puppet/application/faces.rb
+++ b/lib/puppet/application/faces.rb
@@ -1,7 +1,7 @@
require 'puppet/application'
-require 'puppet/string'
+require 'puppet/faces'
-class Puppet::Application::String < Puppet::Application
+class Puppet::Application::Faces < Puppet::Application
should_parse_config
run_mode :agent
@@ -18,7 +18,7 @@ class Puppet::Application::String < Puppet::Application
if arguments.empty?
arguments = %w{terminuses actions}
end
- strings.each do |name|
+ faces.each do |name|
str = "#{name}:\n"
if arguments.include?("terminuses")
begin
@@ -68,12 +68,12 @@ class Puppet::Application::String < Puppet::Application
end
unless respond_to?(verb)
- raise "Command '#{verb}' not found for 'string'"
+ raise "Command '#{verb}' not found for 'faces'"
end
end
- def strings
- Puppet::String.strings
+ def faces
+ Puppet::Faces.faces
end
def terminus_classes(indirection)
@@ -81,9 +81,9 @@ class Puppet::Application::String < Puppet::Application
end
def actions(indirection)
- return [] unless string = Puppet::String[indirection, '0.0.1']
- string.load_actions
- return string.actions.sort { |a, b| a.to_s <=> b.to_s }
+ return [] unless faces = Puppet::Faces[indirection, '0.0.1']
+ faces.load_actions
+ return faces.actions.sort { |a, b| a.to_s <=> b.to_s }
end
def load_applications
diff --git a/lib/puppet/application/faces_base.rb b/lib/puppet/application/faces_base.rb
index 09d02c0..6d66ee8 100644
--- a/lib/puppet/application/faces_base.rb
+++ b/lib/puppet/application/faces_base.rb
@@ -1,7 +1,7 @@
require 'puppet/application'
-require 'puppet/string'
+require 'puppet/faces'
-class Puppet::Application::StringBase < Puppet::Application
+class Puppet::Application::FacesBase < Puppet::Application
should_parse_config
run_mode :agent
@@ -24,7 +24,7 @@ class Puppet::Application::StringBase < Puppet::Application
end
- attr_accessor :string, :action, :type, :arguments, :format
+ attr_accessor :face, :action, :type, :arguments, :format
attr_writer :exit_code
# This allows you to set the exit code if you don't want to just exit
@@ -47,7 +47,7 @@ class Puppet::Application::StringBase < Puppet::Application
def preinit
super
trap(:INT) do
- $stderr.puts "Cancelling String"
+ $stderr.puts "Cancelling Face"
exit(0)
end
@@ -57,8 +57,8 @@ class Puppet::Application::StringBase < Puppet::Application
# TODO: These should be configurable versions, through a global
# '--version' option, but we don't implement that yet... --daniel 2011-03-29
@type = self.class.name.to_s.sub(/.+:/, '').downcase.to_sym
- @string = Puppet::String[@type, :current]
- @format = @string.default_format
+ @face = Puppet::Faces[@type, :current]
+ @format = @face.default_format
# Now, walk the command line and identify the action. We skip over
# arguments based on introspecting the action and all, and find the first
@@ -68,11 +68,11 @@ class Puppet::Application::StringBase < Puppet::Application
until @action or (index += 1) >= command_line.args.length do
item = command_line.args[index]
if item =~ /^-/ then
- option = @string.options.find do |name|
+ option = @face.options.find do |name|
item =~ /^-+#{name.to_s.gsub(/[-_]/, '[-_]')}(?:[ =].*)?$/
end
if option then
- option = @string.get_option(option)
+ option = @face.get_option(option)
# If we have an inline argument, just carry on. We don't need to
# care about optional vs mandatory in that case because we do a real
# parse later, and that will totally take care of raising the error
@@ -91,9 +91,9 @@ class Puppet::Application::StringBase < Puppet::Application
raise ArgumentError, "Unknown option #{item.sub(/=.*$/, '').inspect}"
end
else
- action = @string.get_action(item.to_sym)
+ action = @face.get_action(item.to_sym)
if action.nil? then
- raise ArgumentError, "#{@string} does not have an #{item.inspect} action!"
+ raise ArgumentError, "#{@face} does not have an #{item.inspect} action!"
end
@action = action
end
@@ -129,7 +129,7 @@ class Puppet::Application::StringBase < Puppet::Application
# Note: because of our definition of where the action is set, we end up
# with it *always* being the first word of the remaining set of command
# line arguments. So, strip that off when we construct the arguments to
- # pass down to the string action. --daniel 2011-04-04
+ # pass down to the face action. --daniel 2011-04-04
@arguments.delete_at(0)
# We copy all of the app options to the end of the call; This allows each
@@ -142,7 +142,7 @@ class Puppet::Application::StringBase < Puppet::Application
def main
# Call the method associated with the provided action (e.g., 'find').
- if result = @string.send(@action.name, *arguments)
+ if result = @face.send(@action.name, *arguments)
puts render(result)
end
exit(exit_code)
diff --git a/lib/puppet/application/indirection_base.rb b/lib/puppet/application/indirection_base.rb
index cfa1ea5..7455ebe 100644
--- a/lib/puppet/application/indirection_base.rb
+++ b/lib/puppet/application/indirection_base.rb
@@ -1,4 +1,4 @@
-require 'puppet/application/string_base'
+require 'puppet/application/faces_base'
-class Puppet::Application::IndirectionBase < Puppet::Application::StringBase
+class Puppet::Application::IndirectionBase < Puppet::Application::FacesBase
end
diff --git a/lib/puppet/faces.rb b/lib/puppet/faces.rb
index 517cf45..07a7454 100644
--- a/lib/puppet/faces.rb
+++ b/lib/puppet/faces.rb
@@ -1,16 +1,16 @@
require 'puppet'
require 'puppet/util/autoload'
-class Puppet::String
- require 'puppet/string/string_collection'
+class Puppet::Faces
+ require 'puppet/faces/face_collection'
- require 'puppet/string/action_manager'
- include Puppet::String::ActionManager
- extend Puppet::String::ActionManager
+ require 'puppet/faces/action_manager'
+ include Puppet::Faces::ActionManager
+ extend Puppet::Faces::ActionManager
- require 'puppet/string/option_manager'
- include Puppet::String::OptionManager
- extend Puppet::String::OptionManager
+ require 'puppet/faces/option_manager'
+ include Puppet::Faces::OptionManager
+ extend Puppet::Faces::OptionManager
include Puppet::Util
@@ -19,33 +19,35 @@ class Puppet::String
# list of directories to search.
# Can't we utilize an external autoloader, or simply use the $LOAD_PATH? -pvb
def autoloader
- @autoloader ||= Puppet::Util::Autoload.new(:application, "puppet/string")
+ @autoloader ||= Puppet::Util::Autoload.new(:application, "puppet/faces")
end
- def strings
- Puppet::String::StringCollection.strings
+ def faces
+ Puppet::Faces::FaceCollection.faces
end
- def string?(name, version)
- Puppet::String::StringCollection.string?(name, version)
+ def face?(name, version)
+ Puppet::Faces::FaceCollection.face?(name, version)
end
def register(instance)
- Puppet::String::StringCollection.register(instance)
+ Puppet::Faces::FaceCollection.register(instance)
end
def define(name, version, &block)
- if string?(name, version)
- string = Puppet::String::StringCollection[name, version]
+ if face?(name, version)
+ face = Puppet::Faces::FaceCollection[name, version]
else
- string = self.new(name, version)
- Puppet::String::StringCollection.register(string)
- string.load_actions
+ face = self.new(name, version)
+ Puppet::Faces::FaceCollection.register(face)
+ # REVISIT: Shouldn't this be delayed until *after* we evaluate the
+ # current block, not done before? --daniel 2011-04-07
+ face.load_actions
end
- string.instance_eval(&block) if block_given?
+ face.instance_eval(&block) if block_given?
- return string
+ return face
end
alias :[] :define
@@ -61,11 +63,11 @@ class Puppet::String
attr_reader :name
def initialize(name, version, &block)
- unless Puppet::String::StringCollection.validate_version(version)
- raise ArgumentError, "Cannot create string #{name.inspect} with invalid version number '#{version}'!"
+ unless Puppet::Faces::FaceCollection.validate_version(version)
+ raise ArgumentError, "Cannot create face #{name.inspect} with invalid version number '#{version}'!"
end
- @name = Puppet::String::StringCollection.underscorize(name)
+ @name = Puppet::Faces::FaceCollection.underscorize(name)
@version = version
@default_format = :pson
@@ -74,11 +76,11 @@ class Puppet::String
# Try to find actions defined in other files.
def load_actions
- path = "puppet/string/#{name}"
+ path = "puppet/faces/#{name}"
loaded = []
[path, "#{name}@#{version}/#{path}"].each do |path|
- Puppet::String.autoloader.search_directories.each do |dir|
+ Puppet::Faces.autoloader.search_directories.each do |dir|
fdir = ::File.join(dir, path)
next unless FileTest.directory?(fdir)
@@ -99,6 +101,6 @@ class Puppet::String
end
def to_s
- "Puppet::String[#{name.inspect}, #{version.inspect}]"
+ "Puppet::Faces[#{name.inspect}, #{version.inspect}]"
end
end
diff --git a/lib/puppet/faces/action.rb b/lib/puppet/faces/action.rb
index 0f5032f..58d2c60 100644
--- a/lib/puppet/faces/action.rb
+++ b/lib/puppet/faces/action.rb
@@ -1,28 +1,26 @@
# -*- coding: utf-8 -*-
-require 'puppet/string'
-require 'puppet/string/option'
+require 'puppet/faces'
+require 'puppet/faces/option'
-class Puppet::String::Action
- attr_reader :name
-
- def to_s
- "#{@string}##{@name}"
- end
-
- def initialize(string, name, attrs = {})
+class Puppet::Faces::Action
+ def initialize(face, name, attrs = {})
raise "#{name.inspect} is an invalid action name" unless name.to_s =~ /^[a-z]\w*$/
- @string = string
+ @face = face
@name = name.to_sym
@options = {}
attrs.each do |k, v| send("#{k}=", v) end
end
+ attr_reader :name
+ def to_s() "#{@face}##{@name}" end
+
+
# Initially, this was defined to allow the @action.invoke pattern, which is
# a very natural way to invoke behaviour given our introspection
- # capabilities. Heck, our initial plan was to have the string delegate to
+ # capabilities. Heck, our initial plan was to have the faces delegate to
# the action object for invocation and all.
#
- # It turns out that we have a binding problem to solve: @string was bound to
+ # It turns out that we have a binding problem to solve: @face was bound to
# the parent class, not the subclass instance, and we don't pass the
# appropriate context or change the binding enough to make this work.
#
@@ -33,13 +31,13 @@ class Puppet::String::Action
# So, we are pulling this method for now, and will return it to life when we
# have the time to resolve the problem. For now, you should replace...
#
- # @action = @string.get_action(name)
+ # @action = @face.get_action(name)
# @action.invoke(arg1, arg2, arg3)
#
# ...with...
#
- # @action = @string.get_action(name)
- # @string.send(@action.name, arg1, arg2, arg3)
+ # @action = @face.get_action(name)
+ # @face.send(@action.name, arg1, arg2, arg3)
#
# I understand that is somewhat cumbersome, but it functions as desired.
# --daniel 2011-03-31
@@ -48,7 +46,7 @@ class Puppet::String::Action
# documentation, for the benefit of the reader.
#
# def invoke(*args, &block)
- # @string.send(name, *args, &block)
+ # @face.send(name, *args, &block)
# end
def when_invoked=(block)
@@ -82,12 +80,12 @@ class Puppet::String::Action
self.__send__(#{internal_name.inspect}, *args)
end"
- if @string.is_a?(Class)
- @string.class_eval do eval wrapper, nil, file, line end
- @string.define_method(internal_name, &block)
+ if @face.is_a?(Class)
+ @face.class_eval do eval wrapper, nil, file, line end
+ @face.define_method(internal_name, &block)
else
- @string.instance_eval do eval wrapper, nil, file, line end
- @string.meta_def(internal_name, &block)
+ @face.instance_eval do eval wrapper, nil, file, line end
+ @face.meta_def(internal_name, &block)
end
end
@@ -95,8 +93,8 @@ class Puppet::String::Action
option.aliases.each do |name|
if conflict = get_option(name) then
raise ArgumentError, "Option #{option} conflicts with existing option #{conflict}"
- elsif conflict = @string.get_option(name) then
- raise ArgumentError, "Option #{option} conflicts with existing option #{conflict} on #{@string}"
+ elsif conflict = @face.get_option(name) then
+ raise ArgumentError, "Option #{option} conflicts with existing option #{conflict} on #{@face}"
end
end
@@ -112,10 +110,10 @@ class Puppet::String::Action
end
def options
- (@options.keys + @string.options).sort
+ (@options.keys + @face.options).sort
end
def get_option(name)
- @options[name.to_sym] || @string.get_option(name)
+ @options[name.to_sym] || @face.get_option(name)
end
end
diff --git a/lib/puppet/faces/action_builder.rb b/lib/puppet/faces/action_builder.rb
index e7c0327..a670689 100644
--- a/lib/puppet/faces/action_builder.rb
+++ b/lib/puppet/faces/action_builder.rb
@@ -1,31 +1,31 @@
-require 'puppet/string'
-require 'puppet/string/action'
+require 'puppet/faces'
+require 'puppet/faces/action'
-class Puppet::String::ActionBuilder
+class Puppet::Faces::ActionBuilder
attr_reader :action
- def self.build(string, name, &block)
+ def self.build(face, name, &block)
raise "Action #{name.inspect} must specify a block" unless block
- new(string, name, &block).action
+ new(face, name, &block).action
end
private
- def initialize(string, name, &block)
- @string = string
- @action = Puppet::String::Action.new(string, name)
+ def initialize(face, name, &block)
+ @face = face
+ @action = Puppet::Faces::Action.new(face, name)
instance_eval(&block)
end
# Ideally the method we're defining here would be added to the action, and a
- # method on the string would defer to it, but we can't get scope correct,
- # so we stick with this. --daniel 2011-03-24
+ # method on the face would defer to it, but we can't get scope correct, so
+ # we stick with this. --daniel 2011-03-24
def when_invoked(&block)
raise "when_invoked on an ActionBuilder with no corresponding Action" unless @action
@action.when_invoked = block
end
def option(*declaration, &block)
- option = Puppet::String::OptionBuilder.build(@action, *declaration, &block)
+ option = Puppet::Faces::OptionBuilder.build(@action, *declaration, &block)
@action.add_option(option)
end
end
diff --git a/lib/puppet/faces/action_manager.rb b/lib/puppet/faces/action_manager.rb
index 9f0aa75..6c0036b 100644
--- a/lib/puppet/faces/action_manager.rb
+++ b/lib/puppet/faces/action_manager.rb
@@ -1,12 +1,12 @@
-require 'puppet/string/action_builder'
+require 'puppet/faces/action_builder'
-module Puppet::String::ActionManager
+module Puppet::Faces::ActionManager
# Declare that this app can take a specific action, and provide
# the code to do so.
def action(name, &block)
@actions ||= {}
raise "Action #{name} already defined for #{self}" if action?(name)
- action = Puppet::String::ActionBuilder.build(self, name, &block)
+ action = Puppet::Faces::ActionBuilder.build(self, name, &block)
@actions[action.name] = action
end
@@ -15,7 +15,7 @@ module Puppet::String::ActionManager
def script(name, &block)
@actions ||= {}
raise "Action #{name} already defined for #{self}" if action?(name)
- @actions[name] = Puppet::String::Action.new(self, name, :when_invoked => block)
+ @actions[name] = Puppet::Faces::Action.new(self, name, :when_invoked => block)
end
def actions
diff --git a/lib/puppet/faces/catalog.rb b/lib/puppet/faces/catalog.rb
index 441c7ee..2e2168a 100644
--- a/lib/puppet/faces/catalog.rb
+++ b/lib/puppet/faces/catalog.rb
@@ -1,6 +1,6 @@
-require 'puppet/string/indirector'
+require 'puppet/faces/indirector'
-Puppet::String::Indirector.define(:catalog, '0.0.1') do
+Puppet::Faces::Indirector.define(:catalog, '0.0.1') do
action(:apply) do
when_invoked do |catalog, options|
report = Puppet::Transaction::Report.new("apply")
@@ -28,7 +28,7 @@ Puppet::String::Indirector.define(:catalog, '0.0.1') do
facts_to_upload = {:facts_format => :b64_zlib_yaml, :facts => CGI.escape(facts.render(:b64_zlib_yaml))}
catalog = nil
retrieval_duration = thinmark do
- catalog = Puppet::String[:catalog, '0.0.1'].find(certname, facts_to_upload)
+ catalog = Puppet::Faces[:catalog, '0.0.1'].find(certname, facts_to_upload)
end
catalog = catalog.to_ral
catalog.finalize
diff --git a/lib/puppet/faces/catalog/select.rb b/lib/puppet/faces/catalog/select.rb
index 11670e2..e29d199 100644
--- a/lib/puppet/faces/catalog/select.rb
+++ b/lib/puppet/faces/catalog/select.rb
@@ -1,5 +1,5 @@
# Select and show a list of resources of a given type.
-Puppet::String.define(:catalog, '0.0.1') do
+Puppet::Faces.define(:catalog, '0.0.1') do
action :select do
when_invoked do |host, type, options|
catalog = Puppet::Resource::Catalog.indirection.find(host)
diff --git a/lib/puppet/faces/certificate.rb b/lib/puppet/faces/certificate.rb
index e8773ae..b10bee5 100644
--- a/lib/puppet/faces/certificate.rb
+++ b/lib/puppet/faces/certificate.rb
@@ -1,7 +1,7 @@
-require 'puppet/string/indirector'
+require 'puppet/faces/indirector'
require 'puppet/ssl/host'
-Puppet::String::Indirector.define(:certificate, '0.0.1') do
+Puppet::Faces::Indirector.define(:certificate, '0.0.1') do
# REVISIT: This should use a pre-invoke hook to run the common code that
# needs to happen before we invoke any action; that would be much nicer than
# the "please repeat yourself" stuff found in here right now.
diff --git a/lib/puppet/faces/certificate_request.rb b/lib/puppet/faces/certificate_request.rb
index 218b40b..5e91bdb 100644
--- a/lib/puppet/faces/certificate_request.rb
+++ b/lib/puppet/faces/certificate_request.rb
@@ -1,4 +1,4 @@
-require 'puppet/string/indirector'
+require 'puppet/faces/indirector'
-Puppet::String::Indirector.define(:certificate_request, '0.0.1') do
+Puppet::Faces::Indirector.define(:certificate_request, '0.0.1') do
end
diff --git a/lib/puppet/faces/certificate_revocation_list.rb b/lib/puppet/faces/certificate_revocation_list.rb
index 9731b4f..2f2d728 100644
--- a/lib/puppet/faces/certificate_revocation_list.rb
+++ b/lib/puppet/faces/certificate_revocation_list.rb
@@ -1,4 +1,4 @@
-require 'puppet/string/indirector'
+require 'puppet/faces/indirector'
-Puppet::String::Indirector.define(:certificate_revocation_list, '0.0.1') do
+Puppet::Faces::Indirector.define(:certificate_revocation_list, '0.0.1') do
end
diff --git a/lib/puppet/faces/config.rb b/lib/puppet/faces/config.rb
index 8a94171..647bf50 100644
--- a/lib/puppet/faces/config.rb
+++ b/lib/puppet/faces/config.rb
@@ -1,6 +1,6 @@
-require 'puppet/string'
+require 'puppet/faces'
-Puppet::String.define(:config, '0.0.1') do
+Puppet::Faces.define(:config, '0.0.1') do
action(:print) do
when_invoked do |*args|
options = args.pop
diff --git a/lib/puppet/faces/configurer.rb b/lib/puppet/faces/configurer.rb
index 257f97e..d409876 100644
--- a/lib/puppet/faces/configurer.rb
+++ b/lib/puppet/faces/configurer.rb
@@ -1,11 +1,11 @@
-require 'puppet/string'
+require 'puppet/faces'
-Puppet::String.define(:configurer, '0.0.1') do
+Puppet::Faces.define(:configurer, '0.0.1') do
action(:synchronize) do
when_invoked do |certname, options|
- facts = Puppet::String[:facts, '0.0.1'].find(certname)
- catalog = Puppet::String[:catalog, '0.0.1'].download(certname, facts)
- report = Puppet::String[:catalog, '0.0.1'].apply(catalog)
+ facts = Puppet::Faces[:facts, '0.0.1'].find(certname)
+ catalog = Puppet::Faces[:catalog, '0.0.1'].download(certname, facts)
+ report = Puppet::Faces[:catalog, '0.0.1'].apply(catalog)
report
end
end
diff --git a/lib/puppet/faces/faces_collection.rb b/lib/puppet/faces/face_collection.rb
similarity index 75%
rename from lib/puppet/faces/faces_collection.rb
rename to lib/puppet/faces/face_collection.rb
index ecd9935..e6ee709 100644
--- a/lib/puppet/faces/faces_collection.rb
+++ b/lib/puppet/faces/face_collection.rb
@@ -1,18 +1,20 @@
# -*- coding: utf-8 -*-
-require 'puppet/string'
+require 'puppet/faces'
-module Puppet::String::StringCollection
+module Puppet::Faces::FaceCollection
SEMVER_VERSION = /^(\d+)\.(\d+)\.(\d+)([A-Za-z][0-9A-Za-z-]*|)$/
- @strings = Hash.new { |hash, key| hash[key] = {} }
+ @faces = Hash.new { |hash, key| hash[key] = {} }
- def self.strings
+ def self.faces
unless @loaded
@loaded = true
$LOAD_PATH.each do |dir|
next unless FileTest.directory?(dir)
Dir.chdir(dir) do
- Dir.glob("puppet/string/v*/*.rb").collect { |f| f.sub(/\.rb/, '') }.each do |file|
+ # REVISIT: This is wrong!!!! We don't name files like that ever,
+ # so we should no longer match things like this. Damnit!!! --daniel 2011-04-07
+ Dir.glob("puppet/faces/v*/*.rb").collect { |f| f.sub(/\.rb/, '') }.each do |file|
iname = file.sub(/\.rb/, '')
begin
require iname
@@ -24,14 +26,14 @@ module Puppet::String::StringCollection
end
end
end
- return @strings.keys
+ return @faces.keys
end
def self.validate_version(version)
!!(SEMVER_VERSION =~ version.to_s)
end
- def self.cmp_versions(a, b)
+ def self.cmp_semver(a, b)
a, b = [a, b].map do |x|
parts = SEMVER_VERSION.match(x).to_a[1..4]
parts[0..2] = parts[0..2].map { |e| e.to_i }
@@ -48,12 +50,12 @@ module Puppet::String::StringCollection
end
def self.[](name, version)
- @strings[underscorize(name)][version] if string?(name, version)
+ @faces[underscorize(name)][version] if face?(name, version)
end
- def self.string?(name, version)
+ def self.face?(name, version)
name = underscorize(name)
- return true if @strings[name].has_key?(version)
+ return true if @faces[name].has_key?(version)
# We always load the current version file; the common case is that we have
# the expected version and any compatibility versions in the same file,
@@ -62,14 +64,14 @@ module Puppet::String::StringCollection
# We use require to avoid executing the code multiple times, like any
# other Ruby library that we might want to use. --daniel 2011-04-06
begin
- require "puppet/string/#{name}"
+ require "puppet/faces/#{name}"
# If we wanted :current, we need to index to find that; direct version
# requests just work™ as they go. --daniel 2011-04-06
if version == :current then
# We need to find current out of this. This is the largest version
# number that doesn't have a dedicated on-disk file present; those
- # represent "experimental" versions of strings, which we don't fully
+ # represent "experimental" versions of faces, which we don't fully
# support yet.
#
# We walk the versions from highest to lowest and take the first version
@@ -92,30 +94,30 @@ module Puppet::String::StringCollection
# versions here and return the last item in that set.
#
# --daniel 2011-04-06
- latest_ver = @strings[name].keys.sort {|a, b| cmp_versions(a, b) }.last
- @strings[name][:current] = @strings[name][latest_ver]
+ latest_ver = @faces[name].keys.sort {|a, b| cmp_semver(a, b) }.last
+ @faces[name][:current] = @faces[name][latest_ver]
end
rescue LoadError => e
- raise unless e.message =~ %r{-- puppet/string/#{name}$}
+ raise unless e.message =~ %r{-- puppet/faces/#{name}$}
# ...guess we didn't find the file; return a much better problem.
end
- # Now, either we have the version in our set of strings, or we didn't find
+ # Now, either we have the version in our set of faces, or we didn't find
# the version they were looking for. In the future we will support
# loading versioned stuff from some look-aside part of the Ruby load path,
# but we don't need that right now.
#
# So, this comment is a place-holder for that. --daniel 2011-04-06
- return !! @strings[name].has_key?(version)
+ return !! @faces[name].has_key?(version)
end
- def self.register(string)
- @strings[underscorize(string.name)][string.version] = string
+ def self.register(face)
+ @faces[underscorize(face.name)][face.version] = face
end
def self.underscorize(name)
unless name.to_s =~ /^[-_a-z]+$/i then
- raise ArgumentError, "#{name.inspect} (#{name.class}) is not a valid string name"
+ raise ArgumentError, "#{name.inspect} (#{name.class}) is not a valid face name"
end
name.to_s.downcase.split(/[-_]/).join('_').to_sym
diff --git a/lib/puppet/faces/facts.rb b/lib/puppet/faces/facts.rb
index 6bd9904..33eacef 100644
--- a/lib/puppet/faces/facts.rb
+++ b/lib/puppet/faces/facts.rb
@@ -1,7 +1,7 @@
-require 'puppet/string/indirector'
+require 'puppet/faces/indirector'
require 'puppet/node/facts'
-Puppet::String::Indirector.define(:facts, '0.0.1') do
+Puppet::Faces::Indirector.define(:facts, '0.0.1') do
set_default_format :yaml
# Upload our facts to the server
diff --git a/lib/puppet/faces/file.rb b/lib/puppet/faces/file.rb
index cc5737f..e8ad18c 100644
--- a/lib/puppet/faces/file.rb
+++ b/lib/puppet/faces/file.rb
@@ -1,5 +1,5 @@
-require 'puppet/string/indirector'
+require 'puppet/faces/indirector'
-Puppet::String::Indirector.define(:file, '0.0.1') do
+Puppet::Faces::Indirector.define(:file, '0.0.1') do
set_indirection_name :file_bucket_file
end
diff --git a/lib/puppet/faces/indirector.rb b/lib/puppet/faces/indirector.rb
index 0c7d043..f722600 100644
--- a/lib/puppet/faces/indirector.rb
+++ b/lib/puppet/faces/indirector.rb
@@ -1,7 +1,7 @@
require 'puppet'
-require 'puppet/string'
+require 'puppet/faces'
-class Puppet::String::Indirector < Puppet::String
+class Puppet::Faces::Indirector < Puppet::Faces
option "--terminus TERMINUS" do
desc "REVISIT: You can select a terminus, which has some bigger effect
that we should describe in this file somehow."
@@ -68,13 +68,13 @@ that we should describe in this file somehow."
@indirection_name || name.to_sym
end
- # Here's your opportunity to override the indirection name. By default
- # it will be the same name as the string.
+ # Here's your opportunity to override the indirection name. By default it
+ # will be the same name as the face.
def set_indirection_name(name)
@indirection_name = name
end
- # Return an indirection associated with an string, if one exists
+ # Return an indirection associated with a face, if one exists;
# One usually does.
def indirection
unless @indirection
diff --git a/lib/puppet/faces/key.rb b/lib/puppet/faces/key.rb
index 95acead..7b6ad52 100644
--- a/lib/puppet/faces/key.rb
+++ b/lib/puppet/faces/key.rb
@@ -1,4 +1,4 @@
-require 'puppet/string/indirector'
+require 'puppet/faces/indirector'
-Puppet::String::Indirector.define(:key, '0.0.1') do
+Puppet::Faces::Indirector.define(:key, '0.0.1') do
end
diff --git a/lib/puppet/faces/node.rb b/lib/puppet/faces/node.rb
index bc31a2c..7eed0df 100644
--- a/lib/puppet/faces/node.rb
+++ b/lib/puppet/faces/node.rb
@@ -1,5 +1,5 @@
-require 'puppet/string/indirector'
+require 'puppet/faces/indirector'
-Puppet::String::Indirector.define(:node, '0.0.1') do
+Puppet::Faces::Indirector.define(:node, '0.0.1') do
set_default_format :yaml
end
diff --git a/lib/puppet/faces/option.rb b/lib/puppet/faces/option.rb
index 352f7e5..7d3ed37 100644
--- a/lib/puppet/faces/option.rb
+++ b/lib/puppet/faces/option.rb
@@ -1,6 +1,6 @@
-require 'puppet/string'
+require 'puppet/faces'
-class Puppet::String::Option
+class Puppet::Faces::Option
attr_reader :parent
attr_reader :name
attr_reader :aliases
@@ -65,8 +65,8 @@ class Puppet::String::Option
end
# to_s and optparse_to_name are roughly mirrored, because they are used to
- # transform strings to name symbols, and vice-versa. This isn't a full
- # bidirectional transformation though.
+ # transform options to name symbols, and vice-versa. This isn't a full
+ # bidirectional transformation though. --daniel 2011-04-07
def to_s
@name.to_s.tr('_', '-')
end
diff --git a/lib/puppet/faces/option_builder.rb b/lib/puppet/faces/option_builder.rb
index da0d213..0b66675 100644
--- a/lib/puppet/faces/option_builder.rb
+++ b/lib/puppet/faces/option_builder.rb
@@ -1,22 +1,22 @@
-require 'puppet/string/option'
+require 'puppet/faces/option'
-class Puppet::String::OptionBuilder
+class Puppet::Faces::OptionBuilder
attr_reader :option
- def self.build(string, *declaration, &block)
- new(string, *declaration, &block).option
+ def self.build(face, *declaration, &block)
+ new(face, *declaration, &block).option
end
private
- def initialize(string, *declaration, &block)
- @string = string
- @option = Puppet::String::Option.new(string, *declaration)
+ def initialize(face, *declaration, &block)
+ @face = face
+ @option = Puppet::Faces::Option.new(face, *declaration)
block and instance_eval(&block)
@option
end
# Metaprogram the simple DSL from the option class.
- Puppet::String::Option.instance_methods.grep(/=$/).each do |setter|
+ Puppet::Faces::Option.instance_methods.grep(/=$/).each do |setter|
next if setter =~ /^=/ # special case, darn it...
dsl = setter.sub(/=$/, '')
diff --git a/lib/puppet/faces/option_manager.rb b/lib/puppet/faces/option_manager.rb
index f952ad4..02a73af 100644
--- a/lib/puppet/faces/option_manager.rb
+++ b/lib/puppet/faces/option_manager.rb
@@ -1,10 +1,10 @@
-require 'puppet/string/option_builder'
+require 'puppet/faces/option_builder'
-module Puppet::String::OptionManager
+module Puppet::Faces::OptionManager
# Declare that this app can take a specific option, and provide
# the code to do so.
def option(*declaration, &block)
- add_option Puppet::String::OptionBuilder.build(self, *declaration, &block)
+ add_option Puppet::Faces::OptionBuilder.build(self, *declaration, &block)
end
def add_option(option)
diff --git a/lib/puppet/faces/report.rb b/lib/puppet/faces/report.rb
index da3ca85..23a5189 100644
--- a/lib/puppet/faces/report.rb
+++ b/lib/puppet/faces/report.rb
@@ -1,6 +1,6 @@
-require 'puppet/string/indirector'
+require 'puppet/faces/indirector'
-Puppet::String::Indirector.define(:report, '0.0.1') do
+Puppet::Faces::Indirector.define(:report, '0.0.1') do
action(:submit) do
when_invoked do |report, options|
begin
diff --git a/lib/puppet/faces/resource.rb b/lib/puppet/faces/resource.rb
index 9838be0..60b0d94 100644
--- a/lib/puppet/faces/resource.rb
+++ b/lib/puppet/faces/resource.rb
@@ -1,4 +1,4 @@
-require 'puppet/string/indirector'
+require 'puppet/faces/indirector'
-Puppet::String::Indirector.define(:resource, '0.0.1') do
+Puppet::Faces::Indirector.define(:resource, '0.0.1') do
end
diff --git a/lib/puppet/faces/resource_type.rb b/lib/puppet/faces/resource_type.rb
index 8ca31ea..4321d65 100644
--- a/lib/puppet/faces/resource_type.rb
+++ b/lib/puppet/faces/resource_type.rb
@@ -1,4 +1,4 @@
-require 'puppet/string/indirector'
+require 'puppet/faces/indirector'
-Puppet::String::Indirector.define(:resource_type, '0.0.1') do
+Puppet::Faces::Indirector.define(:resource_type, '0.0.1') do
end
diff --git a/lib/puppet/faces/status.rb b/lib/puppet/faces/status.rb
index 41de2bb..e035f28 100644
--- a/lib/puppet/faces/status.rb
+++ b/lib/puppet/faces/status.rb
@@ -1,4 +1,4 @@
-require 'puppet/string/indirector'
+require 'puppet/faces/indirector'
-Puppet::String::Indirector.define(:status, '0.0.1') do
+Puppet::Faces::Indirector.define(:status, '0.0.1') do
end
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index bb71fca..3c8cd4f 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(dir, dir + 'lib', dir + '../lib')
require 'mocha'
require 'puppet'
-require 'puppet/string'
+require 'puppet/faces'
require 'rspec'
Pathname.glob("#{dir}/shared_behaviours/**/*.rb") do |behaviour|
@@ -28,7 +28,7 @@ RSpec.configure do |config|
@load_path_scratch_dir = Dir.mktmpdir
$LOAD_PATH.push @load_path_scratch_dir
- FileUtils.mkdir_p(File.join @load_path_scratch_dir, 'puppet', 'string')
+ FileUtils.mkdir_p(File.join @load_path_scratch_dir, 'puppet', 'faces')
end
config.after :each do
@@ -41,10 +41,10 @@ RSpec.configure do |config|
FileUtils.remove_entry_secure @load_path_scratch_dir
end
- def write_scratch_string(name)
+ def write_scratch_faces(name)
fail "you need to supply a block: do |fh| fh.puts 'content' end" unless block_given?
fail "name should be a symbol" unless name.is_a? Symbol
- filename = File.join(@load_path_scratch_dir, 'puppet', 'string', "#{name}.rb")
+ filename = File.join(@load_path_scratch_dir, 'puppet', 'faces', "#{name}.rb")
File.open(filename, 'w') do |fh|
yield fh
end
diff --git a/spec/unit/application/certificate_spec.rb b/spec/unit/application/certificate_spec.rb
index 3d2215d..6153d95 100755
--- a/spec/unit/application/certificate_spec.rb
+++ b/spec/unit/application/certificate_spec.rb
@@ -1,12 +1,9 @@
-#!/usr/bin/env ruby
-
-require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper.rb')
require 'puppet/application/certificate'
describe Puppet::Application::Certificate do
it "should have a 'ca-location' option" do
- # REVISIT: This is delegated from the string, and we will have a test
- # there, so is this actually a valuable test?
+ # REVISIT: This is delegated from the face, and we will have a test there,
+ # so is this actually a valuable test? --daniel 2011-04-07
subject.command_line.stubs(:args).returns %w{list}
subject.preinit
subject.should respond_to(:handle_ca_location)
diff --git a/spec/unit/application/config_spec.rb b/spec/unit/application/config_spec.rb
index a45adc8..066df6a 100755
--- a/spec/unit/application/config_spec.rb
+++ b/spec/unit/application/config_spec.rb
@@ -4,7 +4,7 @@ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper.rb')
require 'puppet/application/config'
describe Puppet::Application::Config do
- it "should be a subclass of Puppet::Application::StringBase" do
- Puppet::Application::Config.superclass.should equal(Puppet::Application::StringBase)
+ it "should be a subclass of Puppet::Application::FacesBase" do
+ Puppet::Application::Config.superclass.should equal(Puppet::Application::FacesBase)
end
end
diff --git a/spec/unit/application/faces_base_spec.rb b/spec/unit/application/faces_base_spec.rb
index 3f8ae73..6d8815f 100755
--- a/spec/unit/application/faces_base_spec.rb
+++ b/spec/unit/application/faces_base_spec.rb
@@ -1,22 +1,22 @@
#!/usr/bin/env ruby
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper.rb')
-require 'puppet/application/string_base'
+require 'puppet/application/faces_base'
require 'tmpdir'
-class Puppet::Application::StringBase::Basetest < Puppet::Application::StringBase
+class Puppet::Application::FacesBase::Basetest < Puppet::Application::FacesBase
end
-describe Puppet::Application::StringBase do
+describe Puppet::Application::FacesBase do
before :all do
@dir = Dir.mktmpdir
$LOAD_PATH.push(@dir)
- FileUtils.mkdir_p(File.join @dir, 'puppet', 'string')
- File.open(File.join(@dir, 'puppet', 'string', 'basetest.rb'), 'w') do |f|
- f.puts "Puppet::String.define(:basetest, '0.0.1')"
+ FileUtils.mkdir_p(File.join @dir, 'puppet', 'faces')
+ File.open(File.join(@dir, 'puppet', 'faces', 'basetest.rb'), 'w') do |f|
+ f.puts "Puppet::Faces.define(:basetest, '0.0.1')"
end
- Puppet::String.define(:basetest, '0.0.1') do
+ Puppet::Faces.define(:basetest, '0.0.1') do
option("--[no-]boolean")
option("--mandatory MANDATORY")
option("--optional [OPTIONAL]")
@@ -34,7 +34,7 @@ describe Puppet::Application::StringBase do
end
let :app do
- app = Puppet::Application::StringBase::Basetest.new
+ app = Puppet::Application::FacesBase::Basetest.new
app.stubs(:exit)
app.stubs(:puts)
app.command_line.stubs(:subcommand_name).returns 'subcommand'
@@ -63,11 +63,11 @@ describe Puppet::Application::StringBase do
app.preinit
end
- it "should set the string based on the type" do
- app.string.name.should == :basetest
+ it "should set the faces based on the type" do
+ app.face.name.should == :basetest
end
- it "should set the format based on the string default" do
+ it "should set the format based on the faces default" do
app.format.should == :pson
end
@@ -104,7 +104,7 @@ describe Puppet::Application::StringBase do
app.command_line.stubs(:args).returns %w{foo --bar}
app.preinit
app.action.name.should == :foo
- app.string.should_not be_option :bar
+ app.face.should_not be_option :bar
app.action.should_not be_option :bar
end
@@ -166,14 +166,14 @@ describe Puppet::Application::StringBase do
describe "#main" do
before do
- app.string = Puppet::String[:basetest, '0.0.1']
- app.action = app.string.get_action(:foo)
+ app.face = Puppet::Faces[:basetest, '0.0.1']
+ app.action = app.face.get_action(:foo)
app.format = :pson
app.arguments = ["myname", "myarg"]
end
- it "should send the specified verb and name to the string" do
- app.string.expects(:foo).with(*app.arguments)
+ it "should send the specified verb and name to the faces" do
+ app.face.expects(:foo).with(*app.arguments)
app.main
end
diff --git a/spec/unit/application/faces_spec.rb b/spec/unit/application/faces_spec.rb
index 13af0a5..d945c40 100755
--- a/spec/unit/application/faces_spec.rb
+++ b/spec/unit/application/faces_spec.rb
@@ -1,10 +1,10 @@
#!/usr/bin/env ruby
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper.rb')
-require 'puppet/application/string'
+require 'puppet/application/faces'
-describe Puppet::Application::String do
+describe Puppet::Application::Faces do
it "should be an application" do
- Puppet::Application::String.superclass.should equal(Puppet::Application)
+ Puppet::Application::Faces.superclass.should equal(Puppet::Application)
end
end
diff --git a/spec/unit/application/indirection_base_spec.rb b/spec/unit/application/indirection_base_spec.rb
index 66b3009..a73cf4f 100755
--- a/spec/unit/application/indirection_base_spec.rb
+++ b/spec/unit/application/indirection_base_spec.rb
@@ -2,19 +2,19 @@
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper.rb')
require 'puppet/application/indirection_base'
-require 'puppet/string/indirector'
+require 'puppet/faces/indirector'
########################################################################
# Stub for testing; the names are critical, sadly. --daniel 2011-03-30
class Puppet::Application::TestIndirection < Puppet::Application::IndirectionBase
end
-string = Puppet::String::Indirector.define(:testindirection, '0.0.1') do
+face = Puppet::Faces::Indirector.define(:testindirection, '0.0.1') do
end
# REVISIT: This horror is required because we don't allow anything to be
# :current except for if it lives on, and is loaded from, disk. --daniel 2011-03-29
-string.version = :current
-Puppet::String.register(string)
+face.version = :current
+Puppet::Faces.register(face)
########################################################################
diff --git a/spec/unit/faces/action_builder_spec.rb b/spec/unit/faces/action_builder_spec.rb
index 5f6f1c0..5c8b988 100755
--- a/spec/unit/faces/action_builder_spec.rb
+++ b/spec/unit/faces/action_builder_spec.rb
@@ -1,53 +1,53 @@
#!/usr/bin/env ruby
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper.rb')
-require 'puppet/string/action_builder'
+require 'puppet/faces/action_builder'
-describe Puppet::String::ActionBuilder do
+describe Puppet::Faces::ActionBuilder do
describe "::build" do
it "should build an action" do
- action = Puppet::String::ActionBuilder.build(nil, :foo) do
+ action = Puppet::Faces::ActionBuilder.build(nil, :foo) do
end
- action.should be_a(Puppet::String::Action)
+ action.should be_a(Puppet::Faces::Action)
action.name.should == :foo
end
- it "should define a method on the string which invokes the action" do
- string = Puppet::String.new(:action_builder_test_string, '0.0.1')
- action = Puppet::String::ActionBuilder.build(string, :foo) do
+ it "should define a method on the face which invokes the action" do
+ face = Puppet::Faces.new(:action_builder_test_faces, '0.0.1')
+ action = Puppet::Faces::ActionBuilder.build(face, :foo) do
when_invoked do
"invoked the method"
end
end
- string.foo.should == "invoked the method"
+ face.foo.should == "invoked the method"
end
it "should require a block" do
- lambda { Puppet::String::ActionBuilder.build(nil, :foo) }.
+ expect { Puppet::Faces::ActionBuilder.build(nil, :foo) }.
should raise_error("Action :foo must specify a block")
end
describe "when handling options" do
- let :string do Puppet::String.new(:option_handling, '0.0.1') end
+ let :face do Puppet::Faces.new(:option_handling, '0.0.1') end
it "should have a #option DSL function" do
method = nil
- Puppet::String::ActionBuilder.build(string, :foo) do
+ Puppet::Faces::ActionBuilder.build(face, :foo) do
method = self.method(:option)
end
method.should be
end
it "should define an option without a block" do
- action = Puppet::String::ActionBuilder.build(string, :foo) do
+ action = Puppet::Faces::ActionBuilder.build(face, :foo) do
option "--bar"
end
action.should be_option :bar
end
it "should accept an empty block" do
- action = Puppet::String::ActionBuilder.build(string, :foo) do
+ action = Puppet::Faces::ActionBuilder.build(face, :foo) do
option "--bar" do
# This space left deliberately blank.
end
diff --git a/spec/unit/faces/action_manager_spec.rb b/spec/unit/faces/action_manager_spec.rb
index b8baf80..61d1c1d 100755
--- a/spec/unit/faces/action_manager_spec.rb
+++ b/spec/unit/faces/action_manager_spec.rb
@@ -2,14 +2,14 @@
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper.rb')
-# This is entirely an internal class for String, so we have to load it instead of our class.
-require 'puppet/string'
+# This is entirely an internal class for Faces, so we have to load it instead of our class.
+require 'puppet/faces'
class ActionManagerTester
- include Puppet::String::ActionManager
+ include Puppet::Faces::ActionManager
end
-describe Puppet::String::ActionManager do
+describe Puppet::Faces::ActionManager do
subject { ActionManagerTester.new }
describe "when included in a class" do
@@ -73,7 +73,7 @@ describe Puppet::String::ActionManager do
end
describe "when used to extend a class" do
- subject { Class.new.extend(Puppet::String::ActionManager) }
+ subject { Class.new.extend(Puppet::Faces::ActionManager) }
it "should be able to define an action" do
subject.action(:foo) do
@@ -102,8 +102,8 @@ describe Puppet::String::ActionManager do
describe "when used both at the class and instance level" do
before do
@klass = Class.new do
- include Puppet::String::ActionManager
- extend Puppet::String::ActionManager
+ include Puppet::Faces::ActionManager
+ extend Puppet::Faces::ActionManager
end
@instance = @klass.new
end
@@ -216,7 +216,7 @@ describe Puppet::String::ActionManager do
describe "#get_action" do
let :parent_class do
- parent_class = Class.new(Puppet::String)
+ parent_class = Class.new(Puppet::Faces)
parent_class.action(:foo) {}
parent_class
end
diff --git a/spec/unit/faces/action_spec.rb b/spec/unit/faces/action_spec.rb
index b6fe87a..c087744 100755
--- a/spec/unit/faces/action_spec.rb
+++ b/spec/unit/faces/action_spec.rb
@@ -1,13 +1,13 @@
#!/usr/bin/env ruby
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper.rb')
-require 'puppet/string/action'
+require 'puppet/faces/action'
-describe Puppet::String::Action do
+describe Puppet::Faces::Action do
describe "when validating the action name" do
[nil, '', 'foo bar', '-foobar'].each do |input|
it "should treat #{input.inspect} as an invalid name" do
- expect { Puppet::String::Action.new(nil, input) }.
+ expect { Puppet::Faces::Action.new(nil, input) }.
should raise_error(/is an invalid action name/)
end
end
@@ -15,7 +15,7 @@ describe Puppet::String::Action do
describe "when invoking" do
it "should be able to call other actions on the same object" do
- string = Puppet::String.new(:my_string, '0.0.1') do
+ face = Puppet::Faces.new(:my_face, '0.0.1') do
action(:foo) do
when_invoked { 25 }
end
@@ -24,8 +24,8 @@ describe Puppet::String::Action do
when_invoked { "the value of foo is '#{foo}'" }
end
end
- string.foo.should == 25
- string.bar.should == "the value of foo is '25'"
+ face.foo.should == 25
+ face.bar.should == "the value of foo is '25'"
end
# bar is a class action calling a class action
@@ -33,7 +33,7 @@ describe Puppet::String::Action do
# baz is an instance action calling a class action
# qux is an instance action calling an instance action
it "should be able to call other actions on the same object when defined on a class" do
- class Puppet::String::MyStringBaseClass < Puppet::String
+ class Puppet::Faces::MyFacesBaseClass < Puppet::Faces
action(:foo) do
when_invoked { 25 }
end
@@ -47,7 +47,7 @@ describe Puppet::String::Action do
end
end
- string = Puppet::String::MyStringBaseClass.new(:my_inherited_string, '0.0.1') do
+ face = Puppet::Faces::MyFacesBaseClass.new(:my_inherited_face, '0.0.1') do
action(:baz) do
when_invoked { "the value of foo in baz is '#{foo}'" }
end
@@ -56,16 +56,16 @@ describe Puppet::String::Action do
when_invoked { baz }
end
end
- string.foo.should == 25
- string.bar.should == "the value of foo is '25'"
- string.quux.should == "qux told me the value of foo in baz is '25'"
- string.baz.should == "the value of foo in baz is '25'"
- string.qux.should == "the value of foo in baz is '25'"
+ face.foo.should == 25
+ face.bar.should == "the value of foo is '25'"
+ face.quux.should == "qux told me the value of foo in baz is '25'"
+ face.baz.should == "the value of foo in baz is '25'"
+ face.qux.should == "the value of foo in baz is '25'"
end
context "when calling the Ruby API" do
- let :string do
- Puppet::String.new(:ruby_api, '1.0.0') do
+ let :face do
+ Puppet::Faces.new(:ruby_api, '1.0.0') do
action :bar do
when_invoked do |options|
options
@@ -75,12 +75,12 @@ describe Puppet::String::Action do
end
it "should work when no options are supplied" do
- options = string.bar
+ options = face.bar
options.should == {}
end
it "should work when options are supplied" do
- options = string.bar :bar => "beer"
+ options = face.bar :bar => "beer"
options.should == { :bar => "beer" }
end
end
@@ -88,7 +88,7 @@ describe Puppet::String::Action do
describe "with action-level options" do
it "should support options with an empty block" do
- string = Puppet::String.new(:action_level_options, '0.0.1') do
+ face = Puppet::Faces.new(:action_level_options, '0.0.1') do
action :foo do
option "--bar" do
# this line left deliberately blank
@@ -96,33 +96,33 @@ describe Puppet::String::Action do
end
end
- string.should_not be_option :bar
- string.get_action(:foo).should be_option :bar
+ face.should_not be_option :bar
+ face.get_action(:foo).should be_option :bar
end
- it "should return only action level options when there are no string options" do
- string = Puppet::String.new(:action_level_options, '0.0.1') do
+ it "should return only action level options when there are no face options" do
+ face = Puppet::Faces.new(:action_level_options, '0.0.1') do
action :foo do option "--bar" end
end
- string.get_action(:foo).options.should =~ [:bar]
+ face.get_action(:foo).options.should =~ [:bar]
end
- describe "with both string and action options" do
- let :string do
- Puppet::String.new(:action_level_options, '0.0.1') do
+ describe "with both face and action options" do
+ let :face do
+ Puppet::Faces.new(:action_level_options, '0.0.1') do
action :foo do option "--bar" end
action :baz do option "--bim" end
option "--quux"
end
end
- it "should return combined string and action options" do
- string.get_action(:foo).options.should =~ [:bar, :quux]
+ it "should return combined face and action options" do
+ face.get_action(:foo).options.should =~ [:bar, :quux]
end
- it "should fetch options that the string inherited" do
- parent = Class.new(Puppet::String)
+ it "should fetch options that the face inherited" do
+ parent = Class.new(Puppet::Faces)
parent.option "--foo"
child = parent.new(:inherited_options, '0.0.1') do
option "--bar"
@@ -133,37 +133,37 @@ describe Puppet::String::Action do
action.should be
[:baz, :bar, :foo].each do |name|
- action.get_option(name).should be_an_instance_of Puppet::String::Option
+ action.get_option(name).should be_an_instance_of Puppet::Faces::Option
end
end
it "should get an action option when asked" do
- string.get_action(:foo).get_option(:bar).
- should be_an_instance_of Puppet::String::Option
+ face.get_action(:foo).get_option(:bar).
+ should be_an_instance_of Puppet::Faces::Option
end
- it "should get a string option when asked" do
- string.get_action(:foo).get_option(:quux).
- should be_an_instance_of Puppet::String::Option
+ it "should get a face option when asked" do
+ face.get_action(:foo).get_option(:quux).
+ should be_an_instance_of Puppet::Faces::Option
end
it "should return options only for this action" do
- string.get_action(:baz).options.should =~ [:bim, :quux]
+ face.get_action(:baz).options.should =~ [:bim, :quux]
end
end
it_should_behave_like "things that declare options" do
def add_options_to(&block)
- string = Puppet::String.new(:with_options, '0.0.1') do
+ face = Puppet::Faces.new(:with_options, '0.0.1') do
action(:foo, &block)
end
- string.get_action(:foo)
+ face.get_action(:foo)
end
end
- it "should fail when a string option duplicates an action option" do
+ it "should fail when a face option duplicates an action option" do
expect {
- Puppet::String.new(:action_level_options, '0.0.1') do
+ Puppet::Faces.new(:action_level_options, '0.0.1') do
option "--foo"
action :bar do option "--foo" end
end
diff --git a/spec/unit/faces/catalog_spec.rb b/spec/unit/faces/catalog_spec.rb
index 70dadd5..7621a86 100755
--- a/spec/unit/faces/catalog_spec.rb
+++ b/spec/unit/faces/catalog_spec.rb
@@ -2,5 +2,5 @@
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper.rb')
-describe Puppet::String[:catalog, '0.0.1'] do
+describe Puppet::Faces[:catalog, '0.0.1'] do
end
diff --git a/spec/unit/faces/certificate_request_spec.rb b/spec/unit/faces/certificate_request_spec.rb
index d0a8288..637ea8c 100755
--- a/spec/unit/faces/certificate_request_spec.rb
+++ b/spec/unit/faces/certificate_request_spec.rb
@@ -2,5 +2,5 @@
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper.rb')
-describe Puppet::String[:certificate_request, '0.0.1'] do
+describe Puppet::Faces[:certificate_request, '0.0.1'] do
end
diff --git a/spec/unit/faces/certificate_revocation_list_spec.rb b/spec/unit/faces/certificate_revocation_list_spec.rb
index 9168fb8..e319b18 100755
--- a/spec/unit/faces/certificate_revocation_list_spec.rb
+++ b/spec/unit/faces/certificate_revocation_list_spec.rb
@@ -2,5 +2,5 @@
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper.rb')
-describe Puppet::String[:certificate_revocation_list, '0.0.1'] do
+describe Puppet::Faces[:certificate_revocation_list, '0.0.1'] do
end
diff --git a/spec/unit/faces/certificate_spec.rb b/spec/unit/faces/certificate_spec.rb
index 9fdc5aa..ba264f9 100755
--- a/spec/unit/faces/certificate_spec.rb
+++ b/spec/unit/faces/certificate_spec.rb
@@ -1,12 +1,12 @@
require 'puppet/ssl/host'
-describe Puppet::String[:certificate, '0.0.1'] do
+describe Puppet::Faces[:certificate, '0.0.1'] do
it "should have a ca-location option" do
subject.should be_option :ca_location
end
it "should set the ca location when invoked" do
- pending "#6983: This is broken in the actual string..."
+ pending "#6983: This is broken in the actual faces..."
Puppet::SSL::Host.expects(:ca_location=).with(:foo)
Puppet::SSL::Host.indirection.expects(:save)
subject.sign :ca_location => :foo
diff --git a/spec/unit/faces/config_spec.rb b/spec/unit/faces/config_spec.rb
index 9919fef..2eb04a8 100755
--- a/spec/unit/faces/config_spec.rb
+++ b/spec/unit/faces/config_spec.rb
@@ -2,7 +2,7 @@
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper.rb')
-describe Puppet::String[:config, '0.0.1'] do
+describe Puppet::Faces[:config, '0.0.1'] do
it "should use Settings#print_config_options when asked to print" do
Puppet.settings.stubs(:puts)
Puppet.settings.expects(:print_config_options)
diff --git a/spec/unit/faces/configurer_spec.rb b/spec/unit/faces/configurer_spec.rb
index 1b428ef..270888c 100755
--- a/spec/unit/faces/configurer_spec.rb
+++ b/spec/unit/faces/configurer_spec.rb
@@ -4,7 +4,7 @@ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper.rb')
require 'puppet/indirector/catalog/rest'
require 'tempfile'
-describe Puppet::String[:configurer, '0.0.1'] do
+describe Puppet::Faces[:configurer, '0.0.1'] do
describe "#synchronize" do
it "should retrieve and apply a catalog and return a report" do
dirname = Dir.mktmpdir("puppetdir")
diff --git a/spec/unit/faces/faces_collection_spec.rb b/spec/unit/faces/face_collection_spec.rb
similarity index 52%
rename from spec/unit/faces/faces_collection_spec.rb
rename to spec/unit/faces/face_collection_spec.rb
index fab647d..30147a5 100755
--- a/spec/unit/faces/faces_collection_spec.rb
+++ b/spec/unit/faces/face_collection_spec.rb
@@ -3,22 +3,22 @@
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper.rb')
require 'tmpdir'
-describe Puppet::String::StringCollection do
+describe Puppet::Faces::FaceCollection do
# To avoid cross-pollution we have to save and restore both the hash
- # containing all the string data, and the array used by require. Restoring
+ # containing all the faces data, and the array used by require. Restoring
# both means that we don't leak side-effects across the code. --daniel 2011-04-06
before :each do
- @original_strings = subject.instance_variable_get("@strings").dup
+ @original_faces = subject.instance_variable_get("@faces").dup
@original_required = $".dup
- subject.instance_variable_get("@strings").clear
+ subject.instance_variable_get("@faces").clear
end
after :each do
- subject.instance_variable_set("@strings", @original_strings)
+ subject.instance_variable_set("@faces", @original_faces)
$".clear ; @original_required.each do |item| $" << item end
end
- describe "::strings" do
+ describe "::faces" do
it "REVISIT: should have some tests here, if we describe it"
end
@@ -50,12 +50,12 @@ describe Puppet::String::StringCollection do
describe "::[]" do
before :each do
- subject.instance_variable_get("@strings")[:foo]['0.0.1'] = 10
+ subject.instance_variable_get("@faces")[:foo]['0.0.1'] = 10
end
before :each do
@dir = Dir.mktmpdir
- @lib = FileUtils.mkdir_p(File.join @dir, 'puppet', 'string')
+ @lib = FileUtils.mkdir_p(File.join @dir, 'puppet', 'faces')
$LOAD_PATH.push(@dir)
end
@@ -64,95 +64,95 @@ describe Puppet::String::StringCollection do
$LOAD_PATH.pop
end
- it "should return the string with the given name" do
+ it "should return the faces with the given name" do
subject["foo", '0.0.1'].should == 10
end
- it "should attempt to load the string if it isn't found" do
- subject.expects(:require).with('puppet/string/bar')
+ it "should attempt to load the faces if it isn't found" do
+ subject.expects(:require).with('puppet/faces/bar')
subject["bar", '0.0.1']
end
- it "should attempt to load the default string for the specified version :current" do
+ it "should attempt to load the default faces for the specified version :current" do
subject.expects(:require).never # except...
- subject.expects(:require).with('puppet/string/fozzie')
+ subject.expects(:require).with('puppet/faces/fozzie')
subject['fozzie', :current]
end
end
- describe "::string?" do
+ describe "::face?" do
before :each do
- subject.instance_variable_get("@strings")[:foo]['0.0.1'] = 10
+ subject.instance_variable_get("@faces")[:foo]['0.0.1'] = 10
end
- it "should return true if the string specified is registered" do
- subject.string?("foo", '0.0.1').should == true
+ it "should return true if the faces specified is registered" do
+ subject.face?("foo", '0.0.1').should == true
end
- it "should attempt to require the string if it is not registered" do
+ it "should attempt to require the faces if it is not registered" do
subject.expects(:require).with do |file|
- subject.instance_variable_get("@strings")[:bar]['0.0.1'] = true
- file == 'puppet/string/bar'
+ subject.instance_variable_get("@faces")[:bar]['0.0.1'] = true
+ file == 'puppet/faces/bar'
end
- subject.string?("bar", '0.0.1').should == true
+ subject.face?("bar", '0.0.1').should == true
end
- it "should return true if requiring the string registered it" do
+ it "should return true if requiring the faces registered it" do
subject.stubs(:require).with do
- subject.instance_variable_get("@strings")[:bar]['0.0.1'] = 20
+ subject.instance_variable_get("@faces")[:bar]['0.0.1'] = 20
end
end
- it "should return false if the string is not registered" do
+ it "should return false if the faces is not registered" do
subject.stubs(:require).returns(true)
- subject.string?("bar", '0.0.1').should be_false
+ subject.face?("bar", '0.0.1').should be_false
end
- it "should return false if the string file itself is missing" do
+ it "should return false if the faces file itself is missing" do
subject.stubs(:require).
- raises(LoadError, 'no such file to load -- puppet/string/bar')
- subject.string?("bar", '0.0.1').should be_false
+ raises(LoadError, 'no such file to load -- puppet/faces/bar')
+ subject.face?("bar", '0.0.1').should be_false
end
it "should register the version loaded by `:current` as `:current`" do
subject.expects(:require).with do |file|
- subject.instance_variable_get("@strings")[:huzzah]['2.0.1'] = :huzzah_string
- file == 'puppet/string/huzzah'
+ subject.instance_variable_get("@faces")[:huzzah]['2.0.1'] = :huzzah_faces
+ file == 'puppet/faces/huzzah'
end
- subject.string?("huzzah", :current)
- subject.instance_variable_get("@strings")[:huzzah][:current].should == :huzzah_string
+ subject.face?("huzzah", :current)
+ subject.instance_variable_get("@faces")[:huzzah][:current].should == :huzzah_faces
end
context "with something on disk" do
before :each do
- write_scratch_string :huzzah do |fh|
+ write_scratch_faces :huzzah do |fh|
fh.puts <<EOF
-Puppet::String.define(:huzzah, '2.0.1') do
+Puppet::Faces.define(:huzzah, '2.0.1') do
action :bar do "is where beer comes from" end
end
EOF
end
end
- it "should register the version loaded from `puppet/string/{name}` as `:current`" do
- subject.should be_string "huzzah", '2.0.1'
- subject.should be_string "huzzah", :current
- Puppet::String[:huzzah, '2.0.1'].should == Puppet::String[:huzzah, :current]
+ it "should register the version loaded from `puppet/faces/{name}` as `:current`" do
+ subject.should be_face "huzzah", '2.0.1'
+ subject.should be_face "huzzah", :current
+ Puppet::Faces[:huzzah, '2.0.1'].should == Puppet::Faces[:huzzah, :current]
end
it "should index :current when the code was pre-required" do
- subject.instance_variable_get("@strings")[:huzzah].should_not be_key :current
- require 'puppet/string/huzzah'
- subject.string?(:huzzah, :current).should be_true
+ subject.instance_variable_get("@faces")[:huzzah].should_not be_key :current
+ require 'puppet/faces/huzzah'
+ subject.face?(:huzzah, :current).should be_true
end
end
end
describe "::register" do
- it "should store the string by name" do
- string = Puppet::String.new(:my_string, '0.0.1')
- subject.register(string)
- subject.instance_variable_get("@strings").should == {:my_string => {'0.0.1' => string}}
+ it "should store the faces by name" do
+ faces = Puppet::Faces.new(:my_faces, '0.0.1')
+ subject.register(faces)
+ subject.instance_variable_get("@faces").should == {:my_faces => {'0.0.1' => faces}}
end
end
@@ -177,7 +177,7 @@ EOF
faulty.each do |input|
it "should fail when presented with #{input.inspect} (#{input.class})" do
expect { subject.underscorize(input) }.
- should raise_error ArgumentError, /not a valid string name/
+ should raise_error ArgumentError, /not a valid face name/
end
end
end
diff --git a/spec/unit/faces/facts_spec.rb b/spec/unit/faces/facts_spec.rb
index 9b70247..480f463 100755
--- a/spec/unit/faces/facts_spec.rb
+++ b/spec/unit/faces/facts_spec.rb
@@ -2,7 +2,7 @@
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper.rb')
-describe Puppet::String[:facts, '0.0.1'] do
+describe Puppet::Faces[:facts, '0.0.1'] do
it "should define an 'upload' fact" do
subject.should be_action(:upload)
end
diff --git a/spec/unit/faces/file_spec.rb b/spec/unit/faces/file_spec.rb
index f1b9302..aafa88c 100755
--- a/spec/unit/faces/file_spec.rb
+++ b/spec/unit/faces/file_spec.rb
@@ -2,5 +2,5 @@
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper.rb')
-describe Puppet::String[:file, '0.0.1'] do
+describe Puppet::Faces[:file, '0.0.1'] do
end
diff --git a/spec/unit/faces/indirector_spec.rb b/spec/unit/faces/indirector_spec.rb
index cb85eaa..218694b 100755
--- a/spec/unit/faces/indirector_spec.rb
+++ b/spec/unit/faces/indirector_spec.rb
@@ -1,11 +1,11 @@
#!/usr/bin/env ruby
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper.rb')
-require 'puppet/string/indirector'
+require 'puppet/faces/indirector'
-describe Puppet::String::Indirector do
+describe Puppet::Faces::Indirector do
subject do
- instance = Puppet::String::Indirector.new(:test, '0.0.1')
+ instance = Puppet::Faces::Indirector.new(:test, '0.0.1')
indirection = stub('indirection',
:name => :stub_indirection,
:reset_terminus_class => nil)
@@ -14,24 +14,24 @@ describe Puppet::String::Indirector do
end
it "should be able to return a list of indirections" do
- Puppet::String::Indirector.indirections.should be_include("catalog")
+ Puppet::Faces::Indirector.indirections.should be_include("catalog")
end
it "should be able to return a list of terminuses for a given indirection" do
- Puppet::String::Indirector.terminus_classes(:catalog).should be_include("compiler")
+ Puppet::Faces::Indirector.terminus_classes(:catalog).should be_include("compiler")
end
describe "as an instance" do
it "should be able to determine its indirection" do
# Loading actions here an get, um, complicated
- Puppet::String.stubs(:load_actions)
- Puppet::String::Indirector.new(:catalog, '0.0.1').indirection.should equal(Puppet::Resource::Catalog.indirection)
+ Puppet::Faces.stubs(:load_actions)
+ Puppet::Faces::Indirector.new(:catalog, '0.0.1').indirection.should equal(Puppet::Resource::Catalog.indirection)
end
end
[:find, :search, :save, :destroy].each do |method|
it "should define a '#{method}' action" do
- Puppet::String::Indirector.should be_action(method)
+ Puppet::Faces::Indirector.should be_action(method)
end
it "should call the indirection method when the '#{method}' action is invoked" do
@@ -51,6 +51,6 @@ describe Puppet::String::Indirector do
end
it "should define a class-level 'info' action" do
- Puppet::String::Indirector.should be_action(:info)
+ Puppet::Faces::Indirector.should be_action(:info)
end
end
diff --git a/spec/unit/faces/key_spec.rb b/spec/unit/faces/key_spec.rb
index fe3532d..70d4a52 100755
--- a/spec/unit/faces/key_spec.rb
+++ b/spec/unit/faces/key_spec.rb
@@ -2,5 +2,5 @@
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper.rb')
-describe Puppet::String[:key, '0.0.1'] do
+describe Puppet::Faces[:key, '0.0.1'] do
end
diff --git a/spec/unit/faces/node_spec.rb b/spec/unit/faces/node_spec.rb
index 520cc0f..4639bdf 100755
--- a/spec/unit/faces/node_spec.rb
+++ b/spec/unit/faces/node_spec.rb
@@ -2,7 +2,7 @@
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper.rb')
-describe Puppet::String[:node, '0.0.1'] do
+describe Puppet::Faces[:node, '0.0.1'] do
it "should set its default format to :yaml" do
subject.default_format.should == :yaml
end
diff --git a/spec/unit/faces/option_builder_spec.rb b/spec/unit/faces/option_builder_spec.rb
index 9e913c2..9296ba7 100644
--- a/spec/unit/faces/option_builder_spec.rb
+++ b/spec/unit/faces/option_builder_spec.rb
@@ -1,28 +1,28 @@
-require 'puppet/string/option_builder'
+require 'puppet/faces/option_builder'
-describe Puppet::String::OptionBuilder do
- let :string do Puppet::String.new(:option_builder_testing, '0.0.1') end
+describe Puppet::Faces::OptionBuilder do
+ let :face do Puppet::Faces.new(:option_builder_testing, '0.0.1') end
it "should be able to construct an option without a block" do
- Puppet::String::OptionBuilder.build(string, "--foo").
- should be_an_instance_of Puppet::String::Option
+ Puppet::Faces::OptionBuilder.build(face, "--foo").
+ should be_an_instance_of Puppet::Faces::Option
end
describe "when using the DSL block" do
it "should work with an empty block" do
- option = Puppet::String::OptionBuilder.build(string, "--foo") do
+ option = Puppet::Faces::OptionBuilder.build(face, "--foo") do
# This block deliberately left blank.
end
- option.should be_an_instance_of Puppet::String::Option
+ option.should be_an_instance_of Puppet::Faces::Option
end
it "should support documentation declarations" do
text = "this is the description"
- option = Puppet::String::OptionBuilder.build(string, "--foo") do
+ option = Puppet::Faces::OptionBuilder.build(face, "--foo") do
desc text
end
- option.should be_an_instance_of Puppet::String::Option
+ option.should be_an_instance_of Puppet::Faces::Option
option.desc.should == text
end
end
diff --git a/spec/unit/faces/option_spec.rb b/spec/unit/faces/option_spec.rb
index f4f62ec..a28fef0 100644
--- a/spec/unit/faces/option_spec.rb
+++ b/spec/unit/faces/option_spec.rb
@@ -1,14 +1,14 @@
-require 'puppet/string/option'
+require 'puppet/faces/option'
-describe Puppet::String::Option do
- let :string do Puppet::String.new(:option_testing, '0.0.1') end
+describe Puppet::Faces::Option do
+ let :face do Puppet::Faces.new(:option_testing, '0.0.1') end
describe "#optparse_to_name" do
["", "=BAR", " BAR", "=bar", " bar"].each do |postfix|
{ "--foo" => :foo, "-f" => :f }.each do |base, expect|
input = base + postfix
it "should map #{input.inspect} to #{expect.inspect}" do
- option = Puppet::String::Option.new(string, input)
+ option = Puppet::Faces::Option.new(face, input)
option.name.should == expect
end
end
@@ -16,58 +16,58 @@ describe Puppet::String::Option do
[:foo, 12, nil, {}, []].each do |input|
it "should fail sensible when given #{input.inspect}" do
- expect { Puppet::String::Option.new(string, input) }.
+ expect { Puppet::Faces::Option.new(face, input) }.
should raise_error ArgumentError, /is not valid for an option argument/
end
end
["-foo", "-foo=BAR", "-foo BAR"].each do |input|
it "should fail with a single dash for long option #{input.inspect}" do
- expect { Puppet::String::Option.new(string, input) }.
+ expect { Puppet::Faces::Option.new(face, input) }.
should raise_error ArgumentError, /long options need two dashes \(--\)/
end
end
end
- it "requires a string when created" do
- expect { Puppet::String::Option.new }.
+ it "requires a face when created" do
+ expect { Puppet::Faces::Option.new }.
should raise_error ArgumentError, /wrong number of arguments/
end
it "also requires some declaration arguments when created" do
- expect { Puppet::String::Option.new(string) }.
+ expect { Puppet::Faces::Option.new(face) }.
should raise_error ArgumentError, /No option declarations found/
end
it "should infer the name from an optparse string" do
- option = Puppet::String::Option.new(string, "--foo")
+ option = Puppet::Faces::Option.new(face, "--foo")
option.name.should == :foo
end
- it "should infer the name when multiple optparse strings are given" do
- option = Puppet::String::Option.new(string, "--foo", "-f")
+ it "should infer the name when multiple optparse string are given" do
+ option = Puppet::Faces::Option.new(face, "--foo", "-f")
option.name.should == :foo
end
it "should prefer the first long option name over a short option name" do
- option = Puppet::String::Option.new(string, "-f", "--foo")
+ option = Puppet::Faces::Option.new(face, "-f", "--foo")
option.name.should == :foo
end
- it "should create an instance when given a string and name" do
- Puppet::String::Option.new(string, "--foo").
- should be_instance_of Puppet::String::Option
+ it "should create an instance when given a face and name" do
+ Puppet::Faces::Option.new(face, "--foo").
+ should be_instance_of Puppet::Faces::Option
end
describe "#to_s" do
it "should transform a symbol into a string" do
- option = Puppet::String::Option.new(string, "--foo")
+ option = Puppet::Faces::Option.new(face, "--foo")
option.name.should == :foo
option.to_s.should == "foo"
end
it "should use - rather than _ to separate words in strings but not symbols" do
- option = Puppet::String::Option.new(string, "--foo-bar")
+ option = Puppet::Faces::Option.new(face, "--foo-bar")
option.name.should == :foo_bar
option.to_s.should == "foo-bar"
end
diff --git a/spec/unit/faces/report_spec.rb b/spec/unit/faces/report_spec.rb
index 2e206dd..f7a6734 100755
--- a/spec/unit/faces/report_spec.rb
+++ b/spec/unit/faces/report_spec.rb
@@ -2,5 +2,5 @@
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper.rb')
-describe Puppet::String[:report, '0.0.1'] do
+describe Puppet::Faces[:report, '0.0.1'] do
end
diff --git a/spec/unit/faces/resource_spec.rb b/spec/unit/faces/resource_spec.rb
index f4e6186..0b4b248 100755
--- a/spec/unit/faces/resource_spec.rb
+++ b/spec/unit/faces/resource_spec.rb
@@ -2,5 +2,5 @@
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper.rb')
-describe Puppet::String[:resource, '0.0.1'] do
+describe Puppet::Faces[:resource, '0.0.1'] do
end
diff --git a/spec/unit/faces/resource_type_spec.rb b/spec/unit/faces/resource_type_spec.rb
index d12ec00..157066f 100755
--- a/spec/unit/faces/resource_type_spec.rb
+++ b/spec/unit/faces/resource_type_spec.rb
@@ -2,5 +2,5 @@
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper.rb')
-describe Puppet::String[:resource_type, '0.0.1'] do
+describe Puppet::Faces[:resource_type, '0.0.1'] do
end
diff --git a/spec/unit/faces_spec.rb b/spec/unit/faces_spec.rb
index 9b7cd88..586abd6 100755
--- a/spec/unit/faces_spec.rb
+++ b/spec/unit/faces_spec.rb
@@ -2,46 +2,47 @@
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper.rb')
-describe Puppet::String do
+describe Puppet::Faces do
before :all do
- @strings = Puppet::String::StringCollection.instance_variable_get("@strings").dup
+ @faces = Puppet::Faces::FaceCollection.instance_variable_get("@faces").dup
end
before :each do
- Puppet::String::StringCollection.instance_variable_get("@strings").clear
+ Puppet::Faces::FaceCollection.instance_variable_get("@faces").clear
end
after :all do
- Puppet::String::StringCollection.instance_variable_set("@strings", @strings)
+ Puppet::Faces::FaceCollection.instance_variable_set("@faces", @faces)
end
describe "#define" do
- it "should register the string" do
- string = Puppet::String.define(:string_test_register, '0.0.1')
- string.should == Puppet::String[:string_test_register, '0.0.1']
+ it "should register the face" do
+ face = Puppet::Faces.define(:face_test_register, '0.0.1')
+ face.should == Puppet::Faces[:face_test_register, '0.0.1']
end
it "should load actions" do
- Puppet::String.any_instance.expects(:load_actions)
- Puppet::String.define(:string_test_load_actions, '0.0.1')
+ Puppet::Faces.any_instance.expects(:load_actions)
+ Puppet::Faces.define(:face_test_load_actions, '0.0.1')
end
it "should require a version number" do
- proc { Puppet::String.define(:no_version) }.should raise_error(ArgumentError)
+ expect { Puppet::Faces.define(:no_version) }.should raise_error ArgumentError
end
end
describe "#initialize" do
it "should require a version number" do
- proc { Puppet::String.new(:no_version) }.should raise_error(ArgumentError)
+ expect { Puppet::Faces.new(:no_version) }.should raise_error ArgumentError
end
it "should require a valid version number" do
- proc { Puppet::String.new(:bad_version, 'Rasins') }.should raise_error(ArgumentError)
+ expect { Puppet::Faces.new(:bad_version, 'Rasins') }.
+ should raise_error ArgumentError
end
it "should instance-eval any provided block" do
- face = Puppet::String.new(:string_test_block, '0.0.1') do
+ face = Puppet::Faces.new(:face_test_block, '0.0.1') do
action(:something) do
when_invoked { "foo" }
end
@@ -52,31 +53,31 @@ describe Puppet::String do
end
it "should have a name" do
- Puppet::String.new(:me, '0.0.1').name.should == :me
+ Puppet::Faces.new(:me, '0.0.1').name.should == :me
end
it "should stringify with its own name" do
- Puppet::String.new(:me, '0.0.1').to_s.should =~ /\bme\b/
+ Puppet::Faces.new(:me, '0.0.1').to_s.should =~ /\bme\b/
end
it "should allow overriding of the default format" do
- face = Puppet::String.new(:me, '0.0.1')
+ face = Puppet::Faces.new(:me, '0.0.1')
face.set_default_format :foo
face.default_format.should == :foo
end
it "should default to :pson for its format" do
- Puppet::String.new(:me, '0.0.1').default_format.should == :pson
+ Puppet::Faces.new(:me, '0.0.1').default_format.should == :pson
end
# Why?
it "should create a class-level autoloader" do
- Puppet::String.autoloader.should be_instance_of(Puppet::Util::Autoload)
+ Puppet::Faces.autoloader.should be_instance_of(Puppet::Util::Autoload)
end
- it "should try to require strings that are not known" do
- Puppet::String::StringCollection.expects(:require).with "puppet/string/foo"
- Puppet::String[:foo, '0.0.1']
+ it "should try to require faces that are not known" do
+ Puppet::Faces::FaceCollection.expects(:require).with "puppet/faces/foo"
+ Puppet::Faces[:foo, '0.0.1']
end
it "should be able to load all actions in all search paths"
@@ -84,25 +85,25 @@ describe Puppet::String do
it_should_behave_like "things that declare options" do
def add_options_to(&block)
- Puppet::String.new(:with_options, '0.0.1', &block)
+ Puppet::Faces.new(:with_options, '0.0.1', &block)
end
end
- describe "with string-level options" do
+ describe "with face-level options" do
it "should not return any action-level options" do
- string = Puppet::String.new(:with_options, '0.0.1') do
+ face = Puppet::Faces.new(:with_options, '0.0.1') do
option "--foo"
option "--bar"
action :baz do
option "--quux"
end
end
- string.options.should =~ [:foo, :bar]
+ face.options.should =~ [:foo, :bar]
end
- it "should fail when a string option duplicates an action option" do
+ it "should fail when a face option duplicates an action option" do
expect {
- Puppet::String.new(:action_level_options, '0.0.1') do
+ Puppet::Faces.new(:action_level_options, '0.0.1') do
action :bar do option "--foo" end
option "--foo"
end
@@ -110,34 +111,34 @@ describe Puppet::String do
end
it "should work when two actions have the same option" do
- string = Puppet::String.new(:with_options, '0.0.1') do
+ face = Puppet::Faces.new(:with_options, '0.0.1') do
action :foo do option "--quux" end
action :bar do option "--quux" end
end
- string.get_action(:foo).options.should =~ [:quux]
- string.get_action(:bar).options.should =~ [:quux]
+ face.get_action(:foo).options.should =~ [:quux]
+ face.get_action(:bar).options.should =~ [:quux]
end
end
describe "with inherited options" do
- let :string do
- parent = Class.new(Puppet::String)
+ let :face do
+ parent = Class.new(Puppet::Faces)
parent.option("--inherited")
- string = parent.new(:example, '0.2.1')
- string.option("--local")
- string
+ face = parent.new(:example, '0.2.1')
+ face.option("--local")
+ face
end
describe "#options" do
it "should list inherited options" do
- string.options.should =~ [:inherited, :local]
+ face.options.should =~ [:inherited, :local]
end
end
describe "#get_option" do
it "should return an inherited option object" do
- string.get_option(:inherited).should be_an_instance_of Puppet::String::Option
+ face.get_option(:inherited).should be_an_instance_of Puppet::Faces::Option
end
end
end
--
Puppet packaging for Debian
More information about the Pkg-puppet-devel
mailing list