[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:10:54 UTC 2011
The following commit has been merged in the experimental branch:
commit 4d2a367b0cf5bf03588b1e6bbfafdf437bea249e
Author: Daniel Pittman <daniel at puppetlabs.com>
Date: Mon Apr 4 14:34:51 2011 -0700
(#6964) use 'when_invoked' rather than 'invoke' for actions.
In the DSL we want to use 'when_invoked do' because it reads much more
naturally for users.
Reviewed-By: Pieter van de Bruggen <pieter at puppetlabs.com>
diff --git a/lib/puppet/string/action.rb b/lib/puppet/string/action.rb
index ee3b299..0f5032f 100644
--- a/lib/puppet/string/action.rb
+++ b/lib/puppet/string/action.rb
@@ -51,7 +51,7 @@ class Puppet::String::Action
# @string.send(name, *args, &block)
# end
- def invoke=(block)
+ def when_invoked=(block)
# We need to build an instance method as a wrapper, using normal code, to
# be able to expose argument defaulting between the caller and definer in
# the Ruby API. An extra method is, sadly, required for Ruby 1.8 to work.
diff --git a/lib/puppet/string/action_builder.rb b/lib/puppet/string/action_builder.rb
index e760444..e7c0327 100644
--- a/lib/puppet/string/action_builder.rb
+++ b/lib/puppet/string/action_builder.rb
@@ -9,6 +9,7 @@ class Puppet::String::ActionBuilder
new(string, name, &block).action
end
+ private
def initialize(string, name, &block)
@string = string
@action = Puppet::String::Action.new(string, name)
@@ -18,9 +19,9 @@ class Puppet::String::ActionBuilder
# 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
- def invoke(&block)
- raise "Invoke called on an ActionBuilder with no corresponding Action" unless @action
- @action.invoke = block
+ 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)
diff --git a/lib/puppet/string/action_manager.rb b/lib/puppet/string/action_manager.rb
index 7d22a0c..9f0aa75 100644
--- a/lib/puppet/string/action_manager.rb
+++ b/lib/puppet/string/action_manager.rb
@@ -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, :invoke => block)
+ @actions[name] = Puppet::String::Action.new(self, name, :when_invoked => block)
end
def actions
diff --git a/lib/puppet/string/catalog.rb b/lib/puppet/string/catalog.rb
index c6de477..441c7ee 100644
--- a/lib/puppet/string/catalog.rb
+++ b/lib/puppet/string/catalog.rb
@@ -2,7 +2,7 @@ require 'puppet/string/indirector'
Puppet::String::Indirector.define(:catalog, '0.0.1') do
action(:apply) do
- invoke do |catalog, options|
+ when_invoked do |catalog, options|
report = Puppet::Transaction::Report.new("apply")
report.configuration_version = catalog.version
@@ -23,7 +23,7 @@ Puppet::String::Indirector.define(:catalog, '0.0.1') do
end
action(:download) do
- invoke do |certname, facts, options|
+ when_invoked do |certname, facts, options|
Puppet::Resource::Catalog.terminus_class = :rest
facts_to_upload = {:facts_format => :b64_zlib_yaml, :facts => CGI.escape(facts.render(:b64_zlib_yaml))}
catalog = nil
diff --git a/lib/puppet/string/catalog/select.rb b/lib/puppet/string/catalog/select.rb
index a8f4480..11670e2 100644
--- a/lib/puppet/string/catalog/select.rb
+++ b/lib/puppet/string/catalog/select.rb
@@ -1,7 +1,7 @@
# Select and show a list of resources of a given type.
Puppet::String.define(:catalog, '0.0.1') do
action :select do
- invoke do |host, type, options|
+ when_invoked do |host, type, options|
catalog = Puppet::Resource::Catalog.indirection.find(host)
catalog.resources.reject { |res| res.type != type }.each { |res| puts res }
diff --git a/lib/puppet/string/certificate.rb b/lib/puppet/string/certificate.rb
index 53f731e..7b72b11 100644
--- a/lib/puppet/string/certificate.rb
+++ b/lib/puppet/string/certificate.rb
@@ -4,7 +4,7 @@ require 'puppet/ssl/host'
Puppet::String::Indirector.define(:certificate, '0.0.1') do
action :generate do
- invoke do |name, options|
+ when_invoked do |name, options|
host = Puppet::SSL::Host.new(name)
host.generate_certificate_request
host.certificate_request.class.indirection.save(host.certificate_request)
@@ -12,7 +12,7 @@ Puppet::String::Indirector.define(:certificate, '0.0.1') do
end
action :list do
- invoke do |options|
+ when_invoked do |options|
Puppet::SSL::Host.indirection.search("*", {
:for => :certificate_request,
}).map { |h| h.inspect }
@@ -20,7 +20,7 @@ Puppet::String::Indirector.define(:certificate, '0.0.1') do
end
action :sign do
- invoke do |name, options|
+ when_invoked do |name, options|
Puppet::SSL::Host.indirection.save(Puppet::SSL::Host.new(name))
end
end
diff --git a/lib/puppet/string/config.rb b/lib/puppet/string/config.rb
index 49a1688..8a94171 100644
--- a/lib/puppet/string/config.rb
+++ b/lib/puppet/string/config.rb
@@ -2,7 +2,7 @@ require 'puppet/string'
Puppet::String.define(:config, '0.0.1') do
action(:print) do
- invoke do |*args|
+ when_invoked do |*args|
options = args.pop
Puppet.settings[:configprint] = args.join(",")
Puppet.settings.print_config_options
diff --git a/lib/puppet/string/configurer.rb b/lib/puppet/string/configurer.rb
index 2520d41..257f97e 100644
--- a/lib/puppet/string/configurer.rb
+++ b/lib/puppet/string/configurer.rb
@@ -2,7 +2,7 @@ require 'puppet/string'
Puppet::String.define(:configurer, '0.0.1') do
action(:synchronize) do
- invoke do |certname, options|
+ 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)
diff --git a/lib/puppet/string/facts.rb b/lib/puppet/string/facts.rb
index 3129881..6bd9904 100644
--- a/lib/puppet/string/facts.rb
+++ b/lib/puppet/string/facts.rb
@@ -6,7 +6,7 @@ Puppet::String::Indirector.define(:facts, '0.0.1') do
# Upload our facts to the server
action(:upload) do
- invoke do |options|
+ when_invoked do |options|
Puppet::Node::Facts.indirection.terminus_class = :facter
facts = Puppet::Node::Facts.indirection.find(Puppet[:certname])
Puppet::Node::Facts.indirection.terminus_class = :rest
diff --git a/lib/puppet/string/indirector.rb b/lib/puppet/string/indirector.rb
index bb08153..0c7d043 100644
--- a/lib/puppet/string/indirector.rb
+++ b/lib/puppet/string/indirector.rb
@@ -31,24 +31,24 @@ that we should describe in this file somehow."
end
action :destroy do
- invoke { |*args| call_indirection_method(:destroy, *args) }
+ when_invoked { |*args| call_indirection_method(:destroy, *args) }
end
action :find do
- invoke { |*args| call_indirection_method(:find, *args) }
+ when_invoked { |*args| call_indirection_method(:find, *args) }
end
action :save do
- invoke { |*args| call_indirection_method(:save, *args) }
+ when_invoked { |*args| call_indirection_method(:save, *args) }
end
action :search do
- invoke { |*args| call_indirection_method(:search, *args) }
+ when_invoked { |*args| call_indirection_method(:search, *args) }
end
# Print the configuration for the current terminus class
action :info do
- invoke do |*args|
+ when_invoked do |*args|
options = args.pop
options.has_key?(:terminus) and set_terminus(options[:terminus])
diff --git a/lib/puppet/string/report.rb b/lib/puppet/string/report.rb
index 5b617e4..da3ca85 100644
--- a/lib/puppet/string/report.rb
+++ b/lib/puppet/string/report.rb
@@ -2,7 +2,7 @@ require 'puppet/string/indirector'
Puppet::String::Indirector.define(:report, '0.0.1') do
action(:submit) do
- invoke do |report, options|
+ when_invoked do |report, options|
begin
Puppet::Transaction::Report.terminus_class = :rest
report.save
diff --git a/spec/unit/application/string_base_spec.rb b/spec/unit/application/string_base_spec.rb
index 71e6728..753d911 100755
--- a/spec/unit/application/string_base_spec.rb
+++ b/spec/unit/application/string_base_spec.rb
@@ -23,7 +23,7 @@ describe Puppet::Application::StringBase do
action :foo do
option("--action")
- invoke { |*args| args.length }
+ when_invoked { |*args| args.length }
end
end
end
diff --git a/spec/unit/string/action_builder_spec.rb b/spec/unit/string/action_builder_spec.rb
index fde010d..5f6f1c0 100755
--- a/spec/unit/string/action_builder_spec.rb
+++ b/spec/unit/string/action_builder_spec.rb
@@ -15,7 +15,7 @@ describe Puppet::String::ActionBuilder do
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
- invoke do
+ when_invoked do
"invoked the method"
end
end
diff --git a/spec/unit/string/action_manager_spec.rb b/spec/unit/string/action_manager_spec.rb
index 5ca55b3..b8baf80 100755
--- a/spec/unit/string/action_manager_spec.rb
+++ b/spec/unit/string/action_manager_spec.rb
@@ -15,7 +15,7 @@ describe Puppet::String::ActionManager do
describe "when included in a class" do
it "should be able to define an action" do
subject.action(:foo) do
- invoke { "something "}
+ when_invoked { "something "}
end
end
@@ -27,10 +27,10 @@ describe Puppet::String::ActionManager do
it "should be able to list defined actions" do
subject.action(:foo) do
- invoke { "something" }
+ when_invoked { "something" }
end
subject.action(:bar) do
- invoke { "something" }
+ when_invoked { "something" }
end
subject.actions.should =~ [:foo, :bar]
@@ -43,7 +43,7 @@ describe Puppet::String::ActionManager do
it "should list both script and normal actions" do
subject.action :foo do
- invoke do "foo" end
+ when_invoked do "foo" end
end
subject.script :bar do "a bar is where beer is found" end
@@ -52,7 +52,7 @@ describe Puppet::String::ActionManager do
it "should be able to indicate when an action is defined" do
subject.action(:foo) do
- invoke { "something" }
+ when_invoked { "something" }
end
subject.should be_action(:foo)
@@ -65,7 +65,7 @@ describe Puppet::String::ActionManager do
it "should correctly treat action names specified as strings" do
subject.action(:foo) do
- invoke { "something" }
+ when_invoked { "something" }
end
subject.should be_action("foo")
@@ -77,16 +77,16 @@ describe Puppet::String::ActionManager do
it "should be able to define an action" do
subject.action(:foo) do
- invoke { "something "}
+ when_invoked { "something "}
end
end
it "should be able to list defined actions" do
subject.action(:foo) do
- invoke { "something" }
+ when_invoked { "something" }
end
subject.action(:bar) do
- invoke { "something" }
+ when_invoked { "something" }
end
subject.actions.should include(:bar)
@@ -110,36 +110,36 @@ describe Puppet::String::ActionManager do
it "should be able to define an action at the class level" do
@klass.action(:foo) do
- invoke { "something "}
+ when_invoked { "something "}
end
end
it "should create an instance method when an action is defined at the class level" do
@klass.action(:foo) do
- invoke { "something" }
+ when_invoked { "something" }
end
@instance.foo.should == "something"
end
it "should be able to define an action at the instance level" do
@instance.action(:foo) do
- invoke { "something "}
+ when_invoked { "something "}
end
end
it "should create an instance method when an action is defined at the instance level" do
@instance.action(:foo) do
- invoke { "something" }
+ when_invoked { "something" }
end
@instance.foo.should == "something"
end
it "should be able to list actions defined at the class level" do
@klass.action(:foo) do
- invoke { "something" }
+ when_invoked { "something" }
end
@klass.action(:bar) do
- invoke { "something" }
+ when_invoked { "something" }
end
@klass.actions.should include(:bar)
@@ -148,10 +148,10 @@ describe Puppet::String::ActionManager do
it "should be able to list actions defined at the instance level" do
@instance.action(:foo) do
- invoke { "something" }
+ when_invoked { "something" }
end
@instance.action(:bar) do
- invoke { "something" }
+ when_invoked { "something" }
end
@instance.actions.should include(:bar)
@@ -160,10 +160,10 @@ describe Puppet::String::ActionManager do
it "should be able to list actions defined at both instance and class level" do
@klass.action(:foo) do
- invoke { "something" }
+ when_invoked { "something" }
end
@instance.action(:bar) do
- invoke { "something" }
+ when_invoked { "something" }
end
@instance.actions.should include(:bar)
@@ -172,14 +172,14 @@ describe Puppet::String::ActionManager do
it "should be able to indicate when an action is defined at the class level" do
@klass.action(:foo) do
- invoke { "something" }
+ when_invoked { "something" }
end
@instance.should be_action(:foo)
end
it "should be able to indicate when an action is defined at the instance level" do
@klass.action(:foo) do
- invoke { "something" }
+ when_invoked { "something" }
end
@instance.should be_action(:foo)
end
@@ -189,13 +189,13 @@ describe Puppet::String::ActionManager do
@instance = @subclass.new
@klass.action(:parent) do
- invoke { "a" }
+ when_invoked { "a" }
end
@subclass.action(:sub) do
- invoke { "a" }
+ when_invoked { "a" }
end
@instance.action(:instance) do
- invoke { "a" }
+ when_invoked { "a" }
end
@instance.should be_action(:parent)
@@ -208,7 +208,7 @@ describe Puppet::String::ActionManager do
@instance = @subclass.new
@klass.action(:foo) do
- invoke { "something" }
+ when_invoked { "something" }
end
@instance.foo.should == "something"
end
diff --git a/spec/unit/string/action_spec.rb b/spec/unit/string/action_spec.rb
index 1d25ff1..b6fe87a 100755
--- a/spec/unit/string/action_spec.rb
+++ b/spec/unit/string/action_spec.rb
@@ -17,11 +17,11 @@ describe Puppet::String::Action do
it "should be able to call other actions on the same object" do
string = Puppet::String.new(:my_string, '0.0.1') do
action(:foo) do
- invoke { 25 }
+ when_invoked { 25 }
end
action(:bar) do
- invoke { "the value of foo is '#{foo}'" }
+ when_invoked { "the value of foo is '#{foo}'" }
end
end
string.foo.should == 25
@@ -35,25 +35,25 @@ describe Puppet::String::Action do
it "should be able to call other actions on the same object when defined on a class" do
class Puppet::String::MyStringBaseClass < Puppet::String
action(:foo) do
- invoke { 25 }
+ when_invoked { 25 }
end
action(:bar) do
- invoke { "the value of foo is '#{foo}'" }
+ when_invoked { "the value of foo is '#{foo}'" }
end
action(:quux) do
- invoke { "qux told me #{qux}" }
+ when_invoked { "qux told me #{qux}" }
end
end
string = Puppet::String::MyStringBaseClass.new(:my_inherited_string, '0.0.1') do
action(:baz) do
- invoke { "the value of foo in baz is '#{foo}'" }
+ when_invoked { "the value of foo in baz is '#{foo}'" }
end
action(:qux) do
- invoke { baz }
+ when_invoked { baz }
end
end
string.foo.should == 25
@@ -67,7 +67,7 @@ describe Puppet::String::Action do
let :string do
Puppet::String.new(:ruby_api, '1.0.0') do
action :bar do
- invoke do |options|
+ when_invoked do |options|
options
end
end
diff --git a/spec/unit/string_spec.rb b/spec/unit/string_spec.rb
index ddf8554..358668f 100755
--- a/spec/unit/string_spec.rb
+++ b/spec/unit/string_spec.rb
@@ -43,7 +43,7 @@ describe Puppet::String do
it "should instance-eval any provided block" do
face = Puppet::String.new(:string_test_block, '0.0.1') do
action(:something) do
- invoke { "foo" }
+ when_invoked { "foo" }
end
end
--
Puppet packaging for Debian
More information about the Pkg-puppet-devel
mailing list