grapple 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.
- checksums.yaml +7 -0
- data/LICENSE +22 -0
- data/README.md +182 -0
- data/Rakefile +9 -0
- data/app/assets/images/grapple/arrow-down.png +0 -0
- data/app/assets/images/grapple/arrow-up.png +0 -0
- data/app/assets/images/grapple/loading-bar.gif +0 -0
- data/app/assets/images/grapple/minus.png +0 -0
- data/app/assets/images/grapple/plus.png +0 -0
- data/app/assets/javascripts/grapple-history.js +81 -0
- data/app/assets/javascripts/grapple-jquery.js +202 -0
- data/app/assets/javascripts/grapple.js +39 -0
- data/app/assets/stylesheets/grapple.css +252 -0
- data/config/locales/en.yml +2 -0
- data/lib/grapple/ajax_data_grid_builder.rb +38 -0
- data/lib/grapple/base_table_builder.rb +58 -0
- data/lib/grapple/components/actions.rb +24 -0
- data/lib/grapple/components/base_component.rb +91 -0
- data/lib/grapple/components/column_headings.rb +42 -0
- data/lib/grapple/components/html_body.rb +37 -0
- data/lib/grapple/components/html_colgroup.rb +14 -0
- data/lib/grapple/components/html_component.rb +24 -0
- data/lib/grapple/components/html_footer.rb +14 -0
- data/lib/grapple/components/html_header.rb +16 -0
- data/lib/grapple/components/html_row.rb +11 -0
- data/lib/grapple/components/search_form.rb +27 -0
- data/lib/grapple/components/search_query_field.rb +14 -0
- data/lib/grapple/components/search_submit.rb +11 -0
- data/lib/grapple/components/toolbar.rb +15 -0
- data/lib/grapple/components/will_paginate_infobar.rb +22 -0
- data/lib/grapple/components/will_paginate_pagination.rb +30 -0
- data/lib/grapple/components.rb +23 -0
- data/lib/grapple/data_grid_builder.rb +24 -0
- data/lib/grapple/engine.rb +11 -0
- data/lib/grapple/helpers/table_helper.rb +31 -0
- data/lib/grapple/helpers.rb +8 -0
- data/lib/grapple/html_table_builder.rb +31 -0
- data/lib/grapple.rb +14 -0
- data/spec/builders/ajax_data_grid_builder_spec.rb +19 -0
- data/spec/components/actions_spec.rb +33 -0
- data/spec/components/column_headings_spec.rb +33 -0
- data/spec/components/html_body_spec.rb +53 -0
- data/spec/components/html_colgroup_spec.rb +38 -0
- data/spec/components/html_footer_spec.rb +38 -0
- data/spec/components/search_form_spec.rb +29 -0
- data/spec/components/toolbar_spec.rb +38 -0
- data/spec/components/will_paginate_spec.rb +33 -0
- data/spec/fixtures/schema.rb +17 -0
- data/spec/fixtures/users.yml +56 -0
- data/spec/spec_helper.rb +137 -0
- data/spec/support/test_environment.rb +30 -0
- metadata +207 -0
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,137 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'bundler/setup'
|
3
|
+
require 'will_paginate'
|
4
|
+
require 'active_support'
|
5
|
+
require 'action_pack'
|
6
|
+
require 'action_view'
|
7
|
+
require 'action_controller'
|
8
|
+
require 'action_dispatch'
|
9
|
+
require 'rails'
|
10
|
+
require 'active_record'
|
11
|
+
require 'active_record/version'
|
12
|
+
require 'active_record/fixtures'
|
13
|
+
|
14
|
+
require 'will_paginate/active_record'
|
15
|
+
require 'will_paginate/view_helpers/action_view'
|
16
|
+
|
17
|
+
require_relative '../lib/grapple'
|
18
|
+
|
19
|
+
# Requires supporting files with custom matchers and macros, etc,
|
20
|
+
# in ./support/ and its subdirectories in alphabetic order.
|
21
|
+
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].sort.each {|f| require f}
|
22
|
+
|
23
|
+
|
24
|
+
puts "Rails v#{Rails.version}"
|
25
|
+
|
26
|
+
FIXTURES_PATH = File.expand_path('../fixtures', __FILE__)
|
27
|
+
|
28
|
+
ActiveRecord::Base.establish_connection(:adapter => "sqlite3", :database => ":memory:")
|
29
|
+
|
30
|
+
|
31
|
+
#ActiveRecord::Base.silence do
|
32
|
+
ActiveRecord::Migration.verbose = false
|
33
|
+
load File.join(FIXTURES_PATH, 'schema.rb')
|
34
|
+
#end
|
35
|
+
|
36
|
+
Fixtures = defined?(ActiveRecord::FixtureSet) ? ActiveRecord::FixtureSet :
|
37
|
+
defined?(ActiveRecord::Fixtures) ? ActiveRecord::Fixtures :
|
38
|
+
::Fixtures
|
39
|
+
|
40
|
+
Fixtures.create_fixtures FIXTURES_PATH, ['users']
|
41
|
+
|
42
|
+
class User < ActiveRecord::Base
|
43
|
+
|
44
|
+
end
|
45
|
+
|
46
|
+
require 'will_paginate'
|
47
|
+
|
48
|
+
module FakeHelpersModule
|
49
|
+
end
|
50
|
+
|
51
|
+
module GrappleSpecHelper
|
52
|
+
include ActionPack
|
53
|
+
include ActionView::Context if defined?(ActionView::Context)
|
54
|
+
include ActionController::RecordIdentifier if defined?(ActionController::RecordIdentifier)
|
55
|
+
include ActionView::Helpers::FormHelper
|
56
|
+
include ActionView::Helpers::FormTagHelper
|
57
|
+
include ActionView::Helpers::FormOptionsHelper
|
58
|
+
include ActionView::Helpers::UrlHelper
|
59
|
+
include ActionView::Helpers::TagHelper
|
60
|
+
include ActionView::Helpers::TextHelper
|
61
|
+
include ActionView::Helpers::ActiveRecordHelper if defined?(ActionView::Helpers::ActiveRecordHelper)
|
62
|
+
include ActionView::Helpers::ActiveModelHelper if defined?(ActionView::Helpers::ActiveModelHelper)
|
63
|
+
include ActionView::Helpers::DateHelper
|
64
|
+
include ActionView::Helpers::CaptureHelper
|
65
|
+
include ActionView::Helpers::AssetTagHelper
|
66
|
+
include ActiveSupport
|
67
|
+
include ActionController::PolymorphicRoutes if defined?(ActionController::PolymorphicRoutes)
|
68
|
+
include ActionDispatch::Routing::PolymorphicRoutes
|
69
|
+
include AbstractController::UrlFor if defined?(AbstractController::UrlFor)
|
70
|
+
include ActionView::RecordIdentifier if defined?(ActionView::RecordIdentifier)
|
71
|
+
include WillPaginate::ActionView
|
72
|
+
|
73
|
+
USERS_COLUMNS = [
|
74
|
+
{ label: '' },
|
75
|
+
{ label: 'first name', sort: 'firstname', width: 140 },
|
76
|
+
{ label: 'last name', sort: 'lastname', width: 140 },
|
77
|
+
{ label: 'username', sort: 'login', width: 150 },
|
78
|
+
{ label: 'email', sort: 'email', width: 300 },
|
79
|
+
{ label: 'Created At', sort: 'created_at', width: 175 }
|
80
|
+
]
|
81
|
+
|
82
|
+
def users_columns
|
83
|
+
USERS_COLUMNS
|
84
|
+
end
|
85
|
+
|
86
|
+
def users_records
|
87
|
+
User.all.paginate({ page: 1, per_page: 3 })
|
88
|
+
end
|
89
|
+
|
90
|
+
def default_url_options
|
91
|
+
{}
|
92
|
+
end
|
93
|
+
|
94
|
+
def _routes
|
95
|
+
url_helpers = double('url_helpers')
|
96
|
+
allow(url_helpers).to receive(:hash_for_users_path).and_return({})
|
97
|
+
allow(url_helpers).to receive(:hash_for_user_path).and_return({})
|
98
|
+
#url_helpers.stub(:hash_for_user_path).and_return({})
|
99
|
+
|
100
|
+
double('_routes',
|
101
|
+
:url_helpers => url_helpers,
|
102
|
+
:url_for => "/mock/path"
|
103
|
+
)
|
104
|
+
end
|
105
|
+
|
106
|
+
def controller
|
107
|
+
env = double('env', :[] => nil)
|
108
|
+
request = double('request', :env => env)
|
109
|
+
double('controller', :controller_path= => '', :params => {}, :request => request)
|
110
|
+
end
|
111
|
+
|
112
|
+
def mock_everything
|
113
|
+
# Resource-oriented styles like form_for(@post) will expect a path method for the object,
|
114
|
+
# so we're defining some here.
|
115
|
+
def user_path(*args); "/users/1"; end
|
116
|
+
def users_path(*args); "/users"; end
|
117
|
+
def new_user_path(*args); "/users/new"; end
|
118
|
+
end
|
119
|
+
|
120
|
+
def self.included(base)
|
121
|
+
base.class_eval do
|
122
|
+
|
123
|
+
attr_accessor :output_buffer
|
124
|
+
|
125
|
+
def protect_against_forgery?
|
126
|
+
false
|
127
|
+
end
|
128
|
+
|
129
|
+
def _helpers
|
130
|
+
FakeHelpersModule
|
131
|
+
end
|
132
|
+
|
133
|
+
end
|
134
|
+
end
|
135
|
+
|
136
|
+
end
|
137
|
+
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'rspec/core'
|
3
|
+
require 'rspec-html-matchers'
|
4
|
+
|
5
|
+
RSpec.configure do |config|
|
6
|
+
config.include RSpecHtmlMatchers
|
7
|
+
config.mock_with :rspec
|
8
|
+
end
|
9
|
+
|
10
|
+
require 'action_controller/railtie'
|
11
|
+
require 'active_model'
|
12
|
+
|
13
|
+
# Create a simple rails application for use in testing the viewhelper
|
14
|
+
module GrappleTest
|
15
|
+
class Application < Rails::Application
|
16
|
+
# Configure the default encoding used in templates for Ruby 1.9.
|
17
|
+
config.encoding = "utf-8"
|
18
|
+
config.active_support.deprecation = :stderr
|
19
|
+
config.secret_key_base = "secret"
|
20
|
+
config.eager_load = false
|
21
|
+
end
|
22
|
+
end
|
23
|
+
GrappleTest::Application.initialize!
|
24
|
+
|
25
|
+
require 'rspec/rails'
|
26
|
+
|
27
|
+
# Quick hack to avoid the 'Spec' deprecation warnings from rspec_tag_matchers
|
28
|
+
module Spec
|
29
|
+
include RSpec
|
30
|
+
end
|
metadata
ADDED
@@ -0,0 +1,207 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: grapple
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Edward Potocko
|
8
|
+
- Matt Maiatico
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2015-06-14 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: actionpack
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - ">="
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: 3.2.13
|
21
|
+
type: :runtime
|
22
|
+
prerelease: false
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - ">="
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: 3.2.13
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: activesupport
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - ">="
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: 3.2.13
|
35
|
+
type: :runtime
|
36
|
+
prerelease: false
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - ">="
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: 3.2.13
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: rspec-rails
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - "~>"
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '3.0'
|
49
|
+
type: :development
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - "~>"
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '3.0'
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: rspec-html-matchers
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - "~>"
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: 0.7.0
|
63
|
+
type: :development
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - "~>"
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: 0.7.0
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: rake
|
72
|
+
requirement: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - ">="
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
77
|
+
type: :development
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - ">="
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: '0'
|
84
|
+
- !ruby/object:Gem::Dependency
|
85
|
+
name: activemodel
|
86
|
+
requirement: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
88
|
+
- - ">="
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: 3.2.13
|
91
|
+
type: :development
|
92
|
+
prerelease: false
|
93
|
+
version_requirements: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - ">="
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: 3.2.13
|
98
|
+
- !ruby/object:Gem::Dependency
|
99
|
+
name: activerecord
|
100
|
+
requirement: !ruby/object:Gem::Requirement
|
101
|
+
requirements:
|
102
|
+
- - ">="
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: 3.2.13
|
105
|
+
type: :development
|
106
|
+
prerelease: false
|
107
|
+
version_requirements: !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - ">="
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: 3.2.13
|
112
|
+
- !ruby/object:Gem::Dependency
|
113
|
+
name: will_paginate
|
114
|
+
requirement: !ruby/object:Gem::Requirement
|
115
|
+
requirements:
|
116
|
+
- - ">="
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: '0'
|
119
|
+
type: :development
|
120
|
+
prerelease: false
|
121
|
+
version_requirements: !ruby/object:Gem::Requirement
|
122
|
+
requirements:
|
123
|
+
- - ">="
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
126
|
+
description: Data tables for Rails
|
127
|
+
email: epotocko@equallevel.com
|
128
|
+
executables: []
|
129
|
+
extensions: []
|
130
|
+
extra_rdoc_files: []
|
131
|
+
files:
|
132
|
+
- LICENSE
|
133
|
+
- README.md
|
134
|
+
- Rakefile
|
135
|
+
- app/assets/images/grapple/arrow-down.png
|
136
|
+
- app/assets/images/grapple/arrow-up.png
|
137
|
+
- app/assets/images/grapple/loading-bar.gif
|
138
|
+
- app/assets/images/grapple/minus.png
|
139
|
+
- app/assets/images/grapple/plus.png
|
140
|
+
- app/assets/javascripts/grapple-history.js
|
141
|
+
- app/assets/javascripts/grapple-jquery.js
|
142
|
+
- app/assets/javascripts/grapple.js
|
143
|
+
- app/assets/stylesheets/grapple.css
|
144
|
+
- config/locales/en.yml
|
145
|
+
- lib/grapple.rb
|
146
|
+
- lib/grapple/ajax_data_grid_builder.rb
|
147
|
+
- lib/grapple/base_table_builder.rb
|
148
|
+
- lib/grapple/components.rb
|
149
|
+
- lib/grapple/components/actions.rb
|
150
|
+
- lib/grapple/components/base_component.rb
|
151
|
+
- lib/grapple/components/column_headings.rb
|
152
|
+
- lib/grapple/components/html_body.rb
|
153
|
+
- lib/grapple/components/html_colgroup.rb
|
154
|
+
- lib/grapple/components/html_component.rb
|
155
|
+
- lib/grapple/components/html_footer.rb
|
156
|
+
- lib/grapple/components/html_header.rb
|
157
|
+
- lib/grapple/components/html_row.rb
|
158
|
+
- lib/grapple/components/search_form.rb
|
159
|
+
- lib/grapple/components/search_query_field.rb
|
160
|
+
- lib/grapple/components/search_submit.rb
|
161
|
+
- lib/grapple/components/toolbar.rb
|
162
|
+
- lib/grapple/components/will_paginate_infobar.rb
|
163
|
+
- lib/grapple/components/will_paginate_pagination.rb
|
164
|
+
- lib/grapple/data_grid_builder.rb
|
165
|
+
- lib/grapple/engine.rb
|
166
|
+
- lib/grapple/helpers.rb
|
167
|
+
- lib/grapple/helpers/table_helper.rb
|
168
|
+
- lib/grapple/html_table_builder.rb
|
169
|
+
- spec/builders/ajax_data_grid_builder_spec.rb
|
170
|
+
- spec/components/actions_spec.rb
|
171
|
+
- spec/components/column_headings_spec.rb
|
172
|
+
- spec/components/html_body_spec.rb
|
173
|
+
- spec/components/html_colgroup_spec.rb
|
174
|
+
- spec/components/html_footer_spec.rb
|
175
|
+
- spec/components/search_form_spec.rb
|
176
|
+
- spec/components/toolbar_spec.rb
|
177
|
+
- spec/components/will_paginate_spec.rb
|
178
|
+
- spec/fixtures/schema.rb
|
179
|
+
- spec/fixtures/users.yml
|
180
|
+
- spec/spec_helper.rb
|
181
|
+
- spec/support/test_environment.rb
|
182
|
+
homepage: https://github.com/equallevel/grapple
|
183
|
+
licenses:
|
184
|
+
- MIT
|
185
|
+
metadata: {}
|
186
|
+
post_install_message:
|
187
|
+
rdoc_options:
|
188
|
+
- "--charset=UTF-8"
|
189
|
+
require_paths:
|
190
|
+
- lib
|
191
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
192
|
+
requirements:
|
193
|
+
- - ">="
|
194
|
+
- !ruby/object:Gem::Version
|
195
|
+
version: 1.9.3
|
196
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
197
|
+
requirements:
|
198
|
+
- - ">="
|
199
|
+
- !ruby/object:Gem::Version
|
200
|
+
version: '0'
|
201
|
+
requirements: []
|
202
|
+
rubyforge_project:
|
203
|
+
rubygems_version: 2.2.2
|
204
|
+
signing_key:
|
205
|
+
specification_version: 4
|
206
|
+
summary: Customizable data grid for Rails
|
207
|
+
test_files: []
|