roar-rails 0.0.1

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.
Files changed (43) hide show
  1. data/.gitignore +5 -0
  2. data/Gemfile +6 -0
  3. data/Rakefile +11 -0
  4. data/lib/roar-rails.rb +7 -0
  5. data/lib/roar/rails/test_case.rb +36 -0
  6. data/lib/roar/rails/version.rb +5 -0
  7. data/roar-rails.gemspec +28 -0
  8. data/test/dummy/Rakefile +7 -0
  9. data/test/dummy/app/controllers/application_controller.rb +4 -0
  10. data/test/dummy/app/controllers/musician_controller.rb +36 -0
  11. data/test/dummy/app/helpers/application_helper.rb +2 -0
  12. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  13. data/test/dummy/app/views/musician/featured.html.erb +1 -0
  14. data/test/dummy/app/views/musician/featured_with_block.html.erb +4 -0
  15. data/test/dummy/app/views/musician/hamlet.html.haml +1 -0
  16. data/test/dummy/config.ru +4 -0
  17. data/test/dummy/config/application.rb +19 -0
  18. data/test/dummy/config/boot.rb +10 -0
  19. data/test/dummy/config/database.yml +22 -0
  20. data/test/dummy/config/environment.rb +5 -0
  21. data/test/dummy/config/environments/development.rb +16 -0
  22. data/test/dummy/config/environments/production.rb +46 -0
  23. data/test/dummy/config/environments/test.rb +32 -0
  24. data/test/dummy/config/locales/en.yml +5 -0
  25. data/test/dummy/config/routes.rb +4 -0
  26. data/test/dummy/db/test.sqlite3 +0 -0
  27. data/test/dummy/public/404.html +26 -0
  28. data/test/dummy/public/422.html +26 -0
  29. data/test/dummy/public/500.html +26 -0
  30. data/test/dummy/public/favicon.ico +0 -0
  31. data/test/dummy/public/javascripts/application.js +2 -0
  32. data/test/dummy/public/javascripts/controls.js +965 -0
  33. data/test/dummy/public/javascripts/dragdrop.js +974 -0
  34. data/test/dummy/public/javascripts/effects.js +1123 -0
  35. data/test/dummy/public/javascripts/prototype.js +4874 -0
  36. data/test/dummy/public/javascripts/rails.js +118 -0
  37. data/test/dummy/public/stylesheets/.gitkeep +0 -0
  38. data/test/dummy/script/rails +6 -0
  39. data/test/dummy/tmp/app/cells/blog/post/latest.html.erb +7 -0
  40. data/test/dummy/tmp/app/cells/blog/post_cell.rb +7 -0
  41. data/test/test_case_test.rb +70 -0
  42. data/test/test_helper.rb +5 -0
  43. metadata +189 -0
data/.gitignore ADDED
@@ -0,0 +1,5 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
5
+ test/dummy/log/*
data/Gemfile ADDED
@@ -0,0 +1,6 @@
1
+ source "http://rubygems.org"
2
+
3
+ #gem 'actionpack', :path => "../rayls-vor-rebase"
4
+
5
+ # Specify your gem's dependencies in roar-rails.gemspec
6
+ gemspec
data/Rakefile ADDED
@@ -0,0 +1,11 @@
1
+ require "bundler/gem_tasks"
2
+
3
+ require 'rake/testtask'
4
+
5
+ task :default => [:test]
6
+
7
+ Rake::TestTask.new(:test) do |test|
8
+ test.libs << 'test'
9
+ test.test_files = FileList['test/*_test.rb']
10
+ test.verbose = true
11
+ end
data/lib/roar-rails.rb ADDED
@@ -0,0 +1,7 @@
1
+ require "roar/rails/version"
2
+
3
+ module Roar
4
+ module Rails
5
+ # Your code goes here...
6
+ end
7
+ end
@@ -0,0 +1,36 @@
1
+ module Roar
2
+ module Rails
3
+ module TestCase
4
+ def get(action, *args)
5
+ process(action, "GET", nil, *args)
6
+ end
7
+
8
+ def post(action, *args)
9
+ process(action, "POST", *args)
10
+ end
11
+
12
+ def put(action, *args)
13
+ process(action, "PUT", *args)
14
+ end
15
+
16
+ def delete(action, *args)
17
+ process(action, "DELETE", *args)
18
+ end
19
+
20
+ def process(action, http_method, document="", params={})
21
+ request.env['RAW_POST_DATA'] = document
22
+ super(action, params, nil, nil, http_method)
23
+ end
24
+
25
+ module Assertions
26
+ require 'test_xml/test_unit'
27
+ def assert_body(body, options={})
28
+ return assert_xml_equal body, response.body if options[:xml]
29
+ assert_equal body, response.body
30
+ end
31
+ end
32
+
33
+ include Assertions
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,5 @@
1
+ module Roar
2
+ module Rails
3
+ VERSION = "0.0.1"
4
+ end
5
+ end
@@ -0,0 +1,28 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "roar/rails/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "roar-rails"
7
+ s.version = Roar::Rails::VERSION
8
+ s.authors = ["Nick Sutterer"]
9
+ s.email = ["apotonick@gmail.com"]
10
+ s.homepage = ""
11
+ s.summary = %q{Use Roar in Rails.}
12
+ s.description = %q{Rails extensions for using Roar in the popular web framework.}
13
+
14
+ s.rubyforge_project = "roar-rails"
15
+
16
+ s.files = `git ls-files`.split("\n")
17
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
+ s.require_paths = ["lib"]
20
+
21
+ s.add_runtime_dependency "roar", "~> 0.9.1"
22
+ s.add_runtime_dependency "test_xml"
23
+
24
+ s.add_development_dependency "minitest", ">= 2.8.1"
25
+ s.add_development_dependency "actionpack", "~> 3.0"
26
+ s.add_dependency "railties", "~> 3.0"
27
+ s.add_development_dependency "tzinfo" # FIXME: why the hell do we need this for 3.1?
28
+ end
@@ -0,0 +1,7 @@
1
+ # Add your own tasks in files placed in lib/tasks ending in .rake,
2
+ # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
+
4
+ require File.expand_path('../config/application', __FILE__)
5
+ require 'rake'
6
+
7
+ Rails::Application.load_tasks
@@ -0,0 +1,4 @@
1
+ class ApplicationController < ActionController::Base
2
+ protect_from_forgery
3
+ layout 'application'
4
+ end
@@ -0,0 +1,36 @@
1
+ class MusicianController < ActionController::Base
2
+ def index
3
+ render :text => render_cell(:bassist, :promote)
4
+ end
5
+
6
+ def promote
7
+ render :text => render_cell(:trumpeter, :promote)
8
+ end
9
+
10
+ def promotion
11
+ render :text => render_cell(:bassist, :provoke)
12
+ end
13
+
14
+ def featured
15
+ end
16
+
17
+ def featured_with_block
18
+ end
19
+
20
+ def skills
21
+ render :text => render_cell(:bassist, :listen)
22
+ end
23
+
24
+ def hamlet
25
+ end
26
+
27
+ attr_reader :flag
28
+ def promotion_with_block
29
+ html = render_cell(:bassist, :play) do |cell|
30
+ @flag = cell.class
31
+ end
32
+
33
+ render :text => html
34
+ end
35
+
36
+ end
@@ -0,0 +1,2 @@
1
+ module ApplicationHelper
2
+ end
@@ -0,0 +1,14 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>Dummy</title>
5
+ <%= stylesheet_link_tag :all %>
6
+ <%= javascript_include_tag :defaults %>
7
+ <%= csrf_meta_tag %>
8
+ </head>
9
+ <body>
10
+
11
+ <%= yield %>
12
+
13
+ </body>
14
+ </html>
@@ -0,0 +1 @@
1
+ <%= render_cell :bassist, :provoke %>
@@ -0,0 +1,4 @@
1
+ <% flag = false %>
2
+ <%= render_cell :bassist, :play do |cell|
3
+ flag = cell.class
4
+ end %> from <%= flag %>
@@ -0,0 +1 @@
1
+ = render_cell :bassist, :provoke
@@ -0,0 +1,4 @@
1
+ # This file is used by Rack-based servers to start the application.
2
+
3
+ require ::File.expand_path('../config/environment', __FILE__)
4
+ run Dummy::Application
@@ -0,0 +1,19 @@
1
+ require File.expand_path('../boot', __FILE__)
2
+
3
+ require "active_model/railtie"
4
+ require "action_controller/railtie"
5
+ require "action_view/railtie"
6
+
7
+ Bundler.require
8
+
9
+
10
+ module Dummy
11
+ class Application < Rails::Application
12
+ config.encoding = "utf-8"
13
+
14
+ # Configure sensitive parameters which will be filtered from the log file.
15
+ config.filter_parameters += [:password]
16
+
17
+ config.cache_store = :memory_store
18
+ end
19
+ end
@@ -0,0 +1,10 @@
1
+ require 'rubygems'
2
+ gemfile = File.expand_path('../../../../Gemfile', __FILE__)
3
+
4
+ if File.exist?(gemfile)
5
+ ENV['BUNDLE_GEMFILE'] = gemfile
6
+ require 'bundler'
7
+ Bundler.setup
8
+ end
9
+
10
+ $:.unshift File.expand_path('../../../../lib', __FILE__)
@@ -0,0 +1,22 @@
1
+ # SQLite version 3.x
2
+ # gem install sqlite3-ruby (not necessary on OS X Leopard)
3
+ development:
4
+ adapter: sqlite3
5
+ database: db/development.sqlite3
6
+ pool: 5
7
+ timeout: 5000
8
+
9
+ # Warning: The database defined as "test" will be erased and
10
+ # re-generated from your development database when you run "rake".
11
+ # Do not set this db to the same as development or production.
12
+ test:
13
+ adapter: sqlite3
14
+ database: db/test.sqlite3
15
+ pool: 5
16
+ timeout: 5000
17
+
18
+ production:
19
+ adapter: sqlite3
20
+ database: db/production.sqlite3
21
+ pool: 5
22
+ timeout: 5000
@@ -0,0 +1,5 @@
1
+ # Load the rails application
2
+ require File.expand_path('../application', __FILE__)
3
+
4
+ # Initialize the rails application
5
+ Dummy::Application.initialize!
@@ -0,0 +1,16 @@
1
+ Dummy::Application.configure do
2
+ # Settings specified here will take precedence over those in config/environment.rb
3
+
4
+ # In the development environment your application's code is reloaded on
5
+ # every request. This slows down response time but is perfect for development
6
+ # since you don't have to restart the webserver when you make code changes.
7
+ config.cache_classes = false
8
+
9
+ # Log error messages when you accidentally call methods on nil.
10
+ config.whiny_nils = true
11
+
12
+ # Show full error reports and disable caching
13
+ config.consider_all_requests_local = true
14
+ config.action_view.debug_rjs = true
15
+ config.action_controller.perform_caching = false
16
+ end
@@ -0,0 +1,46 @@
1
+ Dummy::Application.configure do
2
+ # Settings specified here will take precedence over those in config/environment.rb
3
+
4
+ # The production environment is meant for finished, "live" apps.
5
+ # Code is not reloaded between requests
6
+ config.cache_classes = true
7
+
8
+ # Full error reports are disabled and caching is turned on
9
+ config.consider_all_requests_local = false
10
+ config.action_controller.perform_caching = true
11
+
12
+ # Specifies the header that your server uses for sending files
13
+ config.action_dispatch.x_sendfile_header = "X-Sendfile"
14
+
15
+ # For nginx:
16
+ # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect'
17
+
18
+ # If you have no front-end server that supports something like X-Sendfile,
19
+ # just comment this out and Rails will serve the files
20
+
21
+ # See everything in the log (default is :info)
22
+ # config.log_level = :debug
23
+
24
+ # Use a different logger for distributed setups
25
+ # config.logger = SyslogLogger.new
26
+
27
+ # Use a different cache store in production
28
+ # config.cache_store = :mem_cache_store
29
+
30
+ # Disable Rails's static asset server
31
+ # In production, Apache or nginx will already do this
32
+ config.serve_static_assets = false
33
+
34
+ # Enable serving of images, stylesheets, and javascripts from an asset server
35
+ # config.action_controller.asset_host = "http://assets.example.com"
36
+
37
+ # Disable delivery errors, bad email addresses will be ignored
38
+ # config.action_mailer.raise_delivery_errors = false
39
+
40
+ # Enable threaded mode
41
+ # config.threadsafe!
42
+
43
+ # Enable locale fallbacks for I18n (makes lookups for any locale fall back to
44
+ # the I18n.default_locale when a translation can not be found)
45
+ config.i18n.fallbacks = true
46
+ end
@@ -0,0 +1,32 @@
1
+ Dummy::Application.configure do
2
+ # Settings specified here will take precedence over those in config/environment.rb
3
+
4
+ # The test environment is used exclusively to run your application's
5
+ # test suite. You never need to work with it otherwise. Remember that
6
+ # your test database is "scratch space" for the test suite and is wiped
7
+ # and recreated between test runs. Don't rely on the data there!
8
+ config.cache_classes = true
9
+
10
+ # Log error messages when you accidentally call methods on nil.
11
+ config.whiny_nils = true
12
+
13
+ # Show full error reports and disable caching
14
+ config.consider_all_requests_local = true
15
+ config.action_controller.perform_caching = false
16
+
17
+ # Raise exceptions instead of rendering exception templates
18
+ config.action_dispatch.show_exceptions = false
19
+
20
+ # Disable request forgery protection in test environment
21
+ config.action_controller.allow_forgery_protection = false
22
+
23
+ # Tell Action Mailer not to deliver emails to the real world.
24
+ # The :test delivery method accumulates sent emails in the
25
+ # ActionMailer::Base.deliveries array.
26
+ #config.action_mailer.delivery_method = :test
27
+
28
+ # Use SQL instead of Active Record's schema dumper when creating the test database.
29
+ # This is necessary if your schema can't be completely dumped by the schema dumper,
30
+ # like if you have constraints or database-specific column types
31
+ # config.active_record.schema_format = :sql
32
+ end
@@ -0,0 +1,5 @@
1
+ # Sample localization file for English. Add more files in this directory for other locales.
2
+ # See http://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.
3
+
4
+ en:
5
+ hello: "Hello world"
@@ -0,0 +1,4 @@
1
+ Dummy::Application.routes.draw do
2
+ match ':controller(/:action(/:id(.:format)))'
3
+ root :to => 'musician#index'
4
+ end
File without changes
@@ -0,0 +1,26 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The page you were looking for doesn't exist (404)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/404.html -->
21
+ <div class="dialog">
22
+ <h1>The page you were looking for doesn't exist.</h1>
23
+ <p>You may have mistyped the address or the page may have moved.</p>
24
+ </div>
25
+ </body>
26
+ </html>
@@ -0,0 +1,26 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The change you wanted was rejected (422)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/422.html -->
21
+ <div class="dialog">
22
+ <h1>The change you wanted was rejected.</h1>
23
+ <p>Maybe you tried to change something you didn't have access to.</p>
24
+ </div>
25
+ </body>
26
+ </html>
@@ -0,0 +1,26 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>We're sorry, but something went wrong (500)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/500.html -->
21
+ <div class="dialog">
22
+ <h1>We're sorry, but something went wrong.</h1>
23
+ <p>We've been notified about this issue and we'll take a look at it shortly.</p>
24
+ </div>
25
+ </body>
26
+ </html>