sinatra_more 0.3.41 → 0.3.42

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore ADDED
@@ -0,0 +1,25 @@
1
+ ## MAC OS
2
+ .DS_Store
3
+
4
+ ## TEXTMATE
5
+ *.tmproj
6
+ tmtags
7
+
8
+ ## EMACS
9
+ *~
10
+ \#*
11
+ .\#*
12
+
13
+ ## VIM
14
+ *.swp
15
+
16
+ ## PROJECT::GENERAL
17
+ coverage
18
+ rdoc
19
+ pkg
20
+
21
+ ## PROJECT::SPECIFIC
22
+ webrat.log
23
+ tmp/**/*
24
+ .rvmrc
25
+ Gemfile.lock
data/Gemfile CHANGED
@@ -1,8 +1,3 @@
1
1
  source :rubygems
2
2
 
3
- gem "jeweler"
4
- gem "builder"
5
- gem "xml-simple"
6
- gem "warden"
7
- gem "tmail"
8
3
  gemspec
data/README.rdoc CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
  == Notice
4
4
 
5
- Worth noting here is that sinatra_more is still undergoing minor bug fixes and I will manage pull requests but _development has stopped_. The reason for this is that this project has been superseded by another project called the {Padrino Framework}[http://www.padrinorb.com].
5
+ Worth noting here is that sinatra_more is still undergoing minor bug fixes and I will manage pull requests but <b>development has stopped</b>. The reason for this is that this project has been superseded by another project called the {Padrino Framework}[http://www.padrinorb.com].
6
6
 
7
- {Padrino}[http://www.padrinorb.com] is definately the place to look in the future
8
- for a modular extension to Sinatra. Note that {Padrino}[http://github.com/padrino/padrino-framework] contains
9
- everything from sinatra_more but is far more ambitious and larger in scope.
7
+ {Padrino}[http://www.padrinorb.com] is definately the place to look in the future
8
+ for modular extensions to Sinatra. Note that {Padrino}[http://github.com/padrino/padrino-framework] contains
9
+ everything from sinatra_more but is far more ambitious and larger in scope.
10
10
 
11
11
  Padrino development is already well underway towards a 1.0 release, has a larger number of core developers, and a number of production applications have already been deployed. The idea for Padrino is to start with Sinatra and follow that philosophy but to super-charge the functionality adding support for development code reloading, advanced route definitions, I18n localization support, baked-in orm support, baked-in code generators, multi-app support, admin dashboard, authentication logic, view helpers, and more.
12
12
 
@@ -24,11 +24,11 @@ The canonical example of how to create an entire simple web application with Sin
24
24
  get '/' do
25
25
  'Hello world!'
26
26
  end
27
-
27
+
28
28
  and then to run the application:
29
29
 
30
30
  $ ruby myapp.rb
31
-
31
+
32
32
  The extreme simplicity of the framework is quite refreshing. I have been using Sinatra a great deal
33
33
  for recent projects. First for small and simple json and xml web services and then even
34
34
  for more complex full-featured applications. This gem represents my attempt to make it as fun and easy
@@ -36,12 +36,12 @@ as possible to code increasingly advanced view-heavy web applications in Sinatra
36
36
 
37
37
  == Introduction
38
38
 
39
- Note: This library is still experimental and may not be ready for production just yet.
39
+ Note: This library is still experimental and may not be ready for production just yet.
40
40
  That being said the gem is being actively used on a number of sinatra projects.
41
41
  In addition, the gem has fairly solid test coverage ensuring that everything works as expected.
42
42
 
43
- This will be a plugin which expands sinatra's capabilities in a variety of ways.
44
- Note that all extensions have been created to work with haml, erb, and erubis.
43
+ This will be a plugin which expands sinatra's capabilities in a variety of ways.
44
+ Note that all extensions have been created to work with haml, erb, and erubis.
45
45
  This gem is intended to be template-agnostic in providing helpers wherever possible.
46
46
 
47
47
  Let me expand briefly on what I want to accomplish with this gem. I love sinatra but if I want to use it
@@ -49,8 +49,8 @@ for any non-trivial application I very quickly miss a lot of the extra tools pro
49
49
 
50
50
  Now the obvious question is "Why not just use rails then?" Well, in many cases that might be the right decision.
51
51
  Still, at least until version 3 comes along, Rails is quite a large framework with a 'take it or leave it' attitude.
52
- Personally, I have come to love the spirit of sinatra which acts as a thin wrapper on top of rack
53
- often allowing middleware to do most of the work and pulling in additional complexity only as required.
52
+ Personally, I have come to love the spirit of sinatra which acts as a thin wrapper on top of rack
53
+ often allowing middleware to do most of the work and pulling in additional complexity only as required.
54
54
 
55
55
  My goal with this extension is to match the spirit of Sinatra and at the same time create a standard library
56
56
  of tools, helpers and components that will make Sinatra suitable for more complex applications.
@@ -71,13 +71,13 @@ Keep in mind, the user will be able to pull in these components seperately and l
71
71
  Please help me brainstorm and fork the project if you have any ideas to contribute.
72
72
 
73
73
  == Installation
74
-
74
+
75
75
  If you want to use the WardenPlugin component, then the 'warden' gem would need to be installed.
76
76
 
77
77
  To install sinatra_more, simply grab the latest version from gemcutter:
78
78
 
79
79
  $ sudo gem install sinatra_more
80
-
80
+
81
81
  Now you are ready to use this gem in your sinatra project.
82
82
 
83
83
  == Usage
@@ -85,7 +85,7 @@ Now you are ready to use this gem in your sinatra project.
85
85
  This extension can be easily registered into any existing sinatra application. You can require
86
86
  different components based on which pieces are useful for your particular application.
87
87
 
88
- # app.rb
88
+ # app.rb
89
89
  require 'sinatra/base'
90
90
  require 'sinatra_more' # or require 'sinatra_more/markup_plugin' for precise inclusion
91
91
 
@@ -161,7 +161,7 @@ methods should be very familiar to anyone who has used rails view helpers.
161
161
  * <tt>javascript_include_tag(*sources)</tt>
162
162
  * Returns an html script tag for each of the sources provided.
163
163
  * <tt>javascript_include_tag 'application', 'special'</tt>
164
-
164
+
165
165
  ==== Form Helpers
166
166
 
167
167
  * <tt>form_tag(url, options={}, &block)</tt>
@@ -233,7 +233,7 @@ A form_tag might look like:
233
233
  = check_box_tag :confirm_delete
234
234
  - field_set_tag(:class => 'buttons') do
235
235
  = submit_tag "Remove"
236
-
236
+
237
237
  ==== FormBuilders
238
238
 
239
239
  * <tt>form_for(object, url, settings={}, &block)</tt>
@@ -278,7 +278,7 @@ The following are fields provided by AbstractFormBuilder that can be used within
278
278
  * <tt>f.submit "Update", :class => 'long'</tt>
279
279
  * <tt>image_submit(source, options={})</tt>
280
280
  * <tt>f.image_submit "submit.png", :class => 'long'</tt>
281
-
281
+
282
282
  A form_for using these basic fields might look like:
283
283
 
284
284
  - form_for @user, '/register', :id => 'register' do |f|
@@ -304,7 +304,7 @@ A form_for using these basic fields might look like:
304
304
  = location.text_field :city
305
305
  %p
306
306
  = f.submit "Create", :class => 'button'
307
-
307
+
308
308
  There is also a StandardFormBuilder which builds on the abstract fields that can be used within a form_for:
309
309
 
310
310
  * <tt>text_field_block(field, options={}, label_options={})</tt>
@@ -323,7 +323,7 @@ There is also a StandardFormBuilder which builds on the abstract fields that can
323
323
  * <tt>submit_block(:username, :class => 'big')</tt>
324
324
  * <tt>image_submit_block(source, options={})</tt>
325
325
  * <tt>image_submit_block('submit.png', :class => 'big')</tt>
326
-
326
+
327
327
  A form_for using these standard fields might look like:
328
328
 
329
329
  - form_for @user, '/register', :id => 'register' do |f|
@@ -366,7 +366,7 @@ The form builder can even be made into the default builder when form_for is invo
366
366
  # anywhere in the sinatra application
367
367
  set :default_builder, 'MyCustomFormBuilder'
368
368
 
369
- And there you have it, a fairly complete form builder solution for sinatra.
369
+ And there you have it, a fairly complete form builder solution for sinatra.
370
370
  I hope to create or merge in an even better 'default' form_builder in the near future.
371
371
 
372
372
  ==== Format Helpers
@@ -413,31 +413,31 @@ such as partials (with support for :collection) into the templating system.
413
413
  Using render plugin helpers is extremely simple. If you want to render an erb template in your view path:
414
414
 
415
415
  erb_template 'path/to/my/template'
416
-
416
+
417
417
  or using haml templates works just as well:
418
418
 
419
419
  haml_template 'path/to/haml/template'
420
-
420
+
421
421
  There is also a method which renders the first view matching the path and removes the need to define an engine:
422
422
 
423
423
  render_template 'path/to/any/template'
424
-
424
+
425
425
  It is worth noting these are mostly for convenience. When I had more complex view files in sinatra, I got tired of writing:
426
426
 
427
427
  haml :"the/path/to/file"
428
428
  erb "/path/to/file".to_sym
429
-
429
+
430
430
  Finally, we have the all-important partials support for rendering mini-templates onto a page:
431
431
 
432
432
  partial 'photo/_item', :object => @photo, :locals => { :foo => 'bar' }
433
433
  partial 'photo/_item', :collection => @photos
434
-
434
+
435
435
  This works as you would expect and also supports the collection counter inside the partial <tt>item_counter</tt>
436
436
 
437
437
  # /views/photo/_item.haml
438
438
  # Access to collection counter with <partial_name>_counter i.e item_counter
439
439
  # Access the object with the partial_name i.e item
440
-
440
+
441
441
  And that concludes the render plugin for now but I am open to adding more methods as time progresses.
442
442
 
443
443
  See the wiki article for additional information: <http://wiki.github.com/nesquena/sinatra_more/renderplugin>
@@ -463,7 +463,7 @@ provided to make interacting with warden dead simple.
463
463
  * Forces a user to return to a fail path unless they are authorized
464
464
  * Used to require a user be authenticated before routing to an action
465
465
  * <tt>must_be_authorized!('/login')</tt>
466
-
466
+
467
467
  There are a few configuration options and details you need to be aware of. By default, the WardenPlugin
468
468
  assumes you have a User class which represents the authenticating class type. If your user class has a different
469
469
  name then you need to specify that as follows:
@@ -492,7 +492,7 @@ Using this plugin you also do need to define your own routes for managing warden
492
492
  authenticate_user!
493
493
  redirect "/dashboard"
494
494
  end
495
-
495
+
496
496
  post '/unauthenticated/?' do
497
497
  flash[:notice] = "That username and password are not correct!"
498
498
  status 401
@@ -506,9 +506,9 @@ Using this plugin you also do need to define your own routes for managing warden
506
506
 
507
507
  I was made aware of other sinatra/warden plugins which work very similarly to the system I outline for this plugin.
508
508
  Most notably is the sinatra_warden plugin by Justin Smestad (http://github.com/jsmestad/sinatra_warden)
509
- Eventually I plan to vendor that gem or just remove support for this piece of my plugin completely.
509
+ Eventually I plan to vendor that gem or just remove support for this piece of my plugin completely.
510
510
 
511
- If anybody has any thoughts on this or the warden integration in general, please let me know.
511
+ If anybody has any thoughts on this or the warden integration in general, please let me know.
512
512
  Nonetheless, there is a certain convenience for me having access to a plug-and-play warden solution directly from this gem.
513
513
 
514
514
  See the wiki article for additional information: <http://wiki.github.com/nesquena/sinatra_more/wardenplugin>
@@ -597,22 +597,22 @@ See the wiki article for additional information: <http://wiki.github.com/nesquen
597
597
  This component provides Sinatra with an enhanced url routing system which enables named route aliases to be defined
598
598
  and used throughout your application to refer to urls. The benefits of this is that instead of having to hard-code route urls
599
599
  into every area of your application, now we can just define the urls in a single spot and then attach an alias
600
- which can be used to refer to the url throughout the rest.
600
+ which can be used to refer to the url throughout the rest.
601
601
 
602
602
  Let's take a look at how to define named route mappings:
603
603
 
604
604
  # /app/routes/example.rb
605
605
  require 'sinatra_more'
606
-
606
+
607
607
  class RoutingDemo < Sinatra::Application
608
- register SinatraMore::RoutingPlugin
609
-
608
+ register SinatraMore::RoutingPlugin
609
+
610
610
  # Define the named route mappings
611
611
  map(:account).to("/the/accounts/:name/and/:id")
612
612
  map(:accounts).to("/the/accounts/index")
613
-
613
+
614
614
  # Configure the routes using the named alias
615
- get(:account) { "name: params[:name] - id: params[:id]" }
615
+ get(:account) { "name: params[:name] - id: params[:id]" }
616
616
  get(:accounts) { "I am the body for the url /the/accounts/index" }
617
617
  end
618
618
 
@@ -635,13 +635,13 @@ The routing system also supports url route configuration namespaces:
635
635
 
636
636
  # /app/routes/example.rb
637
637
  map(:admin, :show).to("/admin/:id/show")
638
-
638
+
639
639
  namespace :admin do
640
640
  get :show do
641
641
  "admin show for #{params[:id]}"
642
642
  end
643
643
  end
644
-
644
+
645
645
  You could also define the route aliases themselves using a namespace for convenience:
646
646
 
647
647
  # /app/routes/example.rb
@@ -649,12 +649,12 @@ You could also define the route aliases themselves using a namespace for conveni
649
649
  namespace.map(:show).to("/admin/:id/show")
650
650
  namespace.map(:destroy).to("/admin/:id/destroy")
651
651
  end
652
-
652
+
653
653
  namespace :admin do
654
654
  get :show do
655
655
  "admin show for #{params[:id]}"
656
656
  end
657
-
657
+
658
658
  get :destroy do
659
659
  "admin destroy for #{params[:id]}"
660
660
  end
@@ -665,17 +665,17 @@ You can then reference the urls using the same <tt>url_for</tt> method:
665
665
  <%= link_to 'admin page', url_for(:admin, :show, :id => 25) %>
666
666
  <%= link_to 'admin page', url_for(:admin, :update, :id => 25) %>
667
667
  <%= link_to 'admin page', url_for(:admin, :show, :id => 25) %>
668
-
668
+
669
669
  You can freely use both named route aliases and traditional Sinatra routes in the same application without conflict.
670
670
 
671
671
  See the wiki article for additional information: <http://wiki.github.com/nesquena/sinatra_more/routingplugin>
672
-
672
+
673
673
  == Sinatra Generators
674
674
 
675
675
  In addition to the support provided above, sinatra_more also comes preloaded with flexible code generators for Sinatra
676
676
  powered in part by the excellent Thor gem (incidentally also used in the Rails 3 generators). These generators are intended
677
677
  to allow for easy code generation both in creating new applications and building on existing ones. The generators have been
678
- built to be as library-agnostic as possible, supporting a myriad of test frameworks, js libraries, mocking libraries, etc.
678
+ built to be as library-agnostic as possible, supporting a myriad of test frameworks, js libraries, mocking libraries, etc.
679
679
 
680
680
  The usage for the generator is quite simple:
681
681
 
@@ -684,19 +684,19 @@ The usage for the generator is quite simple:
684
684
  The simplest possible command to generate a base application would be:
685
685
 
686
686
  $ sinatra_gen demo_app .
687
-
688
- This would construct a Sinatra application DemoApp (which extends from Sinatra::Application)
689
- inside the folder 'demo_app' at our current path. Inside the application there would be configuration and
687
+
688
+ This would construct a Sinatra application DemoApp (which extends from Sinatra::Application)
689
+ inside the folder 'demo_app' at our current path. Inside the application there would be configuration and
690
690
  setup performed for the default components.
691
691
 
692
692
  You can also define specific components to be used:
693
693
 
694
694
  $ sinatra_gen demo_app . --test=rspec --renderer=haml --mock=rr --script=jquery --orm datamapper
695
-
695
+
696
696
  There is also support for aliases for each component within the command:
697
697
 
698
698
  $ sinatra_gen demo_app . -t=rspec -r=haml -m=rr -s=jquery -d=datamapper
699
-
699
+
700
700
  The available components and their default options are listed below:
701
701
 
702
702
  * test: <tt>bacon</tt> (default), <tt>shoulda</tt>, <tt>rspec</tt>, <tt>testspec</tt>, <tt>riot</tt>
@@ -713,7 +713,7 @@ The necessary bundler command can be executed automatically through the generato
713
713
  or this can be done manually through executing command <tt>gem bundle</tt> in the terminal at the root of the generated application.
714
714
  If not executed manually, the bundling will be performed automatically the first time the application attempts to boot.
715
715
  Note that this command only has to be performed when the application is first generated or when the Gemfile is modified.
716
-
716
+
717
717
  The generator framework within sinatra_more is extensible and additional components and tools can be added easily.
718
718
  This would be achieved through forking our project and reading through the code in <tt>/generators/sinatra_generator.rb</tt> and
719
719
  the setup instructions inside the relevant files within <tt>/generators/components/</tt>. We are happy to accept pull requests
@@ -727,7 +727,7 @@ We are also planning to add generator actions such as:
727
727
  * Migrations generation
728
728
 
729
729
  See the wiki article for additional information: <http://wiki.github.com/nesquena/sinatra_more/generator>
730
-
730
+
731
731
  == Acknowledgements
732
732
 
733
733
  * Thanks to kelredd (http://github.com/kelredd) for the <tt>sinatra_helpers</tt> code that helped me to create erb capture and concat methods.
@@ -745,6 +745,7 @@ See the wiki article for additional information: <http://wiki.github.com/nesquen
745
745
  * Rob Holland - Added couchrest ORM component to generator
746
746
  * Bill Turner - Added several form builder and helper fixes
747
747
  * Adrian (orangea) - Fixes to content_for and tests
748
+ * Indrek Juhkam (indrekj) - Support for AS3 and fixes to select_tag
748
749
 
749
750
  == Known Issues
750
751
 
@@ -756,7 +757,7 @@ See the wiki article for additional information: <http://wiki.github.com/nesquen
756
757
  * Ruby5 - <http://ruby5.envylabs.com/episodes/24-episode-23-october-30-2009/stories/183-sinatra-more>
757
758
 
758
759
  == Note on Patches/Pull Requests
759
-
760
+
760
761
  * Fork the project.
761
762
  * Make your feature addition or bug fix.
762
763
  * Add tests for it. This is important so I don't break it in a
data/Rakefile CHANGED
@@ -1,32 +1,8 @@
1
- # $ rake version:bump:patch release
2
-
1
+ # $ EDIT version.rb, rake release
3
2
  require 'rubygems'
4
3
  require 'rake'
5
-
6
- begin
7
- require 'jeweler'
8
- Jeweler::Tasks.new do |gem|
9
- gem.name = "sinatra_more"
10
- gem.summary = "Expands sinatra to allow for complex applications"
11
- gem.description = "Expands sinatra with standard helpers and tools to allow for complex applications"
12
- gem.email = "nesquena@gmail.com"
13
- gem.homepage = "http://github.com/nesquena/sinatra_more"
14
- gem.authors = ["Nathan Esquenazi"]
15
- gem.add_runtime_dependency "sinatra", ">= 0.9.2"
16
- gem.add_runtime_dependency "tilt", ">= 0.2"
17
- gem.add_runtime_dependency "thor", ">= 0.11.8"
18
- gem.add_runtime_dependency "activesupport", "< 3.0.0"
19
- gem.add_runtime_dependency "bundler", ">= 0.9.2"
20
- gem.add_development_dependency "haml", ">= 2.2.14"
21
- gem.add_development_dependency "shoulda", ">= 2.10.2"
22
- gem.add_development_dependency "mocha", ">= 0.9.7"
23
- gem.add_development_dependency "rack-test", ">= 0.5.0"
24
- gem.add_development_dependency "webrat", ">= 0.5.1"
25
- end
26
- Jeweler::GemcutterTasks.new
27
- rescue LoadError
28
- puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
29
- end
4
+ require 'bundler'
5
+ Bundler::GemHelper.install_tasks
30
6
 
31
7
  require 'rake/testtask'
32
8
  Rake::TestTask.new(:test) do |test|
@@ -58,4 +34,4 @@ Rake::RDocTask.new do |rdoc|
58
34
  rdoc.title = "sinatra_more #{version}"
59
35
  rdoc.rdoc_files.include('README*')
60
36
  rdoc.rdoc_files.include('lib/**/*.rb')
61
- end
37
+ end
@@ -160,11 +160,13 @@ module SinatraMore
160
160
  end
161
161
 
162
162
  # Returns the options tags for a select based on the given option items
163
- def options_for_select(option_items, selected_value=nil)
163
+ def options_for_select(option_items, selected_values=[])
164
164
  return '' if option_items.blank?
165
+ selected_values = [selected_values].compact unless selected_values.is_a?(Array)
165
166
  option_items.collect { |caption, value|
166
167
  value ||= caption
167
- content_tag(:option, caption, :value => value, :selected => selected_value.to_s =~ /#{value}|#{caption}/)
168
+ selected = selected_values.find {|v| v.to_s =~ /^(#{value}|#{caption})$/}
169
+ content_tag(:option, caption, :value => value, :selected => !!selected)
168
170
  }.join("\n")
169
171
  end
170
172
 
@@ -0,0 +1,3 @@
1
+ module SinatraMore
2
+ VERSION = "0.3.42"
3
+ end
data/sinatra_more.gemspec CHANGED
@@ -1,288 +1,40 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
1
  # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "sinatra_more/version"
5
4
 
6
5
  Gem::Specification.new do |s|
7
6
  s.name = %q{sinatra_more}
8
- s.version = "0.3.41"
7
+ s.version = SinatraMore::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
9
 
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
10
  s.authors = ["Nathan Esquenazi"]
12
- s.date = %q{2011-01-21}
11
+ s.email = %q{nesquena@gmail.com}
12
+ s.date = %q{2011-02-18}
13
13
  s.default_executable = %q{sinatra_gen}
14
14
  s.description = %q{Expands sinatra with standard helpers and tools to allow for complex applications}
15
- s.email = %q{nesquena@gmail.com}
16
- s.executables = ["sinatra_gen"]
17
- s.extra_rdoc_files = [
18
- "LICENSE",
19
- "README.rdoc",
20
- "TODO"
21
- ]
22
- s.files = [
23
- ".document",
24
- "Gemfile",
25
- "Gemfile.lock",
26
- "IDEAS.md",
27
- "LICENSE",
28
- "README.rdoc",
29
- "ROADMAP",
30
- "Rakefile",
31
- "TODO",
32
- "VERSION",
33
- "bin/sinatra_gen",
34
- "generators/base_app/.gitignore",
35
- "generators/base_app/Gemfile",
36
- "generators/base_app/app/.empty_directory",
37
- "generators/base_app/app/helpers/.empty_directory",
38
- "generators/base_app/app/helpers/view_helpers.rb",
39
- "generators/base_app/app/mailers/.empty_directory",
40
- "generators/base_app/app/models/.empty_directory",
41
- "generators/base_app/app/routes/.empty_directory",
42
- "generators/base_app/app/routes/main.rb.tt",
43
- "generators/base_app/app/views/.empty_directory",
44
- "generators/base_app/config.ru.tt",
45
- "generators/base_app/config/boot.rb.tt",
46
- "generators/base_app/config/dependencies.rb.tt",
47
- "generators/base_app/lib/.empty_directory",
48
- "generators/base_app/log/.empty_directory",
49
- "generators/base_app/public/images/.empty_directory",
50
- "generators/base_app/public/images/.gitignore",
51
- "generators/base_app/public/javascripts/.empty_directory",
52
- "generators/base_app/public/stylesheets/.empty_directory",
53
- "generators/base_app/test/models/.empty_directory",
54
- "generators/base_app/test/routes/.empty_directory",
55
- "generators/base_app/test/test_config.rb.tt",
56
- "generators/base_app/tmp/.empty_directory",
57
- "generators/base_app/vendor/gems/.empty_directory",
58
- "generators/components/component_actions.rb",
59
- "generators/components/files/jquery-1.3.2.min.js",
60
- "generators/components/files/lowpro.js",
61
- "generators/components/files/prototype.js",
62
- "generators/components/files/right-min.js",
63
- "generators/components/files/right-olds-min.js",
64
- "generators/components/mocks/mocha_mock_gen.rb",
65
- "generators/components/mocks/rr_mock_gen.rb",
66
- "generators/components/orms/activerecord_orm_gen.rb",
67
- "generators/components/orms/couchrest_orm_gen.rb",
68
- "generators/components/orms/datamapper_orm_gen.rb",
69
- "generators/components/orms/mongomapper_orm_gen.rb",
70
- "generators/components/orms/sequel_orm_gen.rb",
71
- "generators/components/renderers/erb_renderer_gen.rb",
72
- "generators/components/renderers/haml_renderer_gen.rb",
73
- "generators/components/scripts/jquery_script_gen.rb",
74
- "generators/components/scripts/prototype_script_gen.rb",
75
- "generators/components/scripts/rightjs_script_gen.rb",
76
- "generators/components/tests/bacon_test_gen.rb",
77
- "generators/components/tests/riot_test_gen.rb",
78
- "generators/components/tests/rspec_test_gen.rb",
79
- "generators/components/tests/shoulda_test_gen.rb",
80
- "generators/components/tests/testspec_test_gen.rb",
81
- "generators/generator_actions.rb",
82
- "generators/skeleton_generator.rb",
83
- "lib/sinatra_more.rb",
84
- "lib/sinatra_more/mailer_plugin.rb",
85
- "lib/sinatra_more/mailer_plugin/mail_object.rb",
86
- "lib/sinatra_more/mailer_plugin/mailer_base.rb",
87
- "lib/sinatra_more/markup_plugin.rb",
88
- "lib/sinatra_more/markup_plugin/asset_tag_helpers.rb",
89
- "lib/sinatra_more/markup_plugin/form_builder/abstract_form_builder.rb",
90
- "lib/sinatra_more/markup_plugin/form_builder/standard_form_builder.rb",
91
- "lib/sinatra_more/markup_plugin/form_helpers.rb",
92
- "lib/sinatra_more/markup_plugin/format_helpers.rb",
93
- "lib/sinatra_more/markup_plugin/output_helpers.rb",
94
- "lib/sinatra_more/markup_plugin/tag_helpers.rb",
95
- "lib/sinatra_more/render_plugin.rb",
96
- "lib/sinatra_more/render_plugin/render_helpers.rb",
97
- "lib/sinatra_more/routing_plugin.rb",
98
- "lib/sinatra_more/routing_plugin/named_route.rb",
99
- "lib/sinatra_more/routing_plugin/routing_helpers.rb",
100
- "lib/sinatra_more/support_lite.rb",
101
- "lib/sinatra_more/warden_plugin.rb",
102
- "lib/sinatra_more/warden_plugin/warden_helpers.rb",
103
- "sinatra_more.gemspec",
104
- "test/active_support_helpers.rb",
105
- "test/fixtures/mailer_app/app.rb",
106
- "test/fixtures/mailer_app/views/demo_mailer/sample_mail.erb",
107
- "test/fixtures/mailer_app/views/sample_mailer/anniversary_message.erb",
108
- "test/fixtures/mailer_app/views/sample_mailer/birthday_message.erb",
109
- "test/fixtures/markup_app/app.rb",
110
- "test/fixtures/markup_app/views/capture_concat.erb",
111
- "test/fixtures/markup_app/views/capture_concat.haml",
112
- "test/fixtures/markup_app/views/content_for.erb",
113
- "test/fixtures/markup_app/views/content_for.haml",
114
- "test/fixtures/markup_app/views/content_tag.erb",
115
- "test/fixtures/markup_app/views/content_tag.haml",
116
- "test/fixtures/markup_app/views/fields_for.erb",
117
- "test/fixtures/markup_app/views/fields_for.haml",
118
- "test/fixtures/markup_app/views/form_for.erb",
119
- "test/fixtures/markup_app/views/form_for.haml",
120
- "test/fixtures/markup_app/views/form_tag.erb",
121
- "test/fixtures/markup_app/views/form_tag.haml",
122
- "test/fixtures/markup_app/views/link_to.erb",
123
- "test/fixtures/markup_app/views/link_to.haml",
124
- "test/fixtures/markup_app/views/mail_to.erb",
125
- "test/fixtures/markup_app/views/mail_to.haml",
126
- "test/fixtures/markup_app/views/meta_tag.erb",
127
- "test/fixtures/markup_app/views/meta_tag.haml",
128
- "test/fixtures/markup_app/views/yield_content.erb",
129
- "test/fixtures/markup_app/views/yield_content.haml",
130
- "test/fixtures/render_app/app.rb",
131
- "test/fixtures/render_app/views/erb/test.erb",
132
- "test/fixtures/render_app/views/haml/test.haml",
133
- "test/fixtures/render_app/views/template/_user.haml",
134
- "test/fixtures/render_app/views/template/haml_template.haml",
135
- "test/fixtures/render_app/views/template/some_template.haml",
136
- "test/fixtures/routing_app/app.rb",
137
- "test/fixtures/routing_app/views/index.haml",
138
- "test/fixtures/warden_app/app.rb",
139
- "test/fixtures/warden_app/views/dashboard.haml",
140
- "test/generators/test_skeleton_generator.rb",
141
- "test/helper.rb",
142
- "test/mailer_plugin/test_mail_object.rb",
143
- "test/mailer_plugin/test_mailer_base.rb",
144
- "test/markup_plugin/test_asset_tag_helpers.rb",
145
- "test/markup_plugin/test_form_builder.rb",
146
- "test/markup_plugin/test_form_helpers.rb",
147
- "test/markup_plugin/test_format_helpers.rb",
148
- "test/markup_plugin/test_output_helpers.rb",
149
- "test/markup_plugin/test_tag_helpers.rb",
150
- "test/test_mailer_plugin.rb",
151
- "test/test_render_plugin.rb",
152
- "test/test_routing_plugin.rb",
153
- "test/test_warden_plugin.rb",
154
- "vendor/pony/lib/pony.rb",
155
- "vendor/pony/spec/base.rb",
156
- "vendor/pony/spec/pony_spec.rb"
157
- ]
158
- s.homepage = %q{http://github.com/nesquena/sinatra_more}
159
- s.require_paths = ["lib"]
160
- s.rubygems_version = %q{1.3.7}
161
- s.summary = %q{Expands sinatra to allow for complex applications}
162
- s.test_files = [
163
- "test/active_support_helpers.rb",
164
- "test/fixtures/mailer_app/app.rb",
165
- "test/fixtures/markup_app/app.rb",
166
- "test/fixtures/render_app/app.rb",
167
- "test/fixtures/routing_app/app.rb",
168
- "test/fixtures/warden_app/app.rb",
169
- "test/generators/test_skeleton_generator.rb",
170
- "test/helper.rb",
171
- "test/mailer_plugin/test_mail_object.rb",
172
- "test/mailer_plugin/test_mailer_base.rb",
173
- "test/markup_plugin/test_asset_tag_helpers.rb",
174
- "test/markup_plugin/test_form_builder.rb",
175
- "test/markup_plugin/test_form_helpers.rb",
176
- "test/markup_plugin/test_format_helpers.rb",
177
- "test/markup_plugin/test_output_helpers.rb",
178
- "test/markup_plugin/test_tag_helpers.rb",
179
- "test/test_mailer_plugin.rb",
180
- "test/test_render_plugin.rb",
181
- "test/test_routing_plugin.rb",
182
- "test/test_warden_plugin.rb"
183
- ]
15
+ s.summary = s.description
184
16
 
185
- if s.respond_to? :specification_version then
186
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
187
- s.specification_version = 3
17
+ s.add_dependency "sinatra", ">= 0.9.2"
18
+ s.add_dependency "tilt", ">= 0.2"
19
+ s.add_dependency "thor", ">= 0.11.8"
20
+ s.add_dependency "activesupport"
21
+ s.add_dependency "bundler", ">= 0.9.2"
22
+ s.add_development_dependency "haml", ">= 2.2.14"
23
+ s.add_development_dependency "shoulda", ">= 2.10.2"
24
+ s.add_development_dependency "mocha", ">= 0.9.7"
25
+ s.add_development_dependency "rack-test", ">= 0.5.0"
26
+ s.add_development_dependency "webrat", ">= 0.5.1"
27
+ s.add_development_dependency "jeweler"
28
+ s.add_development_dependency "builder"
29
+ s.add_development_dependency "tmail"
30
+ s.add_development_dependency "xml-simple"
31
+ s.add_development_dependency "warden"
188
32
 
189
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
190
- s.add_runtime_dependency(%q<jeweler>, [">= 0"])
191
- s.add_runtime_dependency(%q<builder>, [">= 0"])
192
- s.add_runtime_dependency(%q<xml-simple>, [">= 0"])
193
- s.add_runtime_dependency(%q<warden>, [">= 0"])
194
- s.add_runtime_dependency(%q<tmail>, [">= 0"])
195
- s.add_runtime_dependency(%q<sinatra_more>, [">= 0"])
196
- s.add_development_dependency(%q<haml>, [">= 2.2.14"])
197
- s.add_development_dependency(%q<shoulda>, [">= 2.10.2"])
198
- s.add_development_dependency(%q<mocha>, [">= 0.9.7"])
199
- s.add_development_dependency(%q<rack-test>, [">= 0.5.0"])
200
- s.add_development_dependency(%q<webrat>, [">= 0.5.1"])
201
- s.add_development_dependency(%q<haml>, [">= 2.2.14"])
202
- s.add_development_dependency(%q<shoulda>, [">= 2.10.2"])
203
- s.add_development_dependency(%q<mocha>, [">= 0.9.7"])
204
- s.add_development_dependency(%q<rack-test>, [">= 0.5.0"])
205
- s.add_development_dependency(%q<webrat>, [">= 0.5.1"])
206
- s.add_development_dependency(%q<haml>, [">= 2.2.14"])
207
- s.add_development_dependency(%q<shoulda>, [">= 2.10.2"])
208
- s.add_development_dependency(%q<mocha>, [">= 0.9.7"])
209
- s.add_development_dependency(%q<rack-test>, [">= 0.5.0"])
210
- s.add_development_dependency(%q<webrat>, [">= 0.5.1"])
211
- s.add_runtime_dependency(%q<sinatra>, [">= 0.9.2"])
212
- s.add_runtime_dependency(%q<tilt>, [">= 0.2"])
213
- s.add_runtime_dependency(%q<thor>, [">= 0.11.8"])
214
- s.add_runtime_dependency(%q<activesupport>, ["< 3.0.0"])
215
- s.add_runtime_dependency(%q<bundler>, [">= 0.9.2"])
216
- s.add_development_dependency(%q<haml>, [">= 2.2.14"])
217
- s.add_development_dependency(%q<shoulda>, [">= 2.10.2"])
218
- s.add_development_dependency(%q<mocha>, [">= 0.9.7"])
219
- s.add_development_dependency(%q<rack-test>, [">= 0.5.0"])
220
- s.add_development_dependency(%q<webrat>, [">= 0.5.1"])
221
- else
222
- s.add_dependency(%q<jeweler>, [">= 0"])
223
- s.add_dependency(%q<builder>, [">= 0"])
224
- s.add_dependency(%q<xml-simple>, [">= 0"])
225
- s.add_dependency(%q<warden>, [">= 0"])
226
- s.add_dependency(%q<tmail>, [">= 0"])
227
- s.add_dependency(%q<sinatra_more>, [">= 0"])
228
- s.add_dependency(%q<haml>, [">= 2.2.14"])
229
- s.add_dependency(%q<shoulda>, [">= 2.10.2"])
230
- s.add_dependency(%q<mocha>, [">= 0.9.7"])
231
- s.add_dependency(%q<rack-test>, [">= 0.5.0"])
232
- s.add_dependency(%q<webrat>, [">= 0.5.1"])
233
- s.add_dependency(%q<haml>, [">= 2.2.14"])
234
- s.add_dependency(%q<shoulda>, [">= 2.10.2"])
235
- s.add_dependency(%q<mocha>, [">= 0.9.7"])
236
- s.add_dependency(%q<rack-test>, [">= 0.5.0"])
237
- s.add_dependency(%q<webrat>, [">= 0.5.1"])
238
- s.add_dependency(%q<haml>, [">= 2.2.14"])
239
- s.add_dependency(%q<shoulda>, [">= 2.10.2"])
240
- s.add_dependency(%q<mocha>, [">= 0.9.7"])
241
- s.add_dependency(%q<rack-test>, [">= 0.5.0"])
242
- s.add_dependency(%q<webrat>, [">= 0.5.1"])
243
- s.add_dependency(%q<sinatra>, [">= 0.9.2"])
244
- s.add_dependency(%q<tilt>, [">= 0.2"])
245
- s.add_dependency(%q<thor>, [">= 0.11.8"])
246
- s.add_dependency(%q<activesupport>, ["< 3.0.0"])
247
- s.add_dependency(%q<bundler>, [">= 0.9.2"])
248
- s.add_dependency(%q<haml>, [">= 2.2.14"])
249
- s.add_dependency(%q<shoulda>, [">= 2.10.2"])
250
- s.add_dependency(%q<mocha>, [">= 0.9.7"])
251
- s.add_dependency(%q<rack-test>, [">= 0.5.0"])
252
- s.add_dependency(%q<webrat>, [">= 0.5.1"])
253
- end
254
- else
255
- s.add_dependency(%q<jeweler>, [">= 0"])
256
- s.add_dependency(%q<builder>, [">= 0"])
257
- s.add_dependency(%q<xml-simple>, [">= 0"])
258
- s.add_dependency(%q<warden>, [">= 0"])
259
- s.add_dependency(%q<tmail>, [">= 0"])
260
- s.add_dependency(%q<sinatra_more>, [">= 0"])
261
- s.add_dependency(%q<haml>, [">= 2.2.14"])
262
- s.add_dependency(%q<shoulda>, [">= 2.10.2"])
263
- s.add_dependency(%q<mocha>, [">= 0.9.7"])
264
- s.add_dependency(%q<rack-test>, [">= 0.5.0"])
265
- s.add_dependency(%q<webrat>, [">= 0.5.1"])
266
- s.add_dependency(%q<haml>, [">= 2.2.14"])
267
- s.add_dependency(%q<shoulda>, [">= 2.10.2"])
268
- s.add_dependency(%q<mocha>, [">= 0.9.7"])
269
- s.add_dependency(%q<rack-test>, [">= 0.5.0"])
270
- s.add_dependency(%q<webrat>, [">= 0.5.1"])
271
- s.add_dependency(%q<haml>, [">= 2.2.14"])
272
- s.add_dependency(%q<shoulda>, [">= 2.10.2"])
273
- s.add_dependency(%q<mocha>, [">= 0.9.7"])
274
- s.add_dependency(%q<rack-test>, [">= 0.5.0"])
275
- s.add_dependency(%q<webrat>, [">= 0.5.1"])
276
- s.add_dependency(%q<sinatra>, [">= 0.9.2"])
277
- s.add_dependency(%q<tilt>, [">= 0.2"])
278
- s.add_dependency(%q<thor>, [">= 0.11.8"])
279
- s.add_dependency(%q<activesupport>, ["< 3.0.0"])
280
- s.add_dependency(%q<bundler>, [">= 0.9.2"])
281
- s.add_dependency(%q<haml>, [">= 2.2.14"])
282
- s.add_dependency(%q<shoulda>, [">= 2.10.2"])
283
- s.add_dependency(%q<mocha>, [">= 0.9.7"])
284
- s.add_dependency(%q<rack-test>, [">= 0.5.0"])
285
- s.add_dependency(%q<webrat>, [">= 0.5.1"])
286
- end
33
+ s.rubyforge_project = "sinatra_more"
34
+
35
+ s.files = `git ls-files`.split("\n")
36
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
37
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
38
+ s.require_paths = ["lib"]
287
39
  end
288
40