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