socks 0.0.7.beta → 0.0.8.beta
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/CHANGELOG +4 -0
- data/README.md +29 -9
- data/TODO.md +0 -1
- data/bin/socks +20 -2
- data/lib/socks/content_helpers.rb +16 -0
- data/lib/socks/version.rb +1 -1
- data/lib/socks.rb +6 -0
- data/socks.gemspec +2 -0
- metadata +35 -2
data/CHANGELOG
CHANGED
data/README.md
CHANGED
@@ -3,32 +3,52 @@
|
|
3
3
|
|
4
4
|
[](https://gemnasium.com/Beakr/socks)
|
5
5
|
|
6
|
-
Socks
|
6
|
+
Socks is a web framework and Ruby library supported by Rack for making complex or very simple webapps fast.
|
7
7
|
|
8
|
-
##
|
8
|
+
## Why Socks?
|
9
9
|
|
10
|
-
|
10
|
+
Socks is as simple as [Sinatra](), yet as complex/powerful as [Rails](). The goal is to be able to write a simple app quickly, and still retain enough power to keep complex/powerful apps going.
|
11
|
+
|
12
|
+
## Installation
|
13
|
+
|
14
|
+
Choose the one that fits your need:
|
11
15
|
|
12
16
|
```sh
|
13
|
-
$ gem install socks
|
17
|
+
$ gem install socks --pre # General, global install + command-line app
|
18
|
+
```
|
19
|
+
|
20
|
+
```ruby
|
21
|
+
gem 'socks' # For Gemfiles
|
22
|
+
|
23
|
+
gem.add_dependency "socks" # For your Gemspec
|
14
24
|
```
|
25
|
+
## Quick Start
|
15
26
|
|
16
|
-
|
27
|
+
First, create a new Socks app using:
|
17
28
|
|
18
29
|
```sh
|
19
|
-
$ socks new
|
30
|
+
$ socks new myapp
|
31
|
+
$ cd myapp
|
20
32
|
```
|
21
33
|
|
22
|
-
|
34
|
+
Next, go to `config/router.rb` and paste in the following between the `Router = HttpROuter.new do ... end` statement:
|
23
35
|
|
24
|
-
|
36
|
+
```ruby
|
37
|
+
get('/') { |env| [200, {'Content-type' => 'text/plain'}, ['This is my first Socks app!']] }
|
38
|
+
```
|
25
39
|
|
26
|
-
|
40
|
+
Afterward, use:
|
27
41
|
|
28
42
|
```sh
|
29
43
|
$ socks start
|
30
44
|
```
|
31
45
|
|
46
|
+
To spin up a web server on `localhost:4000`.
|
47
|
+
|
48
|
+
Take a look, you should see the following text appear in your web browser:
|
49
|
+
|
50
|
+
This is my first Socks app!
|
51
|
+
|
32
52
|
## Contributing
|
33
53
|
|
34
54
|
1. Fork it
|
data/TODO.md
CHANGED
data/bin/socks
CHANGED
@@ -7,6 +7,8 @@ require 'fileutils'
|
|
7
7
|
|
8
8
|
program :version, Socks::VERSION
|
9
9
|
program :description, 'A Ruby-Rack-based microframework'
|
10
|
+
|
11
|
+
default_command :about
|
10
12
|
|
11
13
|
command :new do |c|
|
12
14
|
c.syntax = 'socks new [options]'
|
@@ -33,7 +35,7 @@ Bundler.setup
|
|
33
35
|
require File.expand_path(\"../config/router.rb\", __FILE__)
|
34
36
|
|
35
37
|
# Controllers
|
36
|
-
Dir[\"
|
38
|
+
Dir[\"../app/controllers\" + \"*.rb\"].each do |file|
|
37
39
|
require file
|
38
40
|
end
|
39
41
|
|
@@ -70,6 +72,10 @@ gem \"http_router\"
|
|
70
72
|
# Use RSpec for tests
|
71
73
|
gem \"rspec\""
|
72
74
|
|
75
|
+
rakefile = "# Socks generates many helpful Rake tasks for you!
|
76
|
+
require \"socks\"
|
77
|
+
Socks::Tasks.install"
|
78
|
+
|
73
79
|
gitignore = ".DS_Store"
|
74
80
|
|
75
81
|
procfile = "web: bundle exec rackup config.ru -p 4000"
|
@@ -93,7 +99,7 @@ end
|
|
93
99
|
FileUtils.cd app
|
94
100
|
FileUtils.mkdir %w( app config )
|
95
101
|
FileUtils.mkdir %w( app/controllers app/views ) # Sub-dirs
|
96
|
-
FileUtils.touch %w( config.ru Gemfile .gitignore Procfile )
|
102
|
+
FileUtils.touch %w( config.ru Gemfile Rakefile .gitignore Procfile )
|
97
103
|
|
98
104
|
# -------------------------------------------------------------------------
|
99
105
|
# File Initialization |
|
@@ -102,6 +108,8 @@ end
|
|
102
108
|
|
103
109
|
system("echo '#{config_ru}' >> config.ru")
|
104
110
|
system("echo '#{gemfile}' >> Gemfile")
|
111
|
+
system("echo '#{rakefile}' >> Rakefile")
|
112
|
+
|
105
113
|
system("echo '#{gitignore}' >> .gitignore")
|
106
114
|
system("echo '#{procfile}' >> Procfile")
|
107
115
|
|
@@ -109,6 +117,8 @@ end
|
|
109
117
|
|
110
118
|
system("echo '#{router_template}' >> config/router.rb")
|
111
119
|
|
120
|
+
system("bundle")
|
121
|
+
|
112
122
|
end
|
113
123
|
end
|
114
124
|
|
@@ -143,6 +153,7 @@ command :start do |c|
|
|
143
153
|
c.description = 'Startup a Rack server'
|
144
154
|
c.action do |args, options|
|
145
155
|
system('foreman start') # Startup server including code in lib/ that runs on port 4000
|
156
|
+
notify "Socks server is up"
|
146
157
|
end
|
147
158
|
end
|
148
159
|
|
@@ -154,6 +165,13 @@ command :version do |c|
|
|
154
165
|
end
|
155
166
|
end
|
156
167
|
|
168
|
+
command :about do |c|
|
169
|
+
c.syntax = 'socks about [options]'
|
170
|
+
c.action do |args, options|
|
171
|
+
system("echo \"\e[32m Usage: socks new APP_NAME\"")
|
172
|
+
end
|
173
|
+
end
|
174
|
+
|
157
175
|
# -------------------------------------------------------------------------
|
158
176
|
# Helpers |
|
159
177
|
# -------------------------------------------------------------------------
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# Content helpers are used for small responses with Rack (usually in router.rb) for rendering pure text, or HTML.
|
2
|
+
|
3
|
+
module Socks
|
4
|
+
class ContentHelpers
|
5
|
+
|
6
|
+
# A pure text formatting
|
7
|
+
def txt(str)
|
8
|
+
[200, {'Content-type' => 'text/plain'}, ["#{str}"]]
|
9
|
+
end
|
10
|
+
|
11
|
+
def html(str)
|
12
|
+
[200, {'Content-type' => 'text/html'}, ["#{str}"]]
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
16
|
+
end
|
data/lib/socks/version.rb
CHANGED
data/lib/socks.rb
CHANGED
@@ -1,6 +1,12 @@
|
|
1
|
+
#Dir.glob(File.dirname(__FILE__) + '/socks/*.rb', &method(:require))
|
1
2
|
require "socks/version"
|
2
3
|
require "socks/base_controller"
|
3
4
|
require "socks/templates"
|
5
|
+
require "socks/content_helpers"
|
6
|
+
|
7
|
+
## Tasks
|
8
|
+
#require File.expand_path("../socks/tasks.rb", __FILE__)
|
9
|
+
#require File.expand_path("../socks/rake_tasks.rb", __FILE__)
|
4
10
|
|
5
11
|
module Socks
|
6
12
|
end
|
data/socks.gemspec
CHANGED
@@ -18,9 +18,11 @@ Gem::Specification.new do |gem|
|
|
18
18
|
# Rack HTTP
|
19
19
|
gem.add_dependency "rack"
|
20
20
|
gem.add_dependency "http_router"
|
21
|
+
gem.add_dependency "commander" # For command-line app
|
21
22
|
|
22
23
|
gem.add_development_dependency "rake"
|
23
24
|
gem.add_development_dependency "rspec"
|
24
25
|
gem.add_development_dependency "guard"
|
25
26
|
gem.add_development_dependency "bundler"
|
27
|
+
gem.add_development_dependency "debugger"
|
26
28
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: socks
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8.beta
|
5
5
|
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-04-
|
12
|
+
date: 2012-04-30 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rack
|
@@ -43,6 +43,22 @@ dependencies:
|
|
43
43
|
- - ! '>='
|
44
44
|
- !ruby/object:Gem::Version
|
45
45
|
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: commander
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :runtime
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
46
62
|
- !ruby/object:Gem::Dependency
|
47
63
|
name: rake
|
48
64
|
requirement: !ruby/object:Gem::Requirement
|
@@ -107,6 +123,22 @@ dependencies:
|
|
107
123
|
- - ! '>='
|
108
124
|
- !ruby/object:Gem::Version
|
109
125
|
version: '0'
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: debugger
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
130
|
+
requirements:
|
131
|
+
- - ! '>='
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: '0'
|
134
|
+
type: :development
|
135
|
+
prerelease: false
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ! '>='
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '0'
|
110
142
|
description: An in-development web framework using Rack.
|
111
143
|
email:
|
112
144
|
- beakr@ninjanizr.com
|
@@ -127,6 +159,7 @@ files:
|
|
127
159
|
- bin/socks
|
128
160
|
- lib/socks.rb
|
129
161
|
- lib/socks/base_controller.rb
|
162
|
+
- lib/socks/content_helpers.rb
|
130
163
|
- lib/socks/templates.rb
|
131
164
|
- lib/socks/version.rb
|
132
165
|
- skel/config_ru
|