presenting 1.0.0
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/LICENSE +20 -0
- data/README +10 -0
- data/Rakefile +22 -0
- data/app/assets/javascript/grid.js +0 -0
- data/app/assets/javascript/search.js +13 -0
- data/app/assets/stylesheets/details-color.css +7 -0
- data/app/assets/stylesheets/details.css +10 -0
- data/app/assets/stylesheets/form.css +1 -0
- data/app/assets/stylesheets/grid-color.css +71 -0
- data/app/assets/stylesheets/grid.css +64 -0
- data/app/assets/stylesheets/search-color.css +16 -0
- data/app/assets/stylesheets/search.css +45 -0
- data/app/controllers/presentation/assets_controller.rb +42 -0
- data/app/views/presentations/_details.erb +11 -0
- data/app/views/presentations/_field_search.erb +14 -0
- data/app/views/presentations/_form.erb +20 -0
- data/app/views/presentations/_grid.erb +70 -0
- data/app/views/presentations/_search.erb +7 -0
- data/config/routes.rb +3 -0
- data/lib/presentation/base.rb +48 -0
- data/lib/presentation/details.rb +19 -0
- data/lib/presentation/field_search.rb +65 -0
- data/lib/presentation/form.rb +149 -0
- data/lib/presentation/grid.rb +160 -0
- data/lib/presentation/search.rb +9 -0
- data/lib/presenting/attribute.rb +51 -0
- data/lib/presenting/configurable.rb +10 -0
- data/lib/presenting/defaults.rb +10 -0
- data/lib/presenting/field_set.rb +26 -0
- data/lib/presenting/form_helpers.rb +51 -0
- data/lib/presenting/helpers.rb +110 -0
- data/lib/presenting/sanitize.rb +19 -0
- data/lib/presenting/search.rb +185 -0
- data/lib/presenting/sorting.rb +87 -0
- data/lib/presenting/view.rb +3 -0
- data/lib/presenting.rb +9 -0
- data/rails/init.rb +12 -0
- data/test/assets_test.rb +58 -0
- data/test/attribute_test.rb +61 -0
- data/test/configurable_test.rb +20 -0
- data/test/details_test.rb +68 -0
- data/test/field_search_test.rb +102 -0
- data/test/field_set_test.rb +46 -0
- data/test/form_test.rb +287 -0
- data/test/grid_test.rb +219 -0
- data/test/helpers_test.rb +72 -0
- data/test/presenting_test.rb +15 -0
- data/test/rails/app/controllers/application_controller.rb +15 -0
- data/test/rails/app/controllers/users_controller.rb +36 -0
- data/test/rails/app/helpers/application_helper.rb +3 -0
- data/test/rails/app/helpers/users_helper.rb +2 -0
- data/test/rails/app/models/user.rb +2 -0
- data/test/rails/app/views/layouts/application.html.erb +15 -0
- data/test/rails/app/views/users/index.html.erb +10 -0
- data/test/rails/app/views/users/new.html.erb +2 -0
- data/test/rails/app/views/users/show.html.erb +1 -0
- data/test/rails/config/boot.rb +109 -0
- data/test/rails/config/database.yml +17 -0
- data/test/rails/config/environment.rb +13 -0
- data/test/rails/config/environments/development.rb +17 -0
- data/test/rails/config/environments/production.rb +24 -0
- data/test/rails/config/environments/test.rb +22 -0
- data/test/rails/config/locales/en.yml +5 -0
- data/test/rails/config/routes.rb +5 -0
- data/test/rails/db/development.sqlite3 +0 -0
- data/test/rails/db/migrate/20090213085444_create_users.rb +13 -0
- data/test/rails/db/migrate/20090213085607_populate_users.rb +13 -0
- data/test/rails/db/schema.rb +23 -0
- data/test/rails/db/test.sqlite3 +0 -0
- data/test/rails/log/development.log +858 -0
- data/test/rails/public/404.html +30 -0
- data/test/rails/public/422.html +30 -0
- data/test/rails/public/500.html +33 -0
- data/test/rails/public/javascripts/application.js +2 -0
- data/test/rails/public/javascripts/jquery.livequery.min.js +11 -0
- data/test/rails/public/javascripts/prototype.js +4320 -0
- data/test/rails/script/console +3 -0
- data/test/rails/script/dbconsole +3 -0
- data/test/rails/script/destroy +3 -0
- data/test/rails/script/generate +3 -0
- data/test/rails/script/plugin +3 -0
- data/test/rails/script/runner +3 -0
- data/test/rails/script/server +3 -0
- data/test/sanitize_test.rb +15 -0
- data/test/search_conditions_test.rb +137 -0
- data/test/search_test.rb +30 -0
- data/test/sorting_test.rb +63 -0
- data/test/test_helper.rb +66 -0
- metadata +217 -0
@@ -0,0 +1,15 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/test_helper'
|
2
|
+
|
3
|
+
class Presenting::SanitizeTest < Presenting::Test
|
4
|
+
def test_sanitizing_an_array
|
5
|
+
assert_equal ['&'], Presenting::Sanitize.h(['&'])
|
6
|
+
end
|
7
|
+
|
8
|
+
def test_sanitizing_a_hash
|
9
|
+
assert_equal({'<' => '>'}, Presenting::Sanitize.h({'<' => '>'}))
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_sanitizing_a_string
|
13
|
+
assert_equal '&', Presenting::Sanitize.h('&')
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,137 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/test_helper'
|
2
|
+
|
3
|
+
class SearchConditionsTest < Presenting::Test
|
4
|
+
def setup
|
5
|
+
@c = Presenting::Search.new
|
6
|
+
end
|
7
|
+
|
8
|
+
def test_assigning_a_simple_set_of_fields
|
9
|
+
@c.fields = [:a]
|
10
|
+
assert_equal 1, @c.fields.size
|
11
|
+
|
12
|
+
assert_equal 'a', @c.fields[0].name
|
13
|
+
assert_equal 'a', @c.fields[0].sql
|
14
|
+
assert_equal '= ?', @c.fields[0].operator
|
15
|
+
assert_equal '?', @c.fields[0].bind_pattern
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_assigning_fields_with_custom_patterns
|
19
|
+
@c.fields = {:a => :begins_with}
|
20
|
+
assert_equal 1, @c.fields.size
|
21
|
+
|
22
|
+
assert_equal 'a', @c.fields[0].name
|
23
|
+
assert_equal 'a', @c.fields[0].sql
|
24
|
+
assert_equal 'LIKE ?', @c.fields[0].operator
|
25
|
+
assert_equal '?%', @c.fields[0].bind_pattern
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_assigning_fields_with_full_options
|
29
|
+
@c.fields = {:a => {:sql => 'foo', :pattern => :begins_with}}
|
30
|
+
assert_equal 1, @c.fields.size
|
31
|
+
|
32
|
+
assert_equal 'a', @c.fields[0].name
|
33
|
+
assert_equal 'foo', @c.fields[0].sql
|
34
|
+
assert_equal 'LIKE ?', @c.fields[0].operator
|
35
|
+
assert_equal '?%', @c.fields[0].bind_pattern
|
36
|
+
end
|
37
|
+
|
38
|
+
def test_conditions_with_no_term
|
39
|
+
@c.fields = [:a, :b]
|
40
|
+
assert_nil @c.to_sql(nil)
|
41
|
+
assert_nil @c.to_sql('')
|
42
|
+
end
|
43
|
+
|
44
|
+
def test_simple_conditions
|
45
|
+
@c.fields << :a
|
46
|
+
@c.fields << {:b => :begins_with}
|
47
|
+
assert_equal ["a = ? OR b LIKE ?", 'foo', 'foo%'], @c.to_sql('foo', :simple)
|
48
|
+
end
|
49
|
+
|
50
|
+
def test_field_conditions
|
51
|
+
@c.fields << :a
|
52
|
+
@c.fields << {:b => :begins_with}
|
53
|
+
assert_equal ["a = ? AND b LIKE ?", 'foo', 'bar%'], @c.to_sql({'a' => {:value => 'foo'}, 'b' => {:value => 'bar'}}, :field)
|
54
|
+
end
|
55
|
+
|
56
|
+
def test_field_conditions_with_a_blank_term
|
57
|
+
@c.fields = [:a, :b]
|
58
|
+
assert_equal ["a = ?", 'foo'], @c.to_sql({'a' => {:value => 'foo'}, 'b' => {:value => ''}}, :field)
|
59
|
+
end
|
60
|
+
|
61
|
+
def test_field_conditions_with_space_padded_term
|
62
|
+
@c.fields = [:a]
|
63
|
+
assert_equal ["a = ?", 'foo'], @c.to_sql({'a' => {:value => ' foo '}}, :field)
|
64
|
+
end
|
65
|
+
|
66
|
+
def test_field_conditions_with_only_blank_terms
|
67
|
+
@c.fields = [:a]
|
68
|
+
assert_nil @c.to_sql({'a' => {:value => ''}}, :field)
|
69
|
+
end
|
70
|
+
|
71
|
+
def test_field_conditions_with_null_field
|
72
|
+
@c.fields << :a
|
73
|
+
@c.fields << {:b => :null}
|
74
|
+
assert_equal ["a = ? AND b IS NULL", 'foo'], @c.to_sql({'a' => {:value => 'foo'}, 'b' => {:value => '1'}}, :field)
|
75
|
+
end
|
76
|
+
|
77
|
+
def test_field_conditions_without_null_field
|
78
|
+
@c.fields << :a
|
79
|
+
@c.fields << {:b => :null}
|
80
|
+
assert_equal ["a = ?", 'foo'], @c.to_sql({'a' => {:value => 'foo'}}, :field)
|
81
|
+
end
|
82
|
+
|
83
|
+
def test_field_conditions_with_true_field
|
84
|
+
@c.fields << {:a => :true}
|
85
|
+
assert_equal ["a = ?", true], @c.to_sql({'a' => {:value => '1'}}, :field)
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
class SearchConditionsFieldTest < Presenting::Test
|
90
|
+
def setup
|
91
|
+
@f = Presenting::Search::Field.new
|
92
|
+
end
|
93
|
+
|
94
|
+
def test_assigning_a_symbol_name
|
95
|
+
@f.name = :foo
|
96
|
+
assert_equal 'foo', @f.name
|
97
|
+
end
|
98
|
+
|
99
|
+
def test_sql_defaults_to_name
|
100
|
+
@f.name = :foo
|
101
|
+
assert_equal 'foo', @f.sql
|
102
|
+
end
|
103
|
+
|
104
|
+
def test_default_operator
|
105
|
+
assert_equal '= ?', @f.operator
|
106
|
+
end
|
107
|
+
|
108
|
+
def test_default_bind_pattern
|
109
|
+
assert_equal '?', @f.bind_pattern
|
110
|
+
end
|
111
|
+
|
112
|
+
def test_fragment_joins_sql_and_operator
|
113
|
+
@f.sql = 'foo'
|
114
|
+
@f.operator = 'bar'
|
115
|
+
assert_equal "foo bar", @f.fragment
|
116
|
+
end
|
117
|
+
|
118
|
+
def test_bind_returns_nil_if_operator_has_no_place
|
119
|
+
@f.operator = 'is null'
|
120
|
+
assert_equal nil, @f.bind('foo')
|
121
|
+
end
|
122
|
+
|
123
|
+
def test_bind_returns_term_applied_to_bind_pattern
|
124
|
+
@f.bind_pattern = '%?%'
|
125
|
+
assert_equal '%foo%', @f.bind('foo')
|
126
|
+
end
|
127
|
+
|
128
|
+
def test_bind_with_typecast_to_date
|
129
|
+
@f.type = :date
|
130
|
+
assert_equal Time.parse('Apr 20, 2009').to_date, @f.bind('Apr 20, 2009')
|
131
|
+
end
|
132
|
+
|
133
|
+
def test_bind_with_typecast_to_time
|
134
|
+
@f.type = :time
|
135
|
+
assert_equal Time.parse('Apr 20, 2009 11:00am'), @f.bind('Apr 20, 2009 11:00am')
|
136
|
+
end
|
137
|
+
end
|
data/test/search_test.rb
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/test_helper'
|
2
|
+
|
3
|
+
class SearchTest < Presenting::Test
|
4
|
+
def setup
|
5
|
+
@s = Presentation::Search.new
|
6
|
+
end
|
7
|
+
|
8
|
+
# there's no configuration yet
|
9
|
+
end
|
10
|
+
|
11
|
+
class SearchRenderTest < Presentation::RenderTest
|
12
|
+
def setup
|
13
|
+
@presentation = Presentation::Search.new
|
14
|
+
@presentation.controller = TestController.new
|
15
|
+
@presentation.controller.request.path = '/users'
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_rendering_a_form_reuses_current_path
|
19
|
+
assert_select 'form[action=/users?][method=get]'
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_rendering_a_search_box
|
23
|
+
assert_select 'form input[type=text][name=search]'
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_rendering_a_search_box_with_a_existing_search
|
27
|
+
@presentation.controller.params[:search] = 'foo'
|
28
|
+
assert_select 'form input[type=text][name=search][value=foo]'
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/test_helper'
|
2
|
+
|
3
|
+
class SortingTest < Presenting::Test
|
4
|
+
def setup
|
5
|
+
@s = Presenting::Sorting.new
|
6
|
+
end
|
7
|
+
|
8
|
+
def test_assigning_a_simple_set_of_fields
|
9
|
+
@s.fields = [:a]
|
10
|
+
assert_equal 1, @s.fields.size
|
11
|
+
|
12
|
+
assert_equal 'a', @s.fields[0].name
|
13
|
+
assert_equal 'a', @s.fields[0].sql
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_assigning_fields_with_custom_sql
|
17
|
+
@s.fields = {:a => 'users.a'}
|
18
|
+
assert_equal 1, @s.fields.size
|
19
|
+
|
20
|
+
assert_equal 'a', @s.fields[0].name
|
21
|
+
assert_equal 'users.a', @s.fields[0].sql
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_assigning_default_sql
|
25
|
+
@s.fields = {:a => 'users.a'}
|
26
|
+
@s.default = [:a, 'desc']
|
27
|
+
assert_equal "users.a DESC", @s.default
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_the_default_default
|
31
|
+
@s.fields = {:a => 'users.a'}
|
32
|
+
assert_equal 'users.a ASC', @s.default
|
33
|
+
end
|
34
|
+
|
35
|
+
def test_generating_sorting_sql
|
36
|
+
@s.fields = {:a => 'users.a', :b => 'users.b'}
|
37
|
+
|
38
|
+
assert_equal 'users.a DESC', @s.to_sql({'a' => 'desc'})
|
39
|
+
end
|
40
|
+
|
41
|
+
def test_generating_sort_sql_with_no_known_fields
|
42
|
+
@s.fields = {:a => 'users.a', :b => 'users.b'}
|
43
|
+
@s.default = [:b, 'desc']
|
44
|
+
|
45
|
+
assert_equal 'users.b DESC', @s.to_sql(nil)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
class SortingFieldTest < Presenting::Test
|
50
|
+
def setup
|
51
|
+
@f = Presenting::Sorting::Field.new
|
52
|
+
end
|
53
|
+
|
54
|
+
def test_assigning_a_symbol_name
|
55
|
+
@f.name = :foo
|
56
|
+
assert_equal 'foo', @f.name
|
57
|
+
end
|
58
|
+
|
59
|
+
def test_sql_defaults_to_name
|
60
|
+
@f.name = :foo
|
61
|
+
assert_equal 'foo', @f.sql
|
62
|
+
end
|
63
|
+
end
|
data/test/test_helper.rb
ADDED
@@ -0,0 +1,66 @@
|
|
1
|
+
ENV["RAILS_ENV"] = "test"
|
2
|
+
|
3
|
+
# load the support libraries
|
4
|
+
require 'test/unit'
|
5
|
+
require 'rubygems'
|
6
|
+
gem 'rails', '2.3.11'
|
7
|
+
require 'active_support'
|
8
|
+
require 'action_pack'
|
9
|
+
require 'action_controller'
|
10
|
+
require 'action_view'
|
11
|
+
require 'mocha'
|
12
|
+
require 'will_paginate'
|
13
|
+
WillPaginate.enable_actionpack
|
14
|
+
|
15
|
+
PLUGIN_ROOT = File.join(File.dirname(__FILE__), '..')
|
16
|
+
|
17
|
+
# prepare for autoloading
|
18
|
+
ActiveSupport::Dependencies.autoload_paths << File.join(PLUGIN_ROOT, 'lib')
|
19
|
+
$LOAD_PATH.unshift File.join(PLUGIN_ROOT, 'lib')
|
20
|
+
ActionController::Base.view_paths << File.join(PLUGIN_ROOT, 'app', 'views')
|
21
|
+
ActiveSupport::Dependencies.autoload_paths << File.join(PLUGIN_ROOT, 'app', 'controllers')
|
22
|
+
$LOAD_PATH.unshift File.join(PLUGIN_ROOT, 'app', 'controllers')
|
23
|
+
|
24
|
+
# set up the asset routes, and an extra resource for tests that generate normal routes
|
25
|
+
require File.join(PLUGIN_ROOT, 'config', 'routes')
|
26
|
+
ActionController::Routing::Routes.draw do |map| map.resources :users end
|
27
|
+
|
28
|
+
# load the code
|
29
|
+
require 'rails/init'
|
30
|
+
|
31
|
+
class TestController < ActionController::Base
|
32
|
+
attr_accessor :request, :response, :params
|
33
|
+
|
34
|
+
def initialize
|
35
|
+
@request = ActionController::TestRequest.new
|
36
|
+
@response = ActionController::TestResponse.new
|
37
|
+
|
38
|
+
@params = {}
|
39
|
+
send(:initialize_current_url)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
# a way to customize syntax for our tests
|
44
|
+
class Presenting::Test < Test::Unit::TestCase
|
45
|
+
# TODO: create a shoulda-like context/setup/should syntax
|
46
|
+
def default_test; end # to quiet Test::Unit
|
47
|
+
end
|
48
|
+
|
49
|
+
# inheriting tests should target rendering behavior given certain configurations
|
50
|
+
class Presentation::RenderTest < Presenting::Test
|
51
|
+
include ActionController::Assertions::SelectorAssertions
|
52
|
+
|
53
|
+
protected
|
54
|
+
|
55
|
+
def render
|
56
|
+
@render ||= @presentation.render
|
57
|
+
end
|
58
|
+
|
59
|
+
def response_from_page_or_rjs
|
60
|
+
html_document.root
|
61
|
+
end
|
62
|
+
|
63
|
+
def html_document
|
64
|
+
HTML::Document.new(render)
|
65
|
+
end
|
66
|
+
end
|
metadata
ADDED
@@ -0,0 +1,217 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: presenting
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 23
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 1
|
8
|
+
- 0
|
9
|
+
- 0
|
10
|
+
version: 1.0.0
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- Lance Ivy
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2011-08-05 00:00:00 -07:00
|
19
|
+
default_executable:
|
20
|
+
dependencies:
|
21
|
+
- !ruby/object:Gem::Dependency
|
22
|
+
name: mocha
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
hash: 3
|
30
|
+
segments:
|
31
|
+
- 0
|
32
|
+
version: "0"
|
33
|
+
type: :development
|
34
|
+
version_requirements: *id001
|
35
|
+
description: Provides view components to quickly render tables, forms, etc., typically for an admin interface.
|
36
|
+
email: lance@cainlevy.net
|
37
|
+
executables: []
|
38
|
+
|
39
|
+
extensions: []
|
40
|
+
|
41
|
+
extra_rdoc_files: []
|
42
|
+
|
43
|
+
files:
|
44
|
+
- lib/presenting/sorting.rb
|
45
|
+
- lib/presenting/helpers.rb
|
46
|
+
- lib/presenting/form_helpers.rb
|
47
|
+
- lib/presenting/view.rb
|
48
|
+
- lib/presenting/search.rb
|
49
|
+
- lib/presenting/field_set.rb
|
50
|
+
- lib/presenting/sanitize.rb
|
51
|
+
- lib/presenting/configurable.rb
|
52
|
+
- lib/presenting/defaults.rb
|
53
|
+
- lib/presenting/attribute.rb
|
54
|
+
- lib/presentation/form.rb
|
55
|
+
- lib/presentation/base.rb
|
56
|
+
- lib/presentation/details.rb
|
57
|
+
- lib/presentation/search.rb
|
58
|
+
- lib/presentation/field_search.rb
|
59
|
+
- lib/presentation/grid.rb
|
60
|
+
- lib/presenting.rb
|
61
|
+
- app/views/presentations/_details.erb
|
62
|
+
- app/views/presentations/_grid.erb
|
63
|
+
- app/views/presentations/_form.erb
|
64
|
+
- app/views/presentations/_search.erb
|
65
|
+
- app/views/presentations/_field_search.erb
|
66
|
+
- app/assets/javascript/search.js
|
67
|
+
- app/assets/javascript/grid.js
|
68
|
+
- app/assets/stylesheets/search-color.css
|
69
|
+
- app/assets/stylesheets/grid.css
|
70
|
+
- app/assets/stylesheets/grid-color.css
|
71
|
+
- app/assets/stylesheets/search.css
|
72
|
+
- app/assets/stylesheets/details.css
|
73
|
+
- app/assets/stylesheets/details-color.css
|
74
|
+
- app/assets/stylesheets/form.css
|
75
|
+
- app/controllers/presentation/assets_controller.rb
|
76
|
+
- LICENSE
|
77
|
+
- README
|
78
|
+
- Rakefile
|
79
|
+
- rails/init.rb
|
80
|
+
- config/routes.rb
|
81
|
+
- test/test_helper.rb
|
82
|
+
- test/field_set_test.rb
|
83
|
+
- test/sorting_test.rb
|
84
|
+
- test/grid_test.rb
|
85
|
+
- test/assets_test.rb
|
86
|
+
- test/details_test.rb
|
87
|
+
- test/field_search_test.rb
|
88
|
+
- test/attribute_test.rb
|
89
|
+
- test/sanitize_test.rb
|
90
|
+
- test/search_conditions_test.rb
|
91
|
+
- test/rails/script/generate
|
92
|
+
- test/rails/script/console
|
93
|
+
- test/rails/script/destroy
|
94
|
+
- test/rails/script/dbconsole
|
95
|
+
- test/rails/script/plugin
|
96
|
+
- test/rails/script/server
|
97
|
+
- test/rails/script/runner
|
98
|
+
- test/rails/app/views/layouts/application.html.erb
|
99
|
+
- test/rails/app/views/users/new.html.erb
|
100
|
+
- test/rails/app/views/users/index.html.erb
|
101
|
+
- test/rails/app/views/users/show.html.erb
|
102
|
+
- test/rails/app/helpers/users_helper.rb
|
103
|
+
- test/rails/app/helpers/application_helper.rb
|
104
|
+
- test/rails/app/controllers/users_controller.rb
|
105
|
+
- test/rails/app/controllers/application_controller.rb
|
106
|
+
- test/rails/app/models/user.rb
|
107
|
+
- test/rails/log/development.log
|
108
|
+
- test/rails/db/schema.rb
|
109
|
+
- test/rails/db/development.sqlite3
|
110
|
+
- test/rails/db/migrate/20090213085444_create_users.rb
|
111
|
+
- test/rails/db/migrate/20090213085607_populate_users.rb
|
112
|
+
- test/rails/db/test.sqlite3
|
113
|
+
- test/rails/config/environment.rb
|
114
|
+
- test/rails/config/locales/en.yml
|
115
|
+
- test/rails/config/database.yml
|
116
|
+
- test/rails/config/boot.rb
|
117
|
+
- test/rails/config/environments/production.rb
|
118
|
+
- test/rails/config/environments/development.rb
|
119
|
+
- test/rails/config/environments/test.rb
|
120
|
+
- test/rails/config/routes.rb
|
121
|
+
- test/rails/public/javascripts/application.js
|
122
|
+
- test/rails/public/javascripts/jquery.livequery.min.js
|
123
|
+
- test/rails/public/javascripts/prototype.js
|
124
|
+
- test/rails/public/422.html
|
125
|
+
- test/rails/public/404.html
|
126
|
+
- test/rails/public/500.html
|
127
|
+
- test/form_test.rb
|
128
|
+
- test/configurable_test.rb
|
129
|
+
- test/presenting_test.rb
|
130
|
+
- test/helpers_test.rb
|
131
|
+
- test/search_test.rb
|
132
|
+
has_rdoc: true
|
133
|
+
homepage: http://github.com/cainlevy/presenting
|
134
|
+
licenses: []
|
135
|
+
|
136
|
+
post_install_message:
|
137
|
+
rdoc_options: []
|
138
|
+
|
139
|
+
require_paths:
|
140
|
+
- lib
|
141
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
142
|
+
none: false
|
143
|
+
requirements:
|
144
|
+
- - ">="
|
145
|
+
- !ruby/object:Gem::Version
|
146
|
+
hash: 3
|
147
|
+
segments:
|
148
|
+
- 0
|
149
|
+
version: "0"
|
150
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
151
|
+
none: false
|
152
|
+
requirements:
|
153
|
+
- - ">="
|
154
|
+
- !ruby/object:Gem::Version
|
155
|
+
hash: 3
|
156
|
+
segments:
|
157
|
+
- 0
|
158
|
+
version: "0"
|
159
|
+
requirements: []
|
160
|
+
|
161
|
+
rubyforge_project:
|
162
|
+
rubygems_version: 1.3.7
|
163
|
+
signing_key:
|
164
|
+
specification_version: 3
|
165
|
+
summary: component-style scaffolding helpers
|
166
|
+
test_files:
|
167
|
+
- test/test_helper.rb
|
168
|
+
- test/field_set_test.rb
|
169
|
+
- test/sorting_test.rb
|
170
|
+
- test/grid_test.rb
|
171
|
+
- test/assets_test.rb
|
172
|
+
- test/details_test.rb
|
173
|
+
- test/field_search_test.rb
|
174
|
+
- test/attribute_test.rb
|
175
|
+
- test/sanitize_test.rb
|
176
|
+
- test/search_conditions_test.rb
|
177
|
+
- test/rails/script/generate
|
178
|
+
- test/rails/script/console
|
179
|
+
- test/rails/script/destroy
|
180
|
+
- test/rails/script/dbconsole
|
181
|
+
- test/rails/script/plugin
|
182
|
+
- test/rails/script/server
|
183
|
+
- test/rails/script/runner
|
184
|
+
- test/rails/app/views/layouts/application.html.erb
|
185
|
+
- test/rails/app/views/users/new.html.erb
|
186
|
+
- test/rails/app/views/users/index.html.erb
|
187
|
+
- test/rails/app/views/users/show.html.erb
|
188
|
+
- test/rails/app/helpers/users_helper.rb
|
189
|
+
- test/rails/app/helpers/application_helper.rb
|
190
|
+
- test/rails/app/controllers/users_controller.rb
|
191
|
+
- test/rails/app/controllers/application_controller.rb
|
192
|
+
- test/rails/app/models/user.rb
|
193
|
+
- test/rails/log/development.log
|
194
|
+
- test/rails/db/schema.rb
|
195
|
+
- test/rails/db/development.sqlite3
|
196
|
+
- test/rails/db/migrate/20090213085444_create_users.rb
|
197
|
+
- test/rails/db/migrate/20090213085607_populate_users.rb
|
198
|
+
- test/rails/db/test.sqlite3
|
199
|
+
- test/rails/config/environment.rb
|
200
|
+
- test/rails/config/locales/en.yml
|
201
|
+
- test/rails/config/database.yml
|
202
|
+
- test/rails/config/boot.rb
|
203
|
+
- test/rails/config/environments/production.rb
|
204
|
+
- test/rails/config/environments/development.rb
|
205
|
+
- test/rails/config/environments/test.rb
|
206
|
+
- test/rails/config/routes.rb
|
207
|
+
- test/rails/public/javascripts/application.js
|
208
|
+
- test/rails/public/javascripts/jquery.livequery.min.js
|
209
|
+
- test/rails/public/javascripts/prototype.js
|
210
|
+
- test/rails/public/422.html
|
211
|
+
- test/rails/public/404.html
|
212
|
+
- test/rails/public/500.html
|
213
|
+
- test/form_test.rb
|
214
|
+
- test/configurable_test.rb
|
215
|
+
- test/presenting_test.rb
|
216
|
+
- test/helpers_test.rb
|
217
|
+
- test/search_test.rb
|