magick_columns 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -52,7 +52,7 @@ And you get the people born in the XXI century =)
52
52
  ## Custom configuration
53
53
 
54
54
  If you want to define your own rules, or replace some existing configuration add
55
- in config/initializers one ruby file, for example magick_columns_config.rb
55
+ in `config/initializers` one ruby file, for example `magick_columns_config.rb`
56
56
 
57
57
  ```ruby
58
58
  MagickColumns.setup do |config|
@@ -76,6 +76,31 @@ MagickColumns.setup do |config|
76
76
  end
77
77
  ```
78
78
 
79
+ ## I18n
80
+
81
+ If you want to translate the built in rules, you can =). Add a
82
+ `magick_columns.en.yml` in your `config/locales` and you are done...
83
+
84
+ ```yml
85
+ 'en':
86
+ magick_columns:
87
+ and:
88
+ - and
89
+ or:
90
+ - or
91
+ from:
92
+ - from
93
+ - since
94
+ until:
95
+ - to
96
+ - until
97
+ today:
98
+ - today
99
+ - now
100
+ ```
101
+
102
+ You can see more examples in the `magick_columns/locales` folder.
103
+
79
104
  ## How to contribute
80
105
 
81
106
  If you find what you might think is a bug:
@@ -1,42 +1,49 @@
1
1
  module MagickColumns
2
2
  autoload :DEFAULTS, 'magick_columns/defaults'
3
- autoload :I18N_DEFAULTS, 'magick_columns/defaults'
4
3
  autoload :TOKENIZE_RULES, 'magick_columns/rules'
5
4
  autoload :REPLACEMENT_RULES, 'magick_columns/rules'
6
5
  autoload :Tokenizer, 'magick_columns/tokenizer'
6
+ autoload :I18n, 'magick_columns/i18n'
7
7
 
8
8
  class << self
9
9
  private
10
10
 
11
11
  def _default_setup_for(config)
12
- translation = I18n.t("magick_columns.#{config}", raise: true) rescue MagickColumns::I18N_DEFAULTS[config]
12
+ -> {
13
+ translation = I18n.magick_translate(config)
13
14
 
14
- if translation.respond_to?(:map)
15
- translation.map { |c| Regexp.quote(c) }.join('|')
16
- else
17
- translation
18
- end
15
+ if translation.respond_to?(:map)
16
+ translation.map { |c| Regexp.quote(c) }.join('|')
17
+ else
18
+ translation
19
+ end
20
+ }
19
21
  end
20
22
  end
21
23
 
24
+ DYNAMIC_READERS = [
25
+ :and_operators, :or_operators, :from_operators, :until_operators,
26
+ :today_operators
27
+ ]
28
+
22
29
  # Strings considered "and" spliters
23
- mattr_accessor :and_operators
30
+ mattr_writer :and_operators
24
31
  @@and_operators = _default_setup_for :and
25
32
 
26
33
  # Strings considered "or" spliters
27
- mattr_accessor :or_operators
34
+ mattr_writer :or_operators
28
35
  @@or_operators = _default_setup_for :or
29
36
 
30
37
  # Strings considered "from" terms (like "from 01/01/2012")
31
- mattr_accessor :from_operators
38
+ mattr_writer :from_operators
32
39
  @@from_operators = _default_setup_for :from
33
40
 
34
41
  # Strings considered "until" terms (like "until 01/01/2012")
35
- mattr_accessor :until_operators
42
+ mattr_writer :until_operators
36
43
  @@until_operators = _default_setup_for :until
37
44
 
38
45
  # Strings considered "today" strings (like "from today")
39
- mattr_accessor :today_operators
46
+ mattr_writer :today_operators
40
47
  @@today_operators = _default_setup_for :today
41
48
 
42
49
  # Rules to replace text in the natural string
@@ -47,6 +54,14 @@ module MagickColumns
47
54
  mattr_accessor :tokenize_rules
48
55
  @@tokenize_rules = TOKENIZE_RULES.dup
49
56
 
57
+ DYNAMIC_READERS.each do |m|
58
+ instance_eval <<-RUBY
59
+ def #{m}
60
+ @@#{m}.respond_to?(:call) ? @@#{m}.call : @@#{m}
61
+ end
62
+ RUBY
63
+ end
64
+
50
65
  # Setup method for plugin configuration
51
66
  def self.setup
52
67
  yield self
@@ -28,12 +28,4 @@ module MagickColumns
28
28
  convert: ->(t) { ::Timeliness.parse(t.to_s) }
29
29
  }
30
30
  }
31
-
32
- I18N_DEFAULTS = {
33
- from: ['from', 'since'],
34
- until: ['to', 'until'],
35
- and: ['and'],
36
- or: ['or'],
37
- today: ['today', 'now']
38
- }
39
31
  end
@@ -0,0 +1,25 @@
1
+ module MagickColumns
2
+ module I18n
3
+ def self.locale_dir
4
+ File.expand_path('../locales', __FILE__)
5
+ end
6
+
7
+ def self.load_path
8
+ Dir["#{locale_dir}/*.{rb,yml}"]
9
+ end
10
+
11
+ def self.magick_translate(keys, options = {})
12
+ if defined? ::I18n
13
+ defaults = Array(keys).dup
14
+ defaults << Proc.new if block_given?
15
+ ::I18n.translate(
16
+ defaults.shift,
17
+ options.merge(default: defaults, scope: :magick_columns, raise: true)
18
+ )
19
+ else
20
+ key = Array === keys ? keys.first : keys
21
+ yield key, options
22
+ end
23
+ end
24
+ end
25
+ end
File without changes
File without changes
@@ -1,9 +1,15 @@
1
1
  module MagickColumns
2
2
  class Railtie < Rails::Railtie
3
- initializer 'magick_columns.active_record' do
3
+ initializer 'magick_columns' do
4
4
  ActiveSupport.on_load :active_record do
5
5
  require 'magick_columns/active_record'
6
6
  end
7
+
8
+ self.class.add_locale_path config
9
+ end
10
+
11
+ def self.add_locale_path(config)
12
+ config.i18n.railties_load_path.unshift(*MagickColumns::I18n.load_path)
7
13
  end
8
14
  end
9
15
  end
@@ -2,18 +2,18 @@
2
2
  module MagickColumns
3
3
  TOKENIZE_RULES = {
4
4
  from: {
5
- pattern: /(\A\s*|\s+)(#{MagickColumns.from_operators})\s+(\S+)/,
5
+ pattern: -> { /(\A\s*|\s+)(#{MagickColumns.from_operators})\s+(\S+)/ },
6
6
  tokenizer: ->(match) { { operator: '>=', term: match[3] } }
7
7
  },
8
8
  until:{
9
- pattern: /(\A\s*|\s+)(#{MagickColumns.until_operators})\s+(\S+)/,
9
+ pattern: -> { /(\A\s*|\s+)(#{MagickColumns.until_operators})\s+(\S+)/ },
10
10
  tokenizer: ->(match) { { operator: '<=', term: match[3] } }
11
11
  }
12
12
  }
13
13
 
14
14
  REPLACEMENT_RULES = {
15
15
  today: {
16
- pattern: /#{MagickColumns.today_operators}/,
16
+ pattern: -> { /#{MagickColumns.today_operators}/ },
17
17
  replacement: ->(match) { Date.today.to_s(:db) }
18
18
  }
19
19
  }
@@ -37,16 +37,22 @@ module MagickColumns
37
37
  terms = []
38
38
 
39
39
  MagickColumns.replacement_rules.each do |rule, options|
40
- while(match = term_copy.match(options[:pattern]))
41
- term_copy.sub!(options[:pattern], options[:replacement].call(match))
40
+ pattern = options[:pattern].respond_to?(:call) ?
41
+ options[:pattern].call : options[:pattern]
42
+
43
+ while(match = term_copy.match(pattern))
44
+ term_copy.sub!(pattern, options[:replacement].call(match))
42
45
  end
43
46
  end
44
47
 
45
48
  MagickColumns.tokenize_rules.each do |rule, options|
46
- while(match = term_copy.match(options[:pattern]))
49
+ pattern = options[:pattern].respond_to?(:call) ?
50
+ options[:pattern].call : options[:pattern]
51
+
52
+ while(match = term_copy.match(pattern))
47
53
  terms << options[:tokenizer].call(match)
48
54
 
49
- term_copy.sub!(options[:pattern], '')
55
+ term_copy.sub!(pattern, '')
50
56
  end
51
57
  end
52
58
 
@@ -1,3 +1,3 @@
1
1
  module MagickColumns
2
- VERSION = '0.0.2'
2
+ VERSION = '0.0.3'
3
3
  end
@@ -2759,3 +2759,259 @@
2759
2759
   (0.1ms) ROLLBACK
2760
2760
   (0.1ms) BEGIN
2761
2761
   (0.2ms) ROLLBACK
2762
+  (0.2ms) BEGIN
2763
+  (1.0ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%3012-03-19%' OR birth = '3012-03-19')) OR ((name ILIKE '%luke%')))
2764
+ Person Load (0.5ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%3012-03-19%' OR birth = '3012-03-19')) OR ((name ILIKE '%luke%')))
2765
+  (0.2ms) ROLLBACK
2766
+  (0.1ms) BEGIN
2767
+  (0.1ms) ROLLBACK
2768
+  (0.1ms) BEGIN
2769
+  (0.7ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%3012-03-19%' OR birth = '3012-03-19')))
2770
+ Person Load (0.5ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%3012-03-19%' OR birth = '3012-03-19'))) LIMIT 1
2771
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%3032-03-19%' OR birth = '3032-03-19')))
2772
+ Person Load (0.5ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%3032-03-19%' OR birth = '3032-03-19'))) LIMIT 1
2773
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%2012-03-19%' OR birth = '2012-03-19')))
2774
+  (0.1ms) ROLLBACK
2775
+  (0.1ms) BEGIN
2776
+  (0.5ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%obi@%' OR email ILIKE '%obi@%')))
2777
+ Person Load (0.5ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%obi@%' OR email ILIKE '%obi@%'))) LIMIT 1
2778
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%@sw.com%' OR email ILIKE '%@sw.com%')))
2779
+ Person Load (0.4ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%@sw.com%' OR email ILIKE '%@sw.com%')))
2780
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%nobody@sw.com%' OR email ILIKE '%nobody@sw.com%')))
2781
+  (0.2ms) ROLLBACK
2782
+  (0.1ms) BEGIN
2783
+  (0.8ms) SELECT COUNT(*) FROM "articles" WHERE (((name ILIKE '%1%' OR code = '1')))
2784
+ Article Load (0.5ms) SELECT "articles".* FROM "articles" WHERE (((name ILIKE '%1%' OR code = '1'))) LIMIT 1
2785
+  (0.9ms) SELECT COUNT(*) FROM "articles" WHERE (((name ILIKE '%100%' OR code = '100')))
2786
+  (0.2ms) ROLLBACK
2787
+  (0.1ms) BEGIN
2788
+  (0.2ms) ROLLBACK
2789
+  (0.4ms) BEGIN
2790
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%obi%')))
2791
+ Person Load (0.5ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%obi%'))) LIMIT 1
2792
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%skywalker%')))
2793
+ Person Load (0.4ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%skywalker%')))
2794
+  (0.5ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%anakin%') AND (name ILIKE '%skywalker%')))
2795
+ Person Load (0.4ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%anakin%') AND (name ILIKE '%skywalker%'))) LIMIT 1
2796
+  (0.5ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%anakin%')) OR ((name ILIKE '%skywalker%')))
2797
+ Person Load (1.3ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%anakin%')) OR ((name ILIKE '%skywalker%')))
2798
+  (0.5ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%nobody%')))
2799
+  (0.2ms) ROLLBACK
2800
+  (0.2ms) BEGIN
2801
+  (0.2ms) ROLLBACK
2802
+  (0.1ms) BEGIN
2803
+  (0.3ms) ROLLBACK
2804
+  (0.1ms) BEGIN
2805
+  (0.6ms) ROLLBACK
2806
+  (0.2ms) BEGIN
2807
+  (1.0ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%3012-03-19%' OR birth = '3012-03-19')) OR ((name ILIKE '%luke%')))
2808
+ Person Load (0.5ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%3012-03-19%' OR birth = '3012-03-19')) OR ((name ILIKE '%luke%')))
2809
+  (0.2ms) ROLLBACK
2810
+  (0.2ms) BEGIN
2811
+  (0.1ms) ROLLBACK
2812
+  (0.1ms) BEGIN
2813
+  (0.5ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%3012-03-19%' OR birth = '3012-03-19')))
2814
+ Person Load (0.5ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%3012-03-19%' OR birth = '3012-03-19'))) LIMIT 1
2815
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%3032-03-19%' OR birth = '3032-03-19')))
2816
+ Person Load (0.5ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%3032-03-19%' OR birth = '3032-03-19'))) LIMIT 1
2817
+  (0.5ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%2012-03-19%' OR birth = '2012-03-19')))
2818
+  (0.1ms) ROLLBACK
2819
+  (0.2ms) BEGIN
2820
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%obi@%' OR email ILIKE '%obi@%')))
2821
+ Person Load (0.4ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%obi@%' OR email ILIKE '%obi@%'))) LIMIT 1
2822
+  (0.5ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%@sw.com%' OR email ILIKE '%@sw.com%')))
2823
+ Person Load (0.5ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%@sw.com%' OR email ILIKE '%@sw.com%')))
2824
+  (0.5ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%nobody@sw.com%' OR email ILIKE '%nobody@sw.com%')))
2825
+  (0.2ms) ROLLBACK
2826
+  (0.1ms) BEGIN
2827
+  (0.9ms) SELECT COUNT(*) FROM "articles" WHERE (((name ILIKE '%1%' OR code = '1')))
2828
+ Article Load (0.5ms) SELECT "articles".* FROM "articles" WHERE (((name ILIKE '%1%' OR code = '1'))) LIMIT 1
2829
+  (0.5ms) SELECT COUNT(*) FROM "articles" WHERE (((name ILIKE '%100%' OR code = '100')))
2830
+  (0.2ms) ROLLBACK
2831
+  (0.2ms) BEGIN
2832
+  (0.1ms) ROLLBACK
2833
+  (0.2ms) BEGIN
2834
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%obi%')))
2835
+ Person Load (0.4ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%obi%'))) LIMIT 1
2836
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%skywalker%')))
2837
+ Person Load (0.4ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%skywalker%')))
2838
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%anakin%') AND (name ILIKE '%skywalker%')))
2839
+ Person Load (0.4ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%anakin%') AND (name ILIKE '%skywalker%'))) LIMIT 1
2840
+  (0.5ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%anakin%')) OR ((name ILIKE '%skywalker%')))
2841
+ Person Load (0.4ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%anakin%')) OR ((name ILIKE '%skywalker%')))
2842
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%nobody%')))
2843
+  (0.1ms) ROLLBACK
2844
+  (0.2ms) BEGIN
2845
+  (0.2ms) ROLLBACK
2846
+  (0.2ms) BEGIN
2847
+  (0.2ms) ROLLBACK
2848
+  (0.1ms) BEGIN
2849
+  (0.2ms) ROLLBACK
2850
+  (0.1ms) BEGIN
2851
+  (0.2ms) ROLLBACK
2852
+  (0.2ms) BEGIN
2853
+  (0.1ms) ROLLBACK
2854
+  (0.1ms) BEGIN
2855
+  (0.1ms) ROLLBACK
2856
+  (0.1ms) BEGIN
2857
+  (0.1ms) ROLLBACK
2858
+  (0.1ms) BEGIN
2859
+  (0.1ms) ROLLBACK
2860
+  (0.1ms) BEGIN
2861
+  (0.1ms) ROLLBACK
2862
+  (0.1ms) BEGIN
2863
+  (0.1ms) ROLLBACK
2864
+  (0.2ms) BEGIN
2865
+  (0.2ms) ROLLBACK
2866
+  (0.1ms) BEGIN
2867
+  (0.1ms) ROLLBACK
2868
+  (0.4ms) BEGIN
2869
+  (0.1ms) ROLLBACK
2870
+  (0.1ms) BEGIN
2871
+  (0.3ms) ROLLBACK
2872
+  (0.2ms) BEGIN
2873
+  (0.2ms) ROLLBACK
2874
+  (0.1ms) BEGIN
2875
+  (0.4ms) ROLLBACK
2876
+  (0.4ms) BEGIN
2877
+  (0.3ms) ROLLBACK
2878
+  (0.1ms) BEGIN
2879
+  (0.3ms) ROLLBACK
2880
+  (0.3ms) BEGIN
2881
+  (0.4ms) ROLLBACK
2882
+  (0.2ms) BEGIN
2883
+  (0.3ms) ROLLBACK
2884
+  (0.2ms) BEGIN
2885
+  (0.2ms) ROLLBACK
2886
+  (0.1ms) BEGIN
2887
+  (0.1ms) ROLLBACK
2888
+  (0.1ms) BEGIN
2889
+  (0.1ms) ROLLBACK
2890
+  (0.1ms) BEGIN
2891
+  (0.2ms) ROLLBACK
2892
+  (0.1ms) BEGIN
2893
+  (0.1ms) ROLLBACK
2894
+  (0.1ms) BEGIN
2895
+  (0.1ms) ROLLBACK
2896
+  (0.1ms) BEGIN
2897
+  (0.1ms) ROLLBACK
2898
+  (0.1ms) BEGIN
2899
+  (0.1ms) ROLLBACK
2900
+  (0.1ms) BEGIN
2901
+  (0.2ms) ROLLBACK
2902
+  (0.2ms) BEGIN
2903
+  (0.1ms) ROLLBACK
2904
+  (0.1ms) BEGIN
2905
+  (0.2ms) ROLLBACK
2906
+  (0.2ms) BEGIN
2907
+  (0.2ms) ROLLBACK
2908
+  (0.2ms) BEGIN
2909
+  (0.1ms) ROLLBACK
2910
+  (0.1ms) BEGIN
2911
+  (0.2ms) ROLLBACK
2912
+  (0.2ms) BEGIN
2913
+  (0.2ms) ROLLBACK
2914
+  (0.1ms) BEGIN
2915
+  (0.4ms) ROLLBACK
2916
+  (0.1ms) BEGIN
2917
+  (0.2ms) ROLLBACK
2918
+  (0.2ms) BEGIN
2919
+  (0.2ms) ROLLBACK
2920
+  (0.1ms) BEGIN
2921
+  (0.1ms) ROLLBACK
2922
+  (0.1ms) BEGIN
2923
+  (0.2ms) ROLLBACK
2924
+  (0.3ms) BEGIN
2925
+  (0.2ms) ROLLBACK
2926
+  (0.2ms) BEGIN
2927
+  (0.2ms) ROLLBACK
2928
+  (0.1ms) BEGIN
2929
+  (0.2ms) ROLLBACK
2930
+  (0.2ms) BEGIN
2931
+  (0.9ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%3012-03-19%' OR birth = '3012-03-19')) OR ((name ILIKE '%luke%')))
2932
+ Person Load (0.6ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%3012-03-19%' OR birth = '3012-03-19')) OR ((name ILIKE '%luke%')))
2933
+  (0.2ms) ROLLBACK
2934
+  (0.2ms) BEGIN
2935
+  (0.1ms) ROLLBACK
2936
+  (0.1ms) BEGIN
2937
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%3012-03-19%' OR birth = '3012-03-19')))
2938
+ Person Load (0.5ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%3012-03-19%' OR birth = '3012-03-19'))) LIMIT 1
2939
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%3032-03-19%' OR birth = '3032-03-19')))
2940
+ Person Load (0.5ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%3032-03-19%' OR birth = '3032-03-19'))) LIMIT 1
2941
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%2012-03-19%' OR birth = '2012-03-19')))
2942
+  (0.1ms) ROLLBACK
2943
+  (0.2ms) BEGIN
2944
+  (0.5ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%obi@%' OR email ILIKE '%obi@%')))
2945
+ Person Load (0.4ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%obi@%' OR email ILIKE '%obi@%'))) LIMIT 1
2946
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%@sw.com%' OR email ILIKE '%@sw.com%')))
2947
+ Person Load (0.4ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%@sw.com%' OR email ILIKE '%@sw.com%')))
2948
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%nobody@sw.com%' OR email ILIKE '%nobody@sw.com%')))
2949
+  (0.1ms) ROLLBACK
2950
+  (0.1ms) BEGIN
2951
+  (0.6ms) SELECT COUNT(*) FROM "articles" WHERE (((name ILIKE '%1%' OR code = '1')))
2952
+ Article Load (0.4ms) SELECT "articles".* FROM "articles" WHERE (((name ILIKE '%1%' OR code = '1'))) LIMIT 1
2953
+  (0.5ms) SELECT COUNT(*) FROM "articles" WHERE (((name ILIKE '%100%' OR code = '100')))
2954
+  (0.2ms) ROLLBACK
2955
+  (0.2ms) BEGIN
2956
+  (0.2ms) ROLLBACK
2957
+  (0.1ms) BEGIN
2958
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%obi%')))
2959
+ Person Load (0.4ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%obi%'))) LIMIT 1
2960
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%skywalker%')))
2961
+ Person Load (0.4ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%skywalker%')))
2962
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%anakin%') AND (name ILIKE '%skywalker%')))
2963
+ Person Load (0.4ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%anakin%') AND (name ILIKE '%skywalker%'))) LIMIT 1
2964
+  (0.5ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%anakin%')) OR ((name ILIKE '%skywalker%')))
2965
+ Person Load (0.4ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%anakin%')) OR ((name ILIKE '%skywalker%')))
2966
+  (0.5ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%nobody%')))
2967
+  (1.3ms) ROLLBACK
2968
+  (0.2ms) BEGIN
2969
+  (0.1ms) ROLLBACK
2970
+  (0.1ms) BEGIN
2971
+  (0.2ms) ROLLBACK
2972
+  (0.1ms) BEGIN
2973
+  (0.2ms) ROLLBACK
2974
+  (0.1ms) BEGIN
2975
+  (0.9ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%3012-03-19%' OR birth = '3012-03-19')) OR ((name ILIKE '%luke%')))
2976
+ Person Load (0.5ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%3012-03-19%' OR birth = '3012-03-19')) OR ((name ILIKE '%luke%')))
2977
+  (0.2ms) ROLLBACK
2978
+  (0.2ms) BEGIN
2979
+  (0.1ms) ROLLBACK
2980
+  (0.1ms) BEGIN
2981
+  (0.5ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%3012-03-19%' OR birth = '3012-03-19')))
2982
+ Person Load (0.5ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%3012-03-19%' OR birth = '3012-03-19'))) LIMIT 1
2983
+  (0.5ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%3032-03-19%' OR birth = '3032-03-19')))
2984
+ Person Load (0.5ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%3032-03-19%' OR birth = '3032-03-19'))) LIMIT 1
2985
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%2012-03-19%' OR birth = '2012-03-19')))
2986
+  (0.1ms) ROLLBACK
2987
+  (0.2ms) BEGIN
2988
+  (0.5ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%obi@%' OR email ILIKE '%obi@%')))
2989
+ Person Load (0.4ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%obi@%' OR email ILIKE '%obi@%'))) LIMIT 1
2990
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%@sw.com%' OR email ILIKE '%@sw.com%')))
2991
+ Person Load (0.5ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%@sw.com%' OR email ILIKE '%@sw.com%')))
2992
+  (0.5ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%nobody@sw.com%' OR email ILIKE '%nobody@sw.com%')))
2993
+  (0.1ms) ROLLBACK
2994
+  (0.1ms) BEGIN
2995
+  (0.7ms) SELECT COUNT(*) FROM "articles" WHERE (((name ILIKE '%1%' OR code = '1')))
2996
+ Article Load (0.4ms) SELECT "articles".* FROM "articles" WHERE (((name ILIKE '%1%' OR code = '1'))) LIMIT 1
2997
+  (0.4ms) SELECT COUNT(*) FROM "articles" WHERE (((name ILIKE '%100%' OR code = '100')))
2998
+  (0.2ms) ROLLBACK
2999
+  (0.2ms) BEGIN
3000
+  (0.2ms) ROLLBACK
3001
+  (0.1ms) BEGIN
3002
+  (0.5ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%obi%')))
3003
+ Person Load (0.5ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%obi%'))) LIMIT 1
3004
+  (0.5ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%skywalker%')))
3005
+ Person Load (0.4ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%skywalker%')))
3006
+  (0.5ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%anakin%') AND (name ILIKE '%skywalker%')))
3007
+ Person Load (0.4ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%anakin%') AND (name ILIKE '%skywalker%'))) LIMIT 1
3008
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%anakin%')) OR ((name ILIKE '%skywalker%')))
3009
+ Person Load (0.4ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%anakin%')) OR ((name ILIKE '%skywalker%')))
3010
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%nobody%')))
3011
+  (0.1ms) ROLLBACK
3012
+  (0.2ms) BEGIN
3013
+  (0.2ms) ROLLBACK
3014
+  (0.1ms) BEGIN
3015
+  (0.2ms) ROLLBACK
3016
+  (0.1ms) BEGIN
3017
+  (0.2ms) ROLLBACK
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: magick_columns
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -69,12 +69,13 @@ files:
69
69
  - lib/tasks/magick_columns_tasks.rake
70
70
  - lib/magick_columns/railtie.rb
71
71
  - lib/magick_columns/rules.rb
72
- - lib/magick_columns/locale/es.yml
73
- - lib/magick_columns/locale/en.yml
72
+ - lib/magick_columns/i18n.rb
74
73
  - lib/magick_columns/active_record.rb
75
74
  - lib/magick_columns/defaults.rb
76
75
  - lib/magick_columns/tokenizer.rb
77
76
  - lib/magick_columns/version.rb
77
+ - lib/magick_columns/locales/es.yml
78
+ - lib/magick_columns/locales/en.yml
78
79
  - lib/magick_columns.rb
79
80
  - MIT-LICENSE
80
81
  - Rakefile
@@ -135,7 +136,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
135
136
  version: '0'
136
137
  segments:
137
138
  - 0
138
- hash: 165541859099290878
139
+ hash: -419900903376102177
139
140
  required_rubygems_version: !ruby/object:Gem::Requirement
140
141
  none: false
141
142
  requirements:
@@ -144,7 +145,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
144
145
  version: '0'
145
146
  segments:
146
147
  - 0
147
- hash: 165541859099290878
148
+ hash: -419900903376102177
148
149
  requirements: []
149
150
  rubyforge_project:
150
151
  rubygems_version: 1.8.19