synfeld 0.0.4 → 0.0.5
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/.bnsignore +16 -0
- data/.gitignore +2 -0
- data/Gemfile +10 -0
- data/Rakefile +69 -70
- data/example/try_me.ru +7 -3
- data/lib/synfeld.rb +2 -8
- data/lib/synfeld/base.rb +18 -18
- data/synfeld.gemspec +32 -33
- metadata +74 -88
- data/lib/synfeld_info.rb +0 -51
- data/tasks/ann.rake +0 -80
- data/tasks/bones.rake +0 -20
- data/tasks/gem.rake +0 -201
- data/tasks/git.rake +0 -40
- data/tasks/notes.rake +0 -27
- data/tasks/post_load.rake +0 -34
- data/tasks/rdoc.rake +0 -51
- data/tasks/rubyforge.rake +0 -55
- data/tasks/setup.rb +0 -292
- data/tasks/spec.rake +0 -54
- data/tasks/svn.rake +0 -47
- data/tasks/test.rake +0 -40
- data/tasks/zentest.rake +0 -36
data/.bnsignore
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
# The list of files that should be ignored by Mr Bones.
|
2
|
+
# Lines that start with '#' are comments.
|
3
|
+
#
|
4
|
+
# A .gitignore file can be used instead by setting it as the ignore
|
5
|
+
# file in your Rakefile:
|
6
|
+
#
|
7
|
+
# PROJ.ignore_file = '.gitignore'
|
8
|
+
#
|
9
|
+
# For a project with a C extension, the following would be a good set of
|
10
|
+
# exclude patterns (uncomment them if you want to use them):
|
11
|
+
# *.[oa]
|
12
|
+
# *~
|
13
|
+
announcement.txt
|
14
|
+
coverage
|
15
|
+
doc
|
16
|
+
pkg
|
data/.gitignore
CHANGED
data/Gemfile
ADDED
data/Rakefile
CHANGED
@@ -1,74 +1,73 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
# are where the options are used.
|
4
|
-
|
5
|
-
begin
|
6
|
-
require 'bones'
|
7
|
-
Bones.setup
|
8
|
-
rescue LoadError
|
9
|
-
begin
|
10
|
-
load 'tasks/setup.rb'
|
11
|
-
rescue LoadError
|
12
|
-
raise RuntimeError, '### please install the "bones" gem ###'
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
ensure_in_path 'lib'
|
17
|
-
require 'synfeld_info'
|
18
|
-
|
19
|
-
task :default => 'spec:run'
|
20
|
-
|
21
|
-
PROJ.name = 'synfeld'
|
22
|
-
PROJ.authors = 'Steven Swerling'
|
23
|
-
PROJ.email = 'sswerling@yahoo.com'
|
24
|
-
PROJ.url = 'http://tab-a.slot-z.net'
|
25
|
-
PROJ.version = Synfeld::VERSION
|
26
|
-
PROJ.rubyforge.name = 'synfeld'
|
27
|
-
PROJ.gem.dependencies = ['rack', 'rack-router']
|
28
|
-
PROJ.rdoc.opts = ["--inline-source"]
|
29
|
-
PROJ.rdoc.exclude = ["^tasks/setup\.rb$", "lib/synfeld_info.rb"]
|
30
|
-
|
31
|
-
PROJ.spec.opts << '--color'
|
1
|
+
require "bundler/setup"
|
2
|
+
require "bundler/gem_tasks"
|
32
3
|
|
4
|
+
# Note: bundler provides 'rake build' to build the gem.
|
33
5
|
|
6
|
+
desc "Generate RDoc documentation"
|
7
|
+
task :rdoc do
|
8
|
+
sh(*%w{rbenv exec rdoc --line-numbers --main README.rdoc
|
9
|
+
--title 'Supermodel-moto' --charset utf-8 -U -o doc} +
|
10
|
+
%w{README.rdoc} +
|
11
|
+
Dir["lib/**/*.rb"])
|
12
|
+
end
|
34
13
|
|
35
|
-
require 'fileutils'
|
36
|
-
def this_dir; File.join(File.dirname(__FILE__)); end
|
37
|
-
def doc_dir; File.join(this_dir, 'rdoc'); end
|
38
|
-
def tab_a_doc_dir; File.join(this_dir, '../tab-a/public/synfeld/rdoc'); end
|
39
14
|
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
15
|
+
#ensure_in_path 'lib'
|
16
|
+
#require 'synfeld_info'
|
17
|
+
#
|
18
|
+
#task :default => 'spec:run'
|
19
|
+
#
|
20
|
+
#PROJ.name = 'synfeld'
|
21
|
+
#PROJ.authors = 'Steven Swerling'
|
22
|
+
#PROJ.email = 'sswerling@yahoo.com'
|
23
|
+
#PROJ.url = 'http://tab-a.slot-z.net'
|
24
|
+
#PROJ.version = Synfeld::VERSION
|
25
|
+
#PROJ.rubyforge.name = 'synfeld'
|
26
|
+
#PROJ.gem.dependencies = ['rack', 'rack-router']
|
27
|
+
#PROJ.rdoc.opts = ["--inline-source"]
|
28
|
+
#PROJ.rdoc.exclude = ["^tasks/setup\.rb$", "lib/synfeld_info.rb"]
|
29
|
+
#
|
30
|
+
#PROJ.spec.opts << '--color'
|
31
|
+
#
|
32
|
+
#
|
33
|
+
#
|
34
|
+
#require 'fileutils'
|
35
|
+
#def this_dir; File.join(File.dirname(__FILE__)); end
|
36
|
+
#def doc_dir; File.join(this_dir, 'rdoc'); end
|
37
|
+
#def tab_a_doc_dir; File.join(this_dir, '../tab-a/public/synfeld/rdoc'); end
|
38
|
+
#
|
39
|
+
#task :default => 'spec:run'
|
40
|
+
#task :myclobber => [:clobber] do
|
41
|
+
# mydir = File.join(File.dirname(__FILE__))
|
42
|
+
# sh "rm -rf #{File.join(mydir, 'pkg')}"
|
43
|
+
# sh "rm -rf #{File.join(mydir, 'doc')}"
|
44
|
+
# sh "rm -rf #{File.join(mydir, 'rdoc')}"
|
45
|
+
# sh "rm -rf #{File.join(mydir, 'ext/*.log')}"
|
46
|
+
# sh "rm -rf #{File.join(mydir, 'ext/*.o')}"
|
47
|
+
# sh "rm -rf #{File.join(mydir, 'ext/*.so')}"
|
48
|
+
# sh "rm -rf #{File.join(mydir, 'ext/Makefile')}"
|
49
|
+
# sh "rm -rf #{File.join(mydir, 'ext/Makefile')}"
|
50
|
+
# sh "cp #{File.join(mydir, 'README.rdoc')} #{File.join(mydir, 'README.txt')}" # concession to bones
|
51
|
+
#end
|
52
|
+
#task :mypackage => [:myclobber] do
|
53
|
+
# Rake::Task['gem:package'].invoke
|
54
|
+
#end
|
55
|
+
#task :mydoc => [:myclobber] do
|
56
|
+
# FileUtils.rm_f doc_dir()
|
57
|
+
# #sh "cd #{this_dir()} && rdoc -o rdoc --inline-source --format=html -T hanna README.rdoc lib/**/*.rb"
|
58
|
+
# this_dir = File.dirname(__FILE__) + '/'
|
59
|
+
# files = []
|
60
|
+
# files += Dir[File.join(this_dir, 'lib/**/*.rb')].map{|fn| fn.gsub(this_dir,'')}
|
61
|
+
# files += Dir[File.join(this_dir, 'example/**/*.*')].map{|fn| fn.gsub(this_dir,'')}
|
62
|
+
# files += ['README.rdoc']
|
63
|
+
# files = files.reject{|fn| fn =~ /jpg/ }.sort
|
64
|
+
# sh "cd #{this_dir()} && rdoc -o rdoc --inline-source #{files.flatten.join(" ")}"
|
65
|
+
#end
|
66
|
+
#task :taba => [:mydoc] do
|
67
|
+
# this_dir = File.join(File.dirname(__FILE__))
|
68
|
+
# FileUtils.rm_rf tab_a_doc_dir
|
69
|
+
# FileUtils.cp_r doc_dir, tab_a_doc_dir
|
70
|
+
#end
|
71
|
+
#task :mygemspec => [:myclobber] do
|
72
|
+
# Rake::Task['gem:spec'].invoke
|
73
|
+
#end
|
data/example/try_me.ru
CHANGED
@@ -1,6 +1,10 @@
|
|
1
|
-
require
|
1
|
+
require File.expand_path(File.join(File.dirname(__FILE__),'try_me.rb'))
|
2
2
|
use Rack::CommonLogger, logger = Logger.new('/tmp/synfeld.log')
|
3
3
|
#use Rack::Reloader, 0
|
4
|
-
|
5
|
-
|
4
|
+
|
5
|
+
try_me = TryMe.new(
|
6
|
+
:logger => logger,
|
7
|
+
:root_dir => File.expand_path(
|
8
|
+
File.join(File.dirname(__FILE__), 'public')))
|
9
|
+
|
6
10
|
run try_me.as_rack_app
|
data/lib/synfeld.rb
CHANGED
@@ -1,17 +1,11 @@
|
|
1
1
|
F = ::File
|
2
2
|
|
3
3
|
# base ruby requires
|
4
|
-
require 'rubygems'
|
5
4
|
require 'logger'
|
6
|
-
|
7
|
-
# gems dependencies
|
8
|
-
require 'rubygems'
|
9
|
-
|
10
5
|
require 'rack'
|
6
|
+
|
11
7
|
require 'rack/mount'
|
12
8
|
require 'rack/mime'
|
13
9
|
|
14
|
-
|
15
|
-
require F.join(File.dirname(__FILE__), 'synfeld_info')
|
16
|
-
Synfeld.require_all_libs_relative_to(__FILE__)
|
10
|
+
require_relative 'synfeld/base.rb'
|
17
11
|
|
data/lib/synfeld/base.rb
CHANGED
@@ -2,9 +2,9 @@ module Synfeld # :nodoc:
|
|
2
2
|
|
3
3
|
#
|
4
4
|
# See the synopsis section of README.rdoc for usage.
|
5
|
-
#
|
6
|
-
# See the README.rdoc for an overview of an Synfeld::App, and see the Rack::Mount project for
|
7
|
-
# more information on Rack::Mount style routing.
|
5
|
+
#
|
6
|
+
# See the README.rdoc for an overview of an Synfeld::App, and see the Rack::Mount project for
|
7
|
+
# more information on Rack::Mount style routing.
|
8
8
|
#
|
9
9
|
# Variables of note:
|
10
10
|
#
|
@@ -40,14 +40,14 @@ module Synfeld # :nodoc:
|
|
40
40
|
puts "WARNING: Synfeld not configured with a logger, using STDOUT. Won't have much to say if running as a daemon."
|
41
41
|
end
|
42
42
|
|
43
|
-
@root_dir = opts[:root_dir]
|
43
|
+
@root_dir = opts[:root_dir]
|
44
44
|
if self.root_dir.nil?
|
45
|
-
raise "You have to pass in the location of the 'root_dir', where all the files in your synfeld app are located"
|
45
|
+
raise "You have to pass in the location of the 'root_dir', where all the files in your synfeld app are located"
|
46
46
|
end
|
47
47
|
|
48
48
|
Kernel.at_exit {self.whine("Alright, I'm outta here.")}
|
49
49
|
end
|
50
|
-
|
50
|
+
|
51
51
|
#
|
52
52
|
# RACK PLUMBING
|
53
53
|
#
|
@@ -58,10 +58,10 @@ module Synfeld # :nodoc:
|
|
58
58
|
routes = Rack::Mount::RouteSet.new do |set|
|
59
59
|
@set = set
|
60
60
|
self.add_routes
|
61
|
-
add_route %r{^.*$}, :action => "render_static"
|
61
|
+
add_route %r{^.*$}, :action => "render_static"
|
62
62
|
end
|
63
63
|
return routes
|
64
|
-
end
|
64
|
+
end
|
65
65
|
|
66
66
|
# The rack #call method
|
67
67
|
def call(env)
|
@@ -108,9 +108,9 @@ module Synfeld # :nodoc:
|
|
108
108
|
|
109
109
|
def _call(env) # :nodoc:
|
110
110
|
begin
|
111
|
-
start_time = Time.now.to_f
|
111
|
+
start_time = Time.now.to_f
|
112
112
|
@env = env
|
113
|
-
@params = env[
|
113
|
+
@params = env['rack.routing_args']
|
114
114
|
@response = {
|
115
115
|
:status_code => 200,
|
116
116
|
:headers => {'Content-Type' => 'text/html'},
|
@@ -123,7 +123,7 @@ module Synfeld # :nodoc:
|
|
123
123
|
else
|
124
124
|
result = self.no_action
|
125
125
|
end
|
126
|
-
|
126
|
+
|
127
127
|
if result.is_a?(String)
|
128
128
|
response[:body] = result
|
129
129
|
else
|
@@ -149,7 +149,7 @@ module Synfeld # :nodoc:
|
|
149
149
|
# EXCEPTIONS
|
150
150
|
#
|
151
151
|
|
152
|
-
# send an error message to the log prepended by "Synfeld: "
|
152
|
+
# send an error message to the log prepended by "Synfeld: "
|
153
153
|
def whine msg
|
154
154
|
logger.error("Synfeld laments: " + msg)
|
155
155
|
return msg
|
@@ -177,7 +177,7 @@ module Synfeld # :nodoc:
|
|
177
177
|
F.read(full_path(fn))
|
178
178
|
end
|
179
179
|
|
180
|
-
# Serve up a blob of json (just sets Content-Type to 'text/javascript' and
|
180
|
+
# Serve up a blob of json (just sets Content-Type to 'text/javascript' and
|
181
181
|
# sets the body to the json passed in to this method).
|
182
182
|
def render_json(json)
|
183
183
|
self.response[:headers]['Content-Type'] = 'text/javascript'
|
@@ -214,8 +214,8 @@ module Synfeld # :nodoc:
|
|
214
214
|
template = ERB.new F.read(full_path(fn))
|
215
215
|
|
216
216
|
bind = binding
|
217
|
-
locals.each do |n,v|
|
218
|
-
raise "Locals must be symbols. Not a symbol: #{n.inspect}" unless n.is_a?(Symbol)
|
217
|
+
locals.each do |n,v|
|
218
|
+
raise "Locals must be symbols. Not a symbol: #{n.inspect}" unless n.is_a?(Symbol)
|
219
219
|
eval("#{n} = locals[:#{n}]", bind)
|
220
220
|
end
|
221
221
|
template.result(bind)
|
@@ -258,18 +258,18 @@ module Synfeld # :nodoc:
|
|
258
258
|
end
|
259
259
|
|
260
260
|
# Return fn if a file by that name exists. If not, concatenate the @root_dir with the fn, and
|
261
|
-
# return that if it exists. Raise if the actual file cannot be determined.
|
261
|
+
# return that if it exists. Raise if the actual file cannot be determined.
|
262
262
|
#
|
263
263
|
# NOTE: no effort is made to protect access to files outside of your application's root
|
264
264
|
# dir. If you permit filepaths as request parameters, then it is up to you to make sure
|
265
|
-
# that they do not point to some sensitive part of your file-system.
|
265
|
+
# that they do not point to some sensitive part of your file-system.
|
266
266
|
def full_path(fn)
|
267
267
|
if F.exist?(fn)
|
268
268
|
return fn
|
269
269
|
elsif F.exist?(full_fn = F.join(self.root_dir, fn))
|
270
270
|
return full_fn
|
271
271
|
else
|
272
|
-
raise "Could not find file '#{fn}' (full path '#{full_fn}')"
|
272
|
+
raise "Could not find file '#{fn}' (full path '#{full_fn}')"
|
273
273
|
end
|
274
274
|
end
|
275
275
|
|
data/synfeld.gemspec
CHANGED
@@ -2,49 +2,48 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{synfeld}
|
5
|
-
s.version = "0.0.
|
5
|
+
s.version = "0.0.5"
|
6
|
+
s.platform = Gem::Platform::RUBY
|
7
|
+
s.authors = ["Steven Swerling"]
|
8
|
+
s.email = %q{sswerling@yahoo.com}
|
9
|
+
s.homepage = %q{http://tab-a.slot-z.net}
|
10
|
+
s.summary = %q{Synfeld is a web application framework that does practically nothing}
|
6
11
|
|
7
12
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
|
-
s.
|
9
|
-
s.
|
10
|
-
|
13
|
+
s.date = %q{2009-09-26}
|
14
|
+
s.description = %q{
|
15
|
+
Synfeld is a web application framework that does practically nothing.
|
11
16
|
|
12
|
-
Synfeld is little more than a small wrapper for Rack::Mount (see
|
17
|
+
Synfeld is little more than a small wrapper for Rack::Mount (see
|
18
|
+
http://github.com/josh/rack-mount). If you want a web framework that is
|
19
|
+
mostly just going to serve up json blobs, and occasionally serve up some
|
20
|
+
simple content (eg. help files) and media, Synfeld makes that easy.
|
13
21
|
|
14
|
-
The sample app below shows pretty much everything there is to know about
|
22
|
+
The sample app below shows pretty much everything there is to know about
|
23
|
+
synfeld, in particular:
|
15
24
|
|
16
25
|
* How to define routes.
|
17
26
|
* Simple rendering of erb, haml, html, json, and static files.
|
18
|
-
* In the case of erb and haml, passing variables into the template is
|
19
|
-
|
20
|
-
*
|
21
|
-
|
27
|
+
* In the case of erb and haml, passing variables into the template is
|
28
|
+
demonstrated.
|
29
|
+
* A dynamic action where the status code, headers, and body are created
|
30
|
+
'manually' (/my/special/route below)
|
31
|
+
* A simple way of creating format sensitive routes (/alphabet.html vs.
|
32
|
+
/alphabet.json)
|
33
|
+
* The erb demo link also demos the rendering of a partial (not visible in the
|
34
|
+
code below, you have to look at the template file
|
35
|
+
examples/public/erb_files/erb_test.erb).
|
36
|
+
}
|
22
37
|
s.extra_rdoc_files = ["History.txt", "README.rdoc", "README.txt"]
|
23
|
-
s.files =
|
24
|
-
s.
|
38
|
+
s.files = `git ls-files`.split("\n")
|
39
|
+
#s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
40
|
+
#s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
41
|
+
#s.require_paths = ["lib"]
|
42
|
+
|
25
43
|
s.rdoc_options = ["--inline-source", "--main", "README.txt"]
|
26
44
|
s.require_paths = ["lib"]
|
27
|
-
s.rubyforge_project = %q{synfeld}
|
28
|
-
s.rubygems_version = %q{1.3.5}
|
29
|
-
s.summary = %q{Synfeld is a web application framework that does practically nothing}
|
30
45
|
s.test_files = ["test/test_synfeld.rb"]
|
31
46
|
|
32
|
-
|
33
|
-
|
34
|
-
s.specification_version = 3
|
35
|
-
|
36
|
-
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
37
|
-
s.add_runtime_dependency(%q<rack>, [">= 0"])
|
38
|
-
s.add_runtime_dependency(%q<rack-router>, [">= 0"])
|
39
|
-
s.add_development_dependency(%q<bones>, [">= 2.5.1"])
|
40
|
-
else
|
41
|
-
s.add_dependency(%q<rack>, [">= 0"])
|
42
|
-
s.add_dependency(%q<rack-router>, [">= 0"])
|
43
|
-
s.add_dependency(%q<bones>, [">= 2.5.1"])
|
44
|
-
end
|
45
|
-
else
|
46
|
-
s.add_dependency(%q<rack>, [">= 0"])
|
47
|
-
s.add_dependency(%q<rack-router>, [">= 0"])
|
48
|
-
s.add_dependency(%q<bones>, [">= 2.5.1"])
|
49
|
-
end
|
47
|
+
s.add_development_dependency "rake"
|
48
|
+
s.add_dependency 'rack' '>=0'
|
50
49
|
end
|
metadata
CHANGED
@@ -1,71 +1,71 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: synfeld
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.5
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
|
-
authors:
|
7
|
+
authors:
|
7
8
|
- Steven Swerling
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
- - ">="
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version: "0"
|
24
|
-
version:
|
25
|
-
- !ruby/object:Gem::Dependency
|
26
|
-
name: rack-router
|
27
|
-
type: :runtime
|
28
|
-
version_requirement:
|
29
|
-
version_requirements: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: "0"
|
34
|
-
version:
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
name: bones
|
12
|
+
date: 2009-09-26 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: rake
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
37
22
|
type: :development
|
38
|
-
|
39
|
-
version_requirements: !ruby/object:Gem::Requirement
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: rack>=0
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
38
|
+
type: :runtime
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
description: ! "\nSynfeld is a web application framework that does practically nothing.\n\nSynfeld
|
47
|
+
is little more than a small wrapper for Rack::Mount (see\nhttp://github.com/josh/rack-mount).
|
48
|
+
\ If you want a web framework that is\nmostly just going to serve up json blobs,
|
49
|
+
and occasionally serve up some\nsimple content (eg. help files) and media, Synfeld
|
50
|
+
makes that easy.\n\nThe sample app below shows pretty much everything there is to
|
51
|
+
know about\nsynfeld, in particular:\n\n* How to define routes.\n* Simple rendering
|
52
|
+
of erb, haml, html, json, and static files.\n* In the case of erb and haml, passing
|
53
|
+
variables into the template is\ndemonstrated.\n* A dynamic action where the status
|
54
|
+
code, headers, and body are created\n'manually' (/my/special/route below)\n* A simple
|
55
|
+
way of creating format sensitive routes (/alphabet.html vs.\n/alphabet.json)\n*
|
56
|
+
The erb demo link also demos the rendering of a partial (not visible in the\ncode
|
57
|
+
below, you have to look at the template file\n examples/public/erb_files/erb_test.erb).\n"
|
58
58
|
email: sswerling@yahoo.com
|
59
59
|
executables: []
|
60
|
-
|
61
60
|
extensions: []
|
62
|
-
|
63
|
-
extra_rdoc_files:
|
61
|
+
extra_rdoc_files:
|
64
62
|
- History.txt
|
65
63
|
- README.rdoc
|
66
64
|
- README.txt
|
67
|
-
files:
|
65
|
+
files:
|
66
|
+
- .bnsignore
|
68
67
|
- .gitignore
|
68
|
+
- Gemfile
|
69
69
|
- History.txt
|
70
70
|
- README.rdoc
|
71
71
|
- README.txt
|
@@ -81,54 +81,40 @@ files:
|
|
81
81
|
- example/try_me.ru
|
82
82
|
- lib/synfeld.rb
|
83
83
|
- lib/synfeld/base.rb
|
84
|
-
- lib/synfeld_info.rb
|
85
84
|
- spec/spec_helper.rb
|
86
85
|
- spec/synfeld_spec.rb
|
87
86
|
- synfeld.gemspec
|
88
|
-
- tasks/ann.rake
|
89
|
-
- tasks/bones.rake
|
90
|
-
- tasks/gem.rake
|
91
|
-
- tasks/git.rake
|
92
|
-
- tasks/notes.rake
|
93
|
-
- tasks/post_load.rake
|
94
|
-
- tasks/rdoc.rake
|
95
|
-
- tasks/rubyforge.rake
|
96
|
-
- tasks/setup.rb
|
97
|
-
- tasks/spec.rake
|
98
|
-
- tasks/svn.rake
|
99
|
-
- tasks/test.rake
|
100
|
-
- tasks/zentest.rake
|
101
87
|
- test/test_synfeld.rb
|
102
88
|
- work/rackmount-test.ru
|
103
|
-
has_rdoc: true
|
104
89
|
homepage: http://tab-a.slot-z.net
|
105
90
|
licenses: []
|
106
|
-
|
107
91
|
post_install_message:
|
108
|
-
rdoc_options:
|
92
|
+
rdoc_options:
|
109
93
|
- --inline-source
|
110
94
|
- --main
|
111
95
|
- README.txt
|
112
|
-
require_paths:
|
96
|
+
require_paths:
|
113
97
|
- lib
|
114
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
98
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
99
|
+
none: false
|
100
|
+
requirements:
|
101
|
+
- - ! '>='
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
segments:
|
105
|
+
- 0
|
106
|
+
hash: 703765457
|
107
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
108
|
+
none: false
|
109
|
+
requirements:
|
110
|
+
- - ! '>='
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
version: '0'
|
126
113
|
requirements: []
|
127
|
-
|
128
|
-
|
129
|
-
rubygems_version: 1.3.2
|
114
|
+
rubyforge_project:
|
115
|
+
rubygems_version: 1.8.23
|
130
116
|
signing_key:
|
131
117
|
specification_version: 3
|
132
118
|
summary: Synfeld is a web application framework that does practically nothing
|
133
|
-
test_files:
|
119
|
+
test_files:
|
134
120
|
- test/test_synfeld.rb
|