styler 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +19 -0
- data/lib/styler/mixins/erector.rb +17 -0
- data/lib/styler/mixins/rango.rb +3 -4
- data/lib/styler/style.rb +5 -0
- data/test/setup.rb +0 -1
- metadata +4 -3
data/README.rdoc
CHANGED
@@ -8,3 +8,22 @@ This implements view-aware models, yet not. It's using the ProxyClass pattern.
|
|
8
8
|
|
9
9
|
IRC:: #rango@irc.freenode.net
|
10
10
|
Baretest:: http://github.com/apeiros/baretest
|
11
|
+
|
12
|
+
== Description
|
13
|
+
|
14
|
+
You use Styler::RangoMixin to render (or any other mixin). Call the render
|
15
|
+
method with (template, *model_instance_variables), and it will replace the
|
16
|
+
mentioned instance variables with Styles. You can use Style variables simply
|
17
|
+
by calling #to_s on them (HAML does that by default). The template path for the
|
18
|
+
Style is compiled by using
|
19
|
+
|
20
|
+
"#{__class__.to_s.downcase.gsub('::','/')}/#{@type}"
|
21
|
+
|
22
|
+
where @type is :default by default. Choose any other by calling #as(type).
|
23
|
+
If you want to add any context, pass them as a hash and they will be avaible
|
24
|
+
as instance variables.
|
25
|
+
If you need to delegate more methods to model/controller use #delegate and
|
26
|
+
#delegate_to_controller. There's a special #association delegater method
|
27
|
+
avaible which handles context passing and so on.
|
28
|
+
|
29
|
+
I'm not yet sure what happens if you use this for collections. Gotta try that.
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'erector'
|
2
|
+
require 'styler'
|
3
|
+
|
4
|
+
class Styler::Widget < Erector::Widget
|
5
|
+
end
|
6
|
+
|
7
|
+
module Styler
|
8
|
+
module ErectorMixin
|
9
|
+
def render(klass)
|
10
|
+
@__controller = self
|
11
|
+
models.each {|name|
|
12
|
+
instance_variable_set("@#{name}",::Styler.new_style_for(instance_variable_get("@#{name}")))
|
13
|
+
}
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
data/lib/styler/mixins/rango.rb
CHANGED
@@ -2,9 +2,8 @@ require 'rango/mixins/rendering'
|
|
2
2
|
require 'styler'
|
3
3
|
module Styler
|
4
4
|
module Style
|
5
|
-
|
6
|
-
|
7
|
-
end
|
5
|
+
include Rango::Helpers
|
6
|
+
include Rango::ImplicitRendering
|
8
7
|
end
|
9
8
|
end
|
10
9
|
|
@@ -16,7 +15,7 @@ module Styler
|
|
16
15
|
models.each {|name|
|
17
16
|
instance_variable_set("@#{name}",::Styler.new_style_for(instance_variable_get("@#{name}")))
|
18
17
|
}
|
19
|
-
super
|
18
|
+
super(template)
|
20
19
|
end
|
21
20
|
end
|
22
21
|
end
|
data/lib/styler/style.rb
CHANGED
@@ -29,6 +29,11 @@ module Styler
|
|
29
29
|
end
|
30
30
|
|
31
31
|
def style_for(model)
|
32
|
+
model.instance_methods.each do |method|
|
33
|
+
unless method_defined? method
|
34
|
+
define_method(method) {|*args| @model.send(method, *args)}
|
35
|
+
end
|
36
|
+
end
|
32
37
|
Styler::STYLES.merge!({model => self})
|
33
38
|
end
|
34
39
|
end
|
data/test/setup.rb
CHANGED
metadata
CHANGED
@@ -5,15 +5,15 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
version: 0.1.
|
8
|
+
- 1
|
9
|
+
version: 0.1.1
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Simon Hafner aka Tass
|
13
13
|
autorequire:
|
14
14
|
bindir: bin
|
15
15
|
cert_chain:
|
16
|
-
date: 2010-
|
16
|
+
date: 2010-03-14 00:00:00 +01:00
|
17
17
|
default_executable:
|
18
18
|
dependencies: []
|
19
19
|
|
@@ -26,6 +26,7 @@ extensions: []
|
|
26
26
|
extra_rdoc_files: []
|
27
27
|
|
28
28
|
files:
|
29
|
+
- lib/styler/mixins/erector.rb
|
29
30
|
- lib/styler/mixins/rango.rb
|
30
31
|
- lib/styler/style.rb
|
31
32
|
- lib/styler.rb
|