mighty_grid 0.2.2 → 0.3.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.
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