synfeld 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -6,3 +6,5 @@ ext/mkmf.log
6
6
  ext/*.o
7
7
  ext/*.so
8
8
  *.swp
9
+ .rbenv-version
10
+ Gemfile.lock
data/Gemfile ADDED
@@ -0,0 +1,10 @@
1
+ source 'https://rubygems.org'
2
+
3
+ #####################
4
+ # The basics
5
+ #####################
6
+ gem 'haml'
7
+ gem 'rack-mount'
8
+ gem 'rack'
9
+
10
+
data/Rakefile CHANGED
@@ -1,74 +1,73 @@
1
- # Look in the tasks/setup.rb file for the various options that can be
2
- # configured in this Rakefile. The .rake files in the tasks directory
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
- task :default => 'spec:run'
41
- task :myclobber => [:clobber] do
42
- mydir = File.join(File.dirname(__FILE__))
43
- sh "rm -rf #{File.join(mydir, 'pkg')}"
44
- sh "rm -rf #{File.join(mydir, 'doc')}"
45
- sh "rm -rf #{File.join(mydir, 'rdoc')}"
46
- sh "rm -rf #{File.join(mydir, 'ext/*.log')}"
47
- sh "rm -rf #{File.join(mydir, 'ext/*.o')}"
48
- sh "rm -rf #{File.join(mydir, 'ext/*.so')}"
49
- sh "rm -rf #{File.join(mydir, 'ext/Makefile')}"
50
- sh "rm -rf #{File.join(mydir, 'ext/Makefile')}"
51
- sh "cp #{File.join(mydir, 'README.rdoc')} #{File.join(mydir, 'README.txt')}" # concession to bones
52
- end
53
- task :mypackage => [:myclobber] do
54
- Rake::Task['gem:package'].invoke
55
- end
56
- task :mydoc => [:myclobber] do
57
- FileUtils.rm_f doc_dir()
58
- #sh "cd #{this_dir()} && rdoc -o rdoc --inline-source --format=html -T hanna README.rdoc lib/**/*.rb"
59
- this_dir = File.dirname(__FILE__) + '/'
60
- files = []
61
- files += Dir[File.join(this_dir, 'lib/**/*.rb')].map{|fn| fn.gsub(this_dir,'')}
62
- files += Dir[File.join(this_dir, 'example/**/*.*')].map{|fn| fn.gsub(this_dir,'')}
63
- files += ['README.rdoc']
64
- files = files.reject{|fn| fn =~ /jpg/ }.sort
65
- sh "cd #{this_dir()} && rdoc -o rdoc --inline-source #{files.flatten.join(" ")}"
66
- end
67
- task :taba => [:mydoc] do
68
- this_dir = File.join(File.dirname(__FILE__))
69
- FileUtils.rm_rf tab_a_doc_dir
70
- FileUtils.cp_r doc_dir, tab_a_doc_dir
71
- end
72
- task :mygemspec => [:myclobber] do
73
- Rake::Task['gem:spec'].invoke
74
- end
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 ::File.join(::File.dirname(__FILE__),'try_me.rb')
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
- try_me = TryMe.new( :logger => logger,
5
- :root_dir => ::File.expand_path(::File.join(::File.dirname(__FILE__), 'public')))
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
- # my files (require_all_libs_relative_to is a bones util method in synfeld_info.rb)
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[ Rack::Mount::Const::RACK_ROUTING_ARGS ]
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.4"
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.authors = ["Steven Swerling"]
9
- s.date = %q{2009-09-25}
10
- s.description = %q{Synfeld is a web application framework that does practically nothing.
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 http://github.com/josh/rack-mount). If you want a web framework that is mostly just going to serve up json blobs, and occasionally serve up some simple content (eg. help files) and media, Synfeld makes that easy.
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 synfeld, in particular:
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 demonstrated.
19
- * A dymamic action where the status code, headers, and body are created 'manually.'
20
- * The erb demo link also demos the rendering of a partial (not visible in the code below, you have to look at the template file examples/public/erb_files/erb_test.erb).}
21
- s.email = %q{sswerling@yahoo.com}
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 = [".gitignore", "History.txt", "README.rdoc", "README.txt", "Rakefile", "TODO", "TODO-rack-mount", "example/public/erb_files/erb_test.erb", "example/public/haml_files/haml_test.haml", "example/public/haml_files/home.haml", "example/public/html_files/html_test.html", "example/public/images/beef_interstellar_thm.jpg", "example/public/images/rails.png", "example/try_me.rb", "example/try_me.ru", "lib/synfeld.rb", "lib/synfeld/base.rb", "lib/synfeld_info.rb", "rackmount-test.ru", "spec/spec_helper.rb", "spec/synfeld_spec.rb", "synfeld.gemspec", "test/test_synfeld.rb"]
24
- s.homepage = %q{http://tab-a.slot-z.net}
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
- if s.respond_to? :specification_version then
33
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
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.4
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
- date: 2009-10-11 00:00:00 -04:00
13
- default_executable:
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
16
- name: rack
17
- type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
20
- requirements:
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
- version_requirement:
39
- version_requirements: !ruby/object:Gem::Requirement
40
- requirements:
41
- - - ">="
42
- - !ruby/object:Gem::Version
43
- version: 2.5.1
44
- version:
45
- description: |-
46
- Synfeld is a web application framework that does practically nothing.
47
-
48
- Synfeld is little more than a small wrapper for Rack::Mount (see http://github.com/josh/rack-mount). If you want a web framework that is mostly just going to serve up json blobs, and occasionally serve up some simple content (eg. help files) and media, Synfeld makes that easy.
49
-
50
- The sample app below shows pretty much everything there is to know about synfeld, in particular:
51
-
52
- * How to define routes.
53
- * Simple rendering of erb, haml, html, json, and static files.
54
- * In the case of erb and haml, passing variables into the template is demonstrated.
55
- * A dynamic action where the status code, headers, and body are created 'manually' (/my/special/route below)
56
- * A simple way of creating format sensitive routes (/alphabet.html vs. /alphabet.json)
57
- * The erb demo link also demos the rendering of a partial (not visible in the code below, you have to look at the template file examples/public/erb_files/erb_test.erb).
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
- requirements:
116
- - - ">="
117
- - !ruby/object:Gem::Version
118
- version: "0"
119
- version:
120
- required_rubygems_version: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- version: "0"
125
- version:
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
- rubyforge_project: synfeld
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