toschas-filterable 1.0.1 → 1.0.2

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: f83471709da4dc0f30669acc4c5a27c6d44fa6f9
4
- data.tar.gz: 8f8792764eb8536762d2094bf882acf4692e22df
3
+ metadata.gz: 0055e3915e9097dcaf87f9339ccb0a949817d170
4
+ data.tar.gz: deb71c46c881a522d8bfa0e0b6b23238b7e54bca
5
5
  SHA512:
6
- metadata.gz: 229de4e950f36b47a2566cd4c7a888ca82ebf62f47b76628c4c9610eda96c5d5db84d645e4021f7550c14b35f90ac17d4cda8e978329bb4b8a37a4150731fe48
7
- data.tar.gz: b03b18b23365781d9aa2270c4888fbd58ec143ffdd1d5ed89a9b159ea6feea924c8acdd7873cca9a7b1af2718fd9b537f82efd5c25a44d2353bbcafa977f8374
6
+ metadata.gz: 3e4c2f7ebae6ed16869fe5ed8023ae5c37f120bc312666e755abc96bdbc6e3e4d6dce92495cdf98539e3bd10990bb9e1947ff3f038a107c33be8324e8d20a548
7
+ data.tar.gz: ac5a94a90023e95d6a5465c4605ca5249546c92c2929dd3d3b5d80c70da12468952d7e7005aefd632a82698f1f6a685d5549180e6b1d928da9a0394d725e9428
@@ -13,6 +13,16 @@ module Generators
13
13
 
14
14
  private
15
15
 
16
+ def table_loaded?
17
+ model.table_exists?
18
+ rescue ActiveRecord::NoDatabaseError, ActiveRecord::StatementInvalid
19
+ false
20
+ end
21
+
22
+ def relation
23
+ model
24
+ end
25
+
16
26
  def range_types
17
27
  [:date, :datetime, :integer, :float, :decimal]
18
28
  end
@@ -4,7 +4,7 @@ module Generators
4
4
  filters.each do |filter|
5
5
  field = joined_field(filter)
6
6
  generate_joined_filter(filter, field, relation_name, options[:joins])
7
- if range_filter?(field)
7
+ if table_loaded? && range_filter?(field)
8
8
  generate_range_filter(filter, field, relation_name, options[:joins])
9
9
  end
10
10
  end
@@ -12,6 +12,10 @@ module Generators
12
12
 
13
13
  private
14
14
 
15
+ def relation
16
+ relation_name.to_s.classify.constantize
17
+ end
18
+
15
19
  def generate_joined_filter(filter, field, relation_name, join_options)
16
20
  model.define_singleton_method(
17
21
  "by_#{filter}",
@@ -7,7 +7,7 @@ module Generators
7
7
  ->(value) { send(:where, { filter => value }) }
8
8
  )
9
9
 
10
- generate_range_filter(filter) if range_filter?(filter)
10
+ generate_range_filter(filter) if table_loaded? && range_filter?(filter)
11
11
  end
12
12
  end
13
13
 
@@ -1,3 +1,3 @@
1
1
  module Filterable
2
- VERSION = "1.0.1"
2
+ VERSION = "1.0.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: toschas-filterable
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Darjan Vukusic
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-05-19 00:00:00.000000000 Z
11
+ date: 2016-05-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler