track 0.1.0 → 0.2.0
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.
- data/README.md +1 -1
- data/lib/track/orm/active_record.rb +29 -0
- data/lib/track/version.rb +3 -0
- data/lib/track.rb +45 -1
- metadata +13 -11
data/README.md
CHANGED
@@ -7,11 +7,11 @@ A nano framework for server applications based on rack and ruby 1.9 named captur
|
|
7
7
|
- modularize your rack app through controllers
|
8
8
|
- routes paths to methods inside of your controllers via the `route` method
|
9
9
|
- define before filters via the `pre` method
|
10
|
+
- ActiveRecord initializer through `require 'track/orm/active_record'`
|
10
11
|
|
11
12
|
## What Track does *not*
|
12
13
|
|
13
14
|
- support any template engines, your actions have to return low level rack responses
|
14
|
-
- support any ORM framework
|
15
15
|
|
16
16
|
## Install
|
17
17
|
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'active_record'
|
2
|
+
|
3
|
+
module Track
|
4
|
+
module DB
|
5
|
+
|
6
|
+
@@config = nil
|
7
|
+
|
8
|
+
class << self
|
9
|
+
|
10
|
+
def [](key)
|
11
|
+
@@config[key.to_s]
|
12
|
+
end
|
13
|
+
|
14
|
+
def connected?
|
15
|
+
ActiveRecord::Base.connected?
|
16
|
+
end
|
17
|
+
|
18
|
+
def connect!
|
19
|
+
@@config = Track.load_config_file!('database') if @@config.nil?
|
20
|
+
unless connected?
|
21
|
+
ActiveRecord::Base.establish_connection(@@config)
|
22
|
+
ActiveRecord::Base.connection
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|
data/lib/track.rb
CHANGED
@@ -2,5 +2,49 @@ require 'rack'
|
|
2
2
|
require 'track/controller'
|
3
3
|
|
4
4
|
module Track
|
5
|
-
|
5
|
+
|
6
|
+
@@env = ENV['RACK_ENV'].to_sym.freeze
|
7
|
+
@@config = nil
|
8
|
+
@@root = nil
|
9
|
+
|
10
|
+
class << self
|
11
|
+
def boot!(root)
|
12
|
+
@@root = root
|
13
|
+
@@config = load_config_file!(:config)
|
14
|
+
DB.connect! if defined?(DB)
|
15
|
+
end
|
16
|
+
|
17
|
+
def [](key)
|
18
|
+
@@config[key.to_s]
|
19
|
+
end
|
20
|
+
|
21
|
+
def config
|
22
|
+
@@config
|
23
|
+
end
|
24
|
+
|
25
|
+
def env
|
26
|
+
@@env
|
27
|
+
end
|
28
|
+
|
29
|
+
def env?(e)
|
30
|
+
@@env == e.to_sym
|
31
|
+
end
|
32
|
+
|
33
|
+
def root
|
34
|
+
@@root
|
35
|
+
end
|
36
|
+
|
37
|
+
def version
|
38
|
+
VERSION
|
39
|
+
end
|
40
|
+
|
41
|
+
def load_config_file!(filename)
|
42
|
+
begin
|
43
|
+
YAML.load(File.open(File.join(root, 'config', "#{filename}.yml")))[env.to_s]
|
44
|
+
rescue
|
45
|
+
raise "Config file config/config.yml is missing!" if env?(:production)
|
46
|
+
YAML.load(File.open(File.join(root, 'config', "#{filename}.example.yml")))[env.to_s]
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
6
50
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: track
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2011-12-08 00:00:00.000000000Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rack
|
16
|
-
requirement: &
|
16
|
+
requirement: &70284359259660 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70284359259660
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rspec
|
27
|
-
requirement: &
|
27
|
+
requirement: &70284359259000 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70284359259000
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: guard-rspec
|
38
|
-
requirement: &
|
38
|
+
requirement: &70284359258340 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70284359258340
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rack-test
|
49
|
-
requirement: &
|
49
|
+
requirement: &70284359257900 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70284359257900
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: rake
|
60
|
-
requirement: &
|
60
|
+
requirement: &70284359257480 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,7 +65,7 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70284359257480
|
69
69
|
description: Nano framework to build small server applications based on rack and ruby
|
70
70
|
1.9
|
71
71
|
email:
|
@@ -76,7 +76,9 @@ extra_rdoc_files: []
|
|
76
76
|
files:
|
77
77
|
- lib/track/controller.rb
|
78
78
|
- lib/track/filter_map.rb
|
79
|
+
- lib/track/orm/active_record.rb
|
79
80
|
- lib/track/route_map.rb
|
81
|
+
- lib/track/version.rb
|
80
82
|
- lib/track.rb
|
81
83
|
- LICENSE
|
82
84
|
- README.md
|