Skip to content

Commit

Permalink
Implementing reset event on all plugins
Browse files Browse the repository at this point in the history
  • Loading branch information
winton committed Feb 19, 2012
1 parent 5018f40 commit 2585fd5
Show file tree
Hide file tree
Showing 6 changed files with 36 additions and 12 deletions.
2 changes: 1 addition & 1 deletion lib/stasis/plugin.rb
Expand Up @@ -16,10 +16,10 @@ def _priority; @priority || 0; end
action_method
after_all
after_render
reset
before_all
before_render
controller_method
reset
).each do |method|
method = method.to_sym
# Define method on the `Plugin` class.
Expand Down
14 changes: 7 additions & 7 deletions lib/stasis/plugins/before.rb
@@ -1,15 +1,15 @@
class Stasis
class Before < Plugin

reset :reset
before_all :before_all
before_render :before_render
controller_method :before
priority 1
reset :reset

def initialize(stasis)
@stasis = stasis
@blocks = {}
reset
end

# This method is bound to all controllers. Stores a block in the `@blocks` `Hash`,
Expand All @@ -25,11 +25,6 @@ def before(*paths, &block)
end
end

# This event reset the before blocks.
def reset
@blocks = {}
end

# This event triggers before all files render. When a `before` call receives a path
# that does not exist, we want to create that file dynamically. This method adds
# those dynamic paths to the `paths` `Array`.
Expand All @@ -52,5 +47,10 @@ def before_render
end
end
end

# This event resets all instance variables.
def reset
@blocks = {}
end
end
end
8 changes: 7 additions & 1 deletion lib/stasis/plugins/helpers.rb
Expand Up @@ -3,10 +3,11 @@ class Helpers < Plugin

controller_method :helpers
before_render :before_render
reset :reset

def initialize(stasis)
@stasis = stasis
@blocks = []
reset
end

# This event triggers before each file renders through Stasis. For each helper
Expand All @@ -25,5 +26,10 @@ def helpers(&block)
@blocks << [ @stasis.path, block ]
end
end

# This event resets all instance variables.
def reset
@blocks = []
end
end
end
8 changes: 7 additions & 1 deletion lib/stasis/plugins/ignore.rb
Expand Up @@ -3,10 +3,11 @@ class Ignore < Plugin

before_render :before_render
controller_method :ignore
reset :reset

def initialize(stasis)
@stasis = stasis
@ignore = {}
reset
end

# This event triggers before each file renders. Rejects any `paths` that are included
Expand All @@ -31,5 +32,10 @@ def ignore(*array)
end
end
end

# This event resets all instance variables.
def reset
@ignore = {}
end
end
end
8 changes: 7 additions & 1 deletion lib/stasis/plugins/layout.rb
Expand Up @@ -4,10 +4,11 @@ class Layout < Plugin
action_method :layout => :layout_action
before_render :before_render
controller_method :layout => :layout_controller
reset :reset

def initialize(stasis)
@stasis = stasis
@layouts = {}
reset
end

# This event triggers before each file renders through Stasis. It sets the `action`
Expand Down Expand Up @@ -79,5 +80,10 @@ def layout_controller(hash_or_string)
hash
}
end

# This event resets all instance variables.
def reset
@layouts = {}
end
end
end
8 changes: 7 additions & 1 deletion lib/stasis/plugins/priority.rb
Expand Up @@ -5,10 +5,11 @@ class Priority < Plugin
before_all :before_all
controller_method :priority
priority 2
reset :reset

def initialize(stasis)
@stasis = stasis
@priorities = {}
reset
end

# This event triggers before all files render through Stasis. Collect matching
Expand Down Expand Up @@ -37,5 +38,10 @@ def priority(hash)
end
@priorities.merge!(hash)
end

# This event resets all instance variables.
def reset
@priorities = {}
end
end
end

0 comments on commit 2585fd5

Please sign in to comment.