helperiffic 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,34 @@
1
+ class HelperBroker
2
+ def initialize(teh_scope)
3
+ @scope = teh_scope
4
+ @helpers = {}
5
+ end
6
+
7
+ def helper(name)
8
+ class_sym = "#{name.capitalize}Helper".to_sym
9
+ @helpers[class_sym] ||= load_helper(class_sym)
10
+ end
11
+
12
+ def method_missing(method_sym, *args, &block)
13
+ h = helper(method_sym)
14
+ h.send(method_sym, *args, &block)
15
+ end
16
+
17
+ private
18
+
19
+ def load_helper(class_sym)
20
+ h = @scope.class.const_get(class_sym).new
21
+ h.hb = self if h.respond_to? :"hb="
22
+ h
23
+ end
24
+ end
25
+
26
+ module Helperiffic
27
+ def hb=(helperBroker)
28
+ @hb = helperBroker
29
+ end
30
+
31
+ def hb
32
+ @hb
33
+ end
34
+ end
@@ -0,0 +1,14 @@
1
+ require 'sinatra/base'
2
+ require 'helperiffic'
3
+
4
+ module Sinatra
5
+ module Helperiffic
6
+ def self.registered(app)
7
+ app.helpers do
8
+ def hb
9
+ @helper_broker ||= HelperBroker.new(self)
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
metadata ADDED
@@ -0,0 +1,65 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: helperiffic
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 0
8
+ - 1
9
+ version: 0.0.1
10
+ platform: ruby
11
+ authors:
12
+ - Hector Virgen
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2012-05-30 00:00:00 -07:00
18
+ default_executable:
19
+ dependencies: []
20
+
21
+ description: Finally, helpers that make sense!
22
+ email: djvirgen@gmail.com
23
+ executables: []
24
+
25
+ extensions: []
26
+
27
+ extra_rdoc_files: []
28
+
29
+ files:
30
+ - lib/helperiffic.rb
31
+ - lib/sinatra/helperiffic.rb
32
+ has_rdoc: true
33
+ homepage: https://github.com/djvirgen/helperiffic
34
+ licenses: []
35
+
36
+ post_install_message:
37
+ rdoc_options: []
38
+
39
+ require_paths:
40
+ - lib
41
+ required_ruby_version: !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ segments:
47
+ - 0
48
+ version: "0"
49
+ required_rubygems_version: !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ segments:
55
+ - 0
56
+ version: "0"
57
+ requirements: []
58
+
59
+ rubyforge_project:
60
+ rubygems_version: 1.3.7
61
+ signing_key:
62
+ specification_version: 3
63
+ summary: Better Helpers for Rails/Sinatra
64
+ test_files: []
65
+