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 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