mighty_grid 0.2.2 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f7f9c3fe294d2ca3e018c9423d017080db7f0672
4
- data.tar.gz: b4ee536a54684468aecaaa5637f6d95e026f2ae0
3
+ metadata.gz: db3be8e4ea2ceb7203c275271ab2d2f0f13b97c1
4
+ data.tar.gz: d31f8201be065f8ec4df6578fe31ed874e58c404
5
5
  SHA512:
6
- metadata.gz: 65b8a28c2bef8f954d51dde1fc7f926ddd7952bb39aea2e7e14016d033cfb2a3d1a9f9e21995b59191904139221f34e6bd75fcd88814099ccd59563c5338e4c5
7
- data.tar.gz: 1ca07348c0c9bca8cd89f9e0aa142717554ad9f5c7ba1b7bf94a0ef42a343dcb8b625ffab72d4e89a5a506de10f6000f8ff303989dfb4119d4754e7116dab04b
6
+ metadata.gz: 5e2284003412c988caa41624d339790fb8d675e48abf96df115f128bedc7a51055ec0fd75942708b12e2d006dfacdb2f8913dbb8f06703799eb100fad8d0341b
7
+ data.tar.gz: 1e953d518c34a8542c6047c6371ae10c8fa3de792d345dc18555f506ebed6fcce499a9b438c6bfb20ba847d880f70515b4a79ff67c1d769d58701d9bc05a3b9b
data/.gitignore CHANGED
@@ -16,4 +16,5 @@ spec/reports
16
16
  test/tmp
17
17
  test/version_tmp
18
18
  tmp
19
- log
19
+ log
20
+ spec/fake_app/config/*.yml
data/.travis.yml CHANGED
@@ -6,6 +6,16 @@ rvm:
6
6
 
7
7
  script: bundle exec rake spec
8
8
 
9
+ before_script:
10
+ - cp spec/fake_app/config/database.yml.example spec/fake_app/config/database.yml
11
+ - mysql -e 'create database mg_test'
12
+ - psql -c 'create database mg_test' -U postgres
13
+
14
+ env:
15
+ - DB=sqlite
16
+ - DB=mysql
17
+ - DB=postgresql
18
+
9
19
  gemfile:
10
20
  - gemfiles/rails_32.gemfile
11
21
  - gemfiles/rails_40.gemfile
@@ -13,4 +23,5 @@ gemfile:
13
23
 
14
24
  addons:
15
25
  code_climate:
16
- repo_token: 47bc411a11ccfed015bf25395d8204600c899e530c1c4beed1b7197aa61c6fb6
26
+ repo_token: 47bc411a11ccfed015bf25395d8204600c899e530c1c4beed1b7197aa61c6fb6
27
+ postgresql: "9.3"
data/Gemfile CHANGED
@@ -5,8 +5,11 @@ gemspec
5
5
  group :test do
6
6
  gem 'sqlite3'
7
7
  gem "generator_spec"
8
- gem 'coveralls', require: false
9
- gem "codeclimate-test-reporter", require: nil
10
8
  gem 'capybara'
11
9
  gem 'database_cleaner'
10
+
11
+ gem 'coveralls', require: false
12
+ gem "codeclimate-test-reporter", require: nil
13
+ gem 'pg', require: false
14
+ gem 'mysql2', require: false
12
15
  end
@@ -8,10 +8,12 @@ gem "activerecord", "~> 3.2.15", :require => "active_record"
8
8
  group :test do
9
9
  gem "sqlite3"
10
10
  gem "generator_spec"
11
- gem "coveralls", :require => false
12
- gem "codeclimate-test-reporter", :require => nil
13
11
  gem "capybara"
14
12
  gem "database_cleaner"
13
+ gem "coveralls", :require => false
14
+ gem "codeclimate-test-reporter", :require => nil
15
+ gem "pg", :require => false
16
+ gem "mysql2", :require => false
15
17
  end
16
18
 
17
19
  gemspec :path => "../"
@@ -8,10 +8,12 @@ gem "activerecord", "~> 4.0.0", :require => "active_record"
8
8
  group :test do
9
9
  gem "sqlite3"
10
10
  gem "generator_spec"
11
- gem "coveralls", :require => false
12
- gem "codeclimate-test-reporter", :require => nil
13
11
  gem "capybara"
14
12
  gem "database_cleaner"
13
+ gem "coveralls", :require => false
14
+ gem "codeclimate-test-reporter", :require => nil
15
+ gem "pg", :require => false
16
+ gem "mysql2", :require => false
15
17
  end
16
18
 
17
19
  gemspec :path => "../"
@@ -8,10 +8,12 @@ gem "activerecord", "~> 4.1.0", :require => "active_record"
8
8
  group :test do
9
9
  gem "sqlite3"
10
10
  gem "generator_spec"
11
- gem "coveralls", :require => false
12
- gem "codeclimate-test-reporter", :require => nil
13
11
  gem "capybara"
14
12
  gem "database_cleaner"
13
+ gem "coveralls", :require => false
14
+ gem "codeclimate-test-reporter", :require => nil
15
+ gem "pg", :require => false
16
+ gem "mysql2", :require => false
15
17
  end
16
18
 
17
19
  gemspec :path => "../"
@@ -11,9 +11,11 @@ module MightyGrid
11
11
  @filters = {}
12
12
 
13
13
  @options = {
14
- page: 1,
15
- per_page: MightyGrid.config.per_page,
16
- name: MightyGrid.config.grid_name
14
+ :page => 1,
15
+ :per_page => MightyGrid.config.per_page,
16
+ :name => MightyGrid.config.grid_name,
17
+ :include => nil,
18
+ :joins => nil,
17
19
  }
18
20
 
19
21
  opts.assert_valid_keys(@options.keys)
@@ -32,7 +34,11 @@ module MightyGrid
32
34
  def read
33
35
  apply_filters
34
36
  @relation = @relation.order(@mg_params[:order] => current_order_direction.to_sym) if @mg_params[:order].present? && current_order_direction.present?
35
- @relation = @relation.page(@mg_params[:page]).per(@mg_params[:per_page])
37
+ @relation = @relation.
38
+ page(@mg_params[:page]).
39
+ per(@mg_params[:per_page]).
40
+ includes(@options[:include]).
41
+ joins(@options[:joins])
36
42
  end
37
43
 
38
44
  def apply_filters
@@ -1,3 +1,3 @@
1
1
  module MightyGrid
2
- VERSION = "0.2.2"
2
+ VERSION = "0.3.0"
3
3
  end
@@ -0,0 +1,14 @@
1
+ sqlite:
2
+ adapter: sqlite3
3
+ database: ':memory:'
4
+ timeout: 500
5
+
6
+ mysql:
7
+ adapter: mysql2
8
+ database: 'mg_test'
9
+ username: root
10
+
11
+ postgresql:
12
+ adapter: postgresql
13
+ database: 'mg_test'
14
+ username: postgres
@@ -1,11 +1,22 @@
1
1
  # MODELS
2
2
  class Product < ActiveRecord::Base
3
+ belongs_to :company
4
+ end
5
+
6
+ class Company < ActiveRecord::Base
7
+ has_many :products
3
8
  end
4
9
 
5
10
  # MIGRATIONS
6
11
  class CreateAllTables < ActiveRecord::Migration
7
12
  def self.up
8
- create_table(:products) { |t| t.string :name; t.text :description }
13
+ create_table(:products) { |t| t.string :name; t.text :description; t.integer :company_id }
14
+ create_table(:companies) { |t| t.string :name; t.text :description }
15
+ end
16
+
17
+ def self.down
18
+ drop_table :products
19
+ drop_table :companies
9
20
  end
10
21
  end
11
22
 
@@ -1,2 +1,5 @@
1
- ActiveRecord::Base.configurations = {'test' => {:adapter => 'sqlite3', :database => ':memory:'}}
2
- ActiveRecord::Base.establish_connection(:test)
1
+ configs = YAML.load_file('spec/fake_app/config/database.yml')
2
+ ActiveRecord::Base.configurations = configs
3
+
4
+ db_name = ENV['DB'] || 'sqlite'
5
+ ActiveRecord::Base.establish_connection(db_name)
@@ -5,7 +5,7 @@ describe MightyGrid::Base do
5
5
  before(:all) do
6
6
  @controller = ActionView::TestCase::TestController.new
7
7
 
8
- @default_options = {page: 1, per_page: 15, name: 'grid'}
8
+ @default_options = {page: 1, per_page: 15, name: 'grid', :include => nil, joins: nil}
9
9
  end
10
10
 
11
11
  describe '#new' do
@@ -10,4 +10,8 @@ RSpec.configure do |config|
10
10
  config.after :each do
11
11
  DatabaseCleaner.clean
12
12
  end
13
+
14
+ config.after :suite do
15
+ CreateAllTables.down
16
+ end
13
17
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mighty_grid
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - jurrick
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-13 00:00:00.000000000 Z
11
+ date: 2014-05-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -122,6 +122,7 @@ files:
122
122
  - lib/mighty_grid/version.rb
123
123
  - mighty_grid.gemspec
124
124
  - spec/config_spec.rb
125
+ - spec/fake_app/config/database.yml.example
125
126
  - spec/fake_app/models/active_record.rb
126
127
  - spec/fake_app/models/config.rb
127
128
  - spec/fake_app/rails_app.rb
@@ -160,6 +161,7 @@ specification_version: 4
160
161
  summary: Flexible grid for Rails
161
162
  test_files:
162
163
  - spec/config_spec.rb
164
+ - spec/fake_app/config/database.yml.example
163
165
  - spec/fake_app/models/active_record.rb
164
166
  - spec/fake_app/models/config.rb
165
167
  - spec/fake_app/rails_app.rb