Module: Pfft::RakeHelper
- Defined in:
- lib/pfft/rake_helper.rb
Class Attribute Summary collapse
-
.role_tag ⇒ Object
Returns the value of attribute role_tag.
Class Method Summary collapse
Instance Method Summary collapse
- #rake_invoke(task) ⇒ Object
- #role(*roles, &blk) ⇒ Object
- #server_roles ⇒ Object
- #tag(role_tag) ⇒ Object
Class Attribute Details
.role_tag ⇒ Object
Returns the value of attribute role_tag.
7 8 9 |
# File 'lib/pfft/rake_helper.rb', line 7 def role_tag @role_tag end |
Class Method Details
.role_tag_clear ⇒ Object
10 11 12 |
# File 'lib/pfft/rake_helper.rb', line 10 def self.role_tag_clear @role_tag = nil end |
Instance Method Details
#rake_invoke(task) ⇒ Object
31 32 33 |
# File 'lib/pfft/rake_helper.rb', line 31 def rake_invoke(task) Rake::Task[task].invoke end |
#role(*roles, &blk) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/pfft/rake_helper.rb', line 18 def role(*roles, &blk) roles << 'all' matching_role = server_roles.detect { |r| roles.include? r} if matching_role yield else tag = Pfft::RakeHelper.role_tag puts "Skipping #{tag}" if tag end ensure Pfft::RakeHelper.role_tag_clear end |
#server_roles ⇒ Object
35 36 37 38 39 40 41 42 43 |
# File 'lib/pfft/rake_helper.rb', line 35 def server_roles return @server_roles if @server_roles if ENV['SERVER_ROLES'] =~ /^[a-z0-9A-Z][a-z0-9A-Z,_]*$/ @server_roles = ENV['SERVER_ROLES'].split(',') else @server_roles = [] end return @server_roles end |
#tag(role_tag) ⇒ Object
14 15 16 |
# File 'lib/pfft/rake_helper.rb', line 14 def tag(role_tag) Pfft::RakeHelper.role_tag = role_tag end |