hobbit-hole 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.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/hobbit/hole.rb +73 -0
  3. metadata +73 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: bfbd29d2025e9110cdf68cf7fb1a441e36009042
4
+ data.tar.gz: d2b0239faaecdc73f62baaf5d02779be46dab843
5
+ SHA512:
6
+ metadata.gz: 41666774623ab8a434dd1bba292bd0f2149b5badb79f5d049942060cae2d108393ae2f8b407417a937bfa5737a691e9ae648b0dcd7f6c47ea5965b72422a2b9d
7
+ data.tar.gz: 69257f99fe53ed683f06cfe8aa1cd6c30e28c7eef62b920959bd8263f7d88ae3485d39cec470e84c91ca0e8baa261d811ed58d04477da2a7193e7c1567024193
@@ -0,0 +1,73 @@
1
+ require 'mote-angular'
2
+
3
+ module Hobbit
4
+ module Hole
5
+ include ::Mote::Helpers
6
+
7
+ def render_static(file_path)
8
+ File.open("#{views_path}/#{file_path}", "rb").read
9
+ rescue
10
+ "404 File Not Found"
11
+ end
12
+
13
+ def redirect(path)
14
+ response.redirect(path)
15
+ end
16
+
17
+ def views_path
18
+ 'public/views'
19
+ end
20
+
21
+ def layouts_path
22
+ "#{views_path}"
23
+ end
24
+
25
+ def default_layout
26
+ "#{layouts_path}/layout.mote"
27
+ end
28
+
29
+ def session
30
+ env['rack.session']
31
+ end
32
+
33
+ def params
34
+ @params ||= create_params_hash(request.params)
35
+ end
36
+
37
+ def create_params_hash(pre_hash)
38
+ params_hash = symbol_indifferent_hash
39
+ pre_hash.each { |key, value| params_hash[key] = value }
40
+ params_hash
41
+ end
42
+
43
+ def symbol_indifferent_hash
44
+ Hash.new {|value, key| value[key.to_s] if Symbol === key }
45
+ end
46
+
47
+ def find_template(template)
48
+ "#{views_path}/#{template}.mote"
49
+ end
50
+
51
+ def partial(template, params = {}, context = self)
52
+ template = find_template "_#{template}"
53
+ mote template, params, context
54
+ end
55
+
56
+ def render(template, params = {}, context = self)
57
+ template = find_template template
58
+ layout = default_layout
59
+ if params.include? :layout
60
+ layout = params.delete :layout
61
+ end
62
+ if layout
63
+ params = params.merge content: mote(template, params, context)
64
+ mote layout, params, context
65
+ else
66
+ mote template, params, context
67
+ end
68
+ end
69
+
70
+ end
71
+ end
72
+
73
+
metadata ADDED
@@ -0,0 +1,73 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: hobbit-hole
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Erik Griffin
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-03-30 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: mote-angular
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: hobbit
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ description: Allows rendering of static HTML and mote-angular template files
42
+ email:
43
+ - griffin.erik@gmail.com
44
+ executables: []
45
+ extensions: []
46
+ extra_rdoc_files: []
47
+ files:
48
+ - lib/hobbit/hole.rb
49
+ homepage: http://github.com/ErikAGriffin/hobbit-hole.git
50
+ licenses:
51
+ - MIT
52
+ metadata: {}
53
+ post_install_message:
54
+ rdoc_options: []
55
+ require_paths:
56
+ - lib
57
+ required_ruby_version: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ required_rubygems_version: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ version: '0'
67
+ requirements: []
68
+ rubyforge_project:
69
+ rubygems_version: 2.4.5
70
+ signing_key:
71
+ specification_version: 4
72
+ summary: Simple hobbit extension
73
+ test_files: []