lib/osheet/mixin.rb in osheet-0.10.0 vs lib/osheet/mixin.rb in osheet-1.0.0.rc.1

- old
+ new

@@ -1,37 +1,49 @@ -require 'osheet/style' -require 'osheet/template' - module Osheet::Mixin def self.included(receiver) receiver.send(:extend, ClassMethods) end + class Args + + attr_reader :args, :build + + def initialize(*args, &build) + @args = args + @build = build || Proc.new {} + end + + end + module ClassMethods - def style(*selectors, &block) + + def style(*selectors, &build) instance_variable_set("@s", - (instance_variable_get("@s") || []) << ::Osheet::Style.new(*selectors, &block) + (instance_variable_get("@s") || []) << Args.new(*selectors, &build) ) end + def styles instance_variable_get("@s") || [] end - def template(element, name, &block) + def template(element, name, &build) instance_variable_set("@t", - (instance_variable_get("@t") || []) << ::Osheet::Template.new(element, name, &block) + (instance_variable_get("@t") || []) << Args.new(element, name, &build) ) end + def templates instance_variable_get("@t") || [] end - def partial(name, &block) + def partial(name, &build) instance_variable_set("@p", - (instance_variable_get("@p") || []) << ::Osheet::Partial.new(name, &block) + (instance_variable_get("@p") || []) << Args.new(name, &build) ) end + def partials instance_variable_get("@p") || [] end end